Implemented loading of tracks via the window's top menubar.

This commit is contained in:
The Wobbler 2025-02-28 17:28:14 +01:00
parent 66ee7d5af6
commit a9f07f0716
8 changed files with 73 additions and 28 deletions

View file

@ -1,7 +1,7 @@
#!/usr/bin/python3
from PyQt6.QtCore import Qt
from PyQt6.QtWidgets import QDockWidget
from PyQt6.QtWidgets import QDockWidget, QFileDialog
from .ui.main_window import MainWindow
@ -11,7 +11,7 @@ class GUI:
self.dropped = []
self.window = MainWindow(app)
self.window = MainWindow(app, self)
self.settings = self.window.settings
self.track_control = self.window.track_control
self.process_dock = self.window.process_dock
@ -27,9 +27,14 @@ class GUI:
if self.app.settings.window_maximized:
self.window.showMaximized()
elif not self.app.settings.window_size is None:
elif self.app.settings.window_size is not None:
self.window.resize(*self.app.settings.window_size)
self.audio_file_selector = QFileDialog(self.window, "Select Audio File")
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.connect()
self.window.show()
@ -67,3 +72,16 @@ class GUI:
self.track_control.on_playstate_update()
self.track_info.update_info()
def select_audio_files(self):
if self.audio_file_selector.exec():
return self.audio_file_selector.selectedFiles()
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):
self.open_tracks() # placeholder