From 798ef20a72676ba39b20001b8109516385e4fde8 Mon Sep 17 00:00:00 2001 From: Anna Schumaker Date: Thu, 9 Dec 2021 19:25:16 -0500 Subject: [PATCH] playlist: Give the playlist panel an add_selected_tracks() function So we can have all the add track functionality in one place that also allows for keyboard presses to work. Signed-off-by: Anna Schumaker --- playlist/__init__.py | 13 +++++++++++++ sidebar/__init__.py | 6 +----- 2 files changed, 14 insertions(+), 5 deletions(-) diff --git a/playlist/__init__.py b/playlist/__init__.py index 68989ad..c2bb871 100644 --- a/playlist/__init__.py +++ b/playlist/__init__.py @@ -43,6 +43,12 @@ class Panel(Gtk.Box): for track in self.selected_tracks(): playlist.remove_track(track) return True + elif name == "f": + self.add_selected_tracks(db.user.Table.find("Favorites")) + return True + elif name == "q": + self.add_selected_tracks(db.user.Table.find("Queued Tracks")) + return True return False def jump_clicked(self, button): @@ -52,3 +58,10 @@ class Panel(Gtk.Box): def selected_tracks(self): for track in self.window.selected_tracks(): yield track + + def add_selected_tracks(self, plist): + for track in self.selected_tracks(): + plist.add_track(track) + if plist == db.user.Table.find("Queued Tracks"): + audio.Player.set_playlist(plist) + db.sql.commit() diff --git a/sidebar/__init__.py b/sidebar/__init__.py index 67546e9..14e0cec 100644 --- a/sidebar/__init__.py +++ b/sidebar/__init__.py @@ -24,8 +24,4 @@ class Sidebar(Gtk.Box): def add_to_playlist(self, button, playlist): if playlist.can_add_remove_tracks(): - for track in self.panel.selected_tracks(): - playlist.add_track(track) - if playlist == db.user.Table.find("Queued Tracks"): - audio.Player.set_playlist(playlist) - db.sql.commit() + self.panel.add_selected_tracks(playlist)