+ postoffice.connect('album-cover', self, self.set_album_cover)
+ postoffice.connect(['next', 'prev', 'play', 'pause', 'stop'], self, self.on_state_changed)
+
+ self.on_state_changed()
+
+ self.create_menu()
+
+ def create_menu(self):
+ self.menu = hildon.AppMenu()
+
+ def to_artist(*args):
+ from showartist import ShowArtist
+ track = self.playlist.current()
+ artist = jamaendo.get_artist(int(track.artist_id))
+ wnd = ShowArtist(artist)
+ wnd.show_all()
+ def to_album(*args):
+ from showalbum import ShowAlbum
+ track = self.playlist.current()
+ album = jamaendo.get_album(int(track.album_id))
+ wnd = ShowAlbum(album)
+ wnd.show_all()
+
+ b = hildon.GtkButton(gtk.HILDON_SIZE_AUTO)
+ b.set_label("Artist")
+ b.connect("clicked", to_artist)
+ self.menu.append(b)
+
+ b = hildon.GtkButton(gtk.HILDON_SIZE_AUTO)
+ b.set_label("Album")
+ b.connect("clicked", to_album)
+ self.menu.append(b)
+
+ b = hildon.GtkButton(gtk.HILDON_SIZE_AUTO)
+ b.set_label("Add to playlist")
+ b.connect("clicked", self.on_add_to_playlist)
+ self.menu.append(b)
+
+ self.menu.show_all()
+ self.set_app_menu(self.menu)
+
+ def on_state_changed(self, *args):
+ self.update_state()
+ self.update_play_button()
+
+ if self.player.playing():
+ self.start_position_timer()
+ else:
+ self.stop_position_timer()
+