def on_add(self, widget): """ Add all selected songs to playlist. """ song_ids = [song_id for song_id in self.__song_ids] dialog = AddToPlaylistDialog(self.__playlists, song_ids) response = dialog.run() if response == Gtk.ResponseType.OK: playlist_id = dialog.playlist_id if playlist_id: songs_ids = self.__client.add_playlist_songs(playlist_id, song_ids) songs = self.__client.get_song_info(song_ids) songs.reverse() self.__playlists[playlist_id].add(songs) elif response == Gtk.ResponseType.CANCEL: pass dialog.destroy()
""" Add songs to a online playlist. """ shell = self.object source = shell.props.selected_page try: skip_id = source.playlist_id except Exception, e: skip_id = "" entries = source.get_entry_view().get_selected_entries() if not entries: return False song_ids = [int(entry.get_string(RB.RhythmDBPropType.LOCATION)[6:]) \ for entry in entries] dialog = AddToPlaylistDialog(self.playlists, song_ids, str(skip_id)) response = dialog.run() if response == Gtk.ResponseType.OK: playlist_id = dialog.playlist_id if playlist_id: songs_ids = self.client.add_playlist_songs( playlist_id, song_ids ) songs = self.client.get_song_info(song_ids) songs.reverse() self.playlists[playlist_id].add(songs) elif response == Gtk.ResponseType.CANCEL: pass dialog.destroy() def __action_toggle_hq(self, widget): self.settings["hq"] = widget.get_active()