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

@ -47,12 +47,16 @@ class Library:
self.temporary_playlist = playlist
def load_playlist_views(self):
# create views for each dock and playlist
for library_dock in self.library_docks:
playlist_tabs: QTabWidget = library_dock.library_widget.playlist_tabs
playlist_tabs.playlists = {}
# create view for each playlist
for playlist in self.playlists:
if id(library_dock) in playlist.views: # view already exists
continue
playlist_view = PlaylistView(playlist, library_dock)
playlist_tabs.addTab(playlist_view, playlist.title)
@ -87,3 +91,23 @@ class Library:
playlist_tabs.addTab(playlist_view, playlist.title)
def replace_temporary_playlist(self, replace: Playlist):
self.temporary_playlist.delete()
if self.temporary_playlist in self.playlists:
self.playlists.remove(self.temporary_playlist)
if not replace in self.playlists:
self.playlists.append(replace)
self.temporary_playlist = replace
def open_tracks(self, tracks: list[str]):
playlist = Playlist(self.app, "Temporary Playlist", tracks)
self.replace_temporary_playlist(playlist)
self.load_playlist_views()
playlist.load()