From 0101cf174cf3eb17aa618fa60fd84da2376be094 Mon Sep 17 00:00:00 2001 From: The Wobbler Date: Mon, 3 Mar 2025 16:21:43 +0100 Subject: [PATCH] Added "Open Playlist" option to the menubar. --- wobuzz/library/library.py | 8 ++++---- wobuzz/player/playlist.py | 2 +- wobuzz/ui/main_window.py | 3 ++- wobuzz/ui/popups.py | 8 ++++++-- 4 files changed, 13 insertions(+), 8 deletions(-) diff --git a/wobuzz/library/library.py b/wobuzz/library/library.py index e89c95a..6e4eb1d 100644 --- a/wobuzz/library/library.py +++ b/wobuzz/library/library.py @@ -95,9 +95,6 @@ class Library: if self.temporary_playlist is not None: 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) @@ -112,7 +109,7 @@ class Library: playlist.load() - def import_playlist(self, playlist_path: str): + def open_playlist(self, playlist_path: str): playlist = Playlist(self.app, "Temporary Playlist", playlist_path) self.replace_temporary_playlist(playlist) @@ -121,3 +118,6 @@ class Library: playlist.load() + def import_playlist(self, playlist_path: str): + self.open_playlist(playlist_path) + diff --git a/wobuzz/player/playlist.py b/wobuzz/player/playlist.py index 8f07228..b1d4228 100644 --- a/wobuzz/player/playlist.py +++ b/wobuzz/player/playlist.py @@ -317,7 +317,7 @@ class Playlist: track.delete_items(self) # make sure the playlist is not referenced as the temporary playlist - if self == self.app.library.temporary_playlist: + if self is self.app.library.temporary_playlist: self.app.library.temporary_playlist = None self.app.utils.unique_names.remove(self.title) diff --git a/wobuzz/ui/main_window.py b/wobuzz/ui/main_window.py index a36d576..f3036bb 100644 --- a/wobuzz/ui/main_window.py +++ b/wobuzz/ui/main_window.py @@ -32,7 +32,8 @@ class MainWindow(QMainWindow): self.playlist_menu = QMenu("&Playlist", self.menu_bar) self.menu_bar.addMenu(self.playlist_menu) - self.import_playlist_action = self.playlist_menu.addAction("&Import Playlists") + self.open_playlist_action = self.playlist_menu.addAction("&Open Playlist") + self.import_playlist_action = self.playlist_menu.addAction("&Import Playlist") self.edit_menu = QMenu("&Edit", self.menu_bar) self.menu_bar.addMenu(self.edit_menu) diff --git a/wobuzz/ui/popups.py b/wobuzz/ui/popups.py index a30d539..1b54bb4 100644 --- a/wobuzz/ui/popups.py +++ b/wobuzz/ui/popups.py @@ -22,6 +22,7 @@ class Popups: 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): @@ -41,8 +42,11 @@ class Popups: def import_tracks(self): self.open_tracks() # placeholder - def import_playlist(self): + def open_playlist(self): playlist_path = self.select_playlist_file() if playlist_path is not None and not playlist_path == "": - self.app.library.import_playlist(playlist_path) \ No newline at end of file + self.app.library.open_playlist(playlist_path) + + def import_playlist(self): + self.open_playlist() # placeholder