Wobuzz/wobuzz/ui/popups.py

55 lines
2.1 KiB
Python

#!/usr/bin/python3
from PyQt6.QtWidgets import QFileDialog
class Popups:
def __init__(self, app, gui):
self.app = app
self.gui = gui
self.window = gui.window
self.audio_file_selector = QFileDialog(self.window, "Select Audio Files")
self.audio_file_selector.setFileMode(QFileDialog.FileMode.ExistingFiles)
self.audio_file_selector.setNameFilters(["Audio Files (*.flac *.wav *.mp3 *.ogg *.opus)", "Any (*)"])
self.audio_file_selector.setViewMode(QFileDialog.ViewMode.List)
self.playlist_file_selector = QFileDialog(self.window, "Select Playlist")
self.playlist_file_selector.setFileMode(QFileDialog.FileMode.ExistingFile)
self.playlist_file_selector.setNameFilters(["Playlists (*.wbz.m3u *.m3u)", "Any (*)"])
self.playlist_file_selector.setViewMode(QFileDialog.ViewMode.List)
self.window.open_track_action.triggered.connect(self.open_tracks)
self.window.import_track_action.triggered.connect(self.import_tracks)
self.window.open_playlist_action.triggered.connect(self.open_playlist)
self.window.import_playlist_action.triggered.connect(self.import_playlist)
def select_audio_files(self):
if self.audio_file_selector.exec():
return self.audio_file_selector.selectedFiles()
def select_playlist_file(self):
if self.playlist_file_selector.exec():
return self.playlist_file_selector.selectedFiles()[0]
def open_tracks(self):
files = self.select_audio_files()
if files is not None and not files == []:
self.app.library.open_tracks(files)
def import_tracks(self):
files = self.select_audio_files()
if files is not None and not files == []:
self.app.library.import_tracks(files)
def open_playlist(self):
playlist_path = self.select_playlist_file()
if playlist_path is not None and not playlist_path == "":
self.app.library.open_playlist(playlist_path)
def import_playlist(self):
self.open_playlist() # placeholder