X-Git-Url: http://git.maemo.org/git/?p=jamaendo;a=blobdiff_plain;f=jamaui%2Fshowalbum.py;h=a13ffe89ff4d258583ca7f4917599e46515ae7ba;hp=43256221f8e94793060c25ee9b8bd45a2e05a088;hb=448d0e465aa5aab0be8c7dab7bfbdaf05be181ac;hpb=facd2a5710fb05ac80d55ed8e1af8184fb496c02 diff --git a/jamaui/showalbum.py b/jamaui/showalbum.py index 4325622..a13ffe8 100644 --- a/jamaui/showalbum.py +++ b/jamaui/showalbum.py @@ -25,12 +25,15 @@ import gtk import cgi import hildon import jamaendo +from player import Playlist from playerwindow import open_playerwindow from settings import settings from postoffice import postoffice import util import logging from albumlist import TrackList +from playlists import add_to_playlist + import webbrowser log = logging.getLogger(__name__) @@ -55,10 +58,6 @@ class ShowAlbum(hildon.StackableWindow): self.download = self.make_imagebutton('download', self.on_download) self.favorite = self.make_imagebutton('favorite', self.on_favorite) self.license = self.make_imagebutton('license', self.on_license) - self.playbtn = hildon.GtkButton(gtk.HILDON_SIZE_FINGER_HEIGHT) - self.playbtn.set_label("Play album") - self.playbtn.set_border_width(0) - self.playbtn.connect('clicked', self.on_play) vbox2 = gtk.VBox() self.albumname = gtk.Label() @@ -68,13 +67,13 @@ class ShowAlbum(hildon.StackableWindow): self.tracks = TrackList(numbers=True) self.tracks.connect('row-activated', self.row_activated) - for track in jamaendo.get_tracks(album.ID): + self.tracklist = jamaendo.get_tracks(album.ID) + for track in self.tracklist: self.tracks.add_track(track) top_hbox.pack_start(vbox1, False) top_hbox.pack_start(vbox2, True) vbox1.pack_start(self.cover, True) - vbox1.pack_start(self.playbtn, False) vbox1.pack_start(self.bbox, False) self.bbox.add(self.goto_artist) self.bbox.add(self.download) @@ -100,6 +99,10 @@ class ShowAlbum(hildon.StackableWindow): player.set_label("Open player") player.connect("clicked", on_player) self.menu.append(player) + player = hildon.GtkButton(gtk.HILDON_SIZE_AUTO) + player.set_label("Add to playlist") + player.connect("clicked", self.on_add_to_playlist) + self.menu.append(player) self.menu.show_all() self.set_app_menu(self.menu) @@ -110,6 +113,10 @@ class ShowAlbum(hildon.StackableWindow): if albumid == self.album.ID and size == 300: self.cover.set_from_file(cover) + + def on_add_to_playlist(self, button, user_data=None): + add_to_playlist(self, self.tracklist) + def make_imagebutton(self, name, cb): btn = hildon.GtkButton(gtk.HILDON_SIZE_AUTO) btn.set_relief(gtk.RELIEF_NONE) @@ -149,8 +156,10 @@ class ShowAlbum(hildon.StackableWindow): def row_activated(self, treeview, path, view_column): _id = self.tracks.get_track_id(path) - track = jamaendo.get_track(_id) - self.open_item(track) + playlist = Playlist(self.tracklist) + playlist.jump_to(_id) + wnd = open_playerwindow() + wnd.play_tracks(playlist) def open_item(self, item): if isinstance(item, jamaendo.Album):