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)