X-Git-Url: http://git.maemo.org/git/?p=jamaendo;a=blobdiff_plain;f=jamaui%2Fplayerwindow.py;h=57ea13f0208821ef3cce878ba08a6136c7e7bcf7;hp=65fe075124da0ad0d8b1d2dea8015a79bc441d2d;hb=44b759cfcfb80d94ddac5ea11302a6f94cb307b4;hpb=d2b935f99c20e44a06663f0bf2c696b2ff911582 diff --git a/jamaui/playerwindow.py b/jamaui/playerwindow.py index 65fe075..57ea13f 100644 --- a/jamaui/playerwindow.py +++ b/jamaui/playerwindow.py @@ -23,27 +23,15 @@ # import gtk import hildon -import jamaendo from settings import settings +from postoffice import postoffice from player import Playlist, the_player -_player_window = None - -def album_cover_receiver(albumid, size, cover): - if _player_window: - playing = _player_window.get_album_id() - if int(playing) == int(albumid): - _player_window.set_album_cover(cover) - class PlayerWindow(hildon.StackableWindow): def __init__(self, playlist=None): hildon.StackableWindow.__init__(self) self.set_title("jamaendo") - global _player_window - _player_window = self - - self.connect('hide', self.on_hide) self.connect('destroy', self.on_destroy) self.playlist = Playlist(playlist) @@ -54,7 +42,6 @@ class PlayerWindow(hildon.StackableWindow): hbox = gtk.HBox() self.cover = gtk.Image() - self.cover.set_size_request(200, 200) self.cover.set_from_stock(gtk.STOCK_CDROM, gtk.ICON_SIZE_DIALOG) vbox2 = gtk.VBox() @@ -103,6 +90,8 @@ class PlayerWindow(hildon.StackableWindow): hbox.pack_start(self.volume, False) self.add(vbox) + postoffice.connect('album-cover', self.set_album_cover) + print "Created player window, playlist: %s" % (self.playlist) def get_album_id(self): @@ -110,15 +99,8 @@ class PlayerWindow(hildon.StackableWindow): return self.playlist.current().album_id return None - def on_hide(self, wnd): - print "Hiding player window" - def on_destroy(self, wnd): - print "Destroying player window" - global _player_window - _player_window = None - if self.player: - self.player.stop() + postoffice.disconnect('album-cover', self.set_album_cover) def add_stock_button(self, btns, stock, cb): btn = hildon.GtkButton(gtk.HILDON_SIZE_FINGER_HEIGHT) @@ -151,13 +133,17 @@ class PlayerWindow(hildon.StackableWindow): print "current:", item self.set_labels(item.name, item.artist_name, item.album_name, self.playlist.current_index(), self.playlist.size()) - jamaendo.get_album_cover_async(album_cover_receiver, int(item.album_id), size=200) + postoffice.notify('request-album-cover', int(item.album_id), 300) + #jamaendo.get_album_cover_async(album_cover_receiver, int(item.album_id), size=200) #coverfile = jamaendo.get_album_cover(int(item.album_id), size=200) #print "coverfile:", coverfile #self.cover.set_from_file(coverfile) - def set_album_cover(self, cover): - self.cover.set_from_file(cover) + def set_album_cover(self, albumid, size, cover): + if size == 300: + playing = self.get_album_id() + if int(playing) == int(albumid): + self.cover.set_from_file(cover) def play_tracks(self, tracks): self.playlist = Playlist(tracks)