Пример #1
0
 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()
    def __action_add_to_playlist(self, widget):
        """ 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):