projects
/
mussorgsky
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
a820f9f
)
Retrieving album art in a callback
author
Ivan Frade
<ivan.frade@gmail.com>
Tue, 25 Aug 2009 18:56:59 +0000
(21:56 +0300)
committer
Ivan Frade
<ivan.frade@gmail.com>
Tue, 25 Aug 2009 18:56:59 +0000
(21:56 +0300)
src/aa_selection_dialog.py
patch
|
blob
|
history
diff --git
a/src/aa_selection_dialog.py
b/src/aa_selection_dialog.py
index
aaa1910
..
47086d1
100644
(file)
--- a/
src/aa_selection_dialog.py
+++ b/
src/aa_selection_dialog.py
@@
-1,5
+1,6
@@
import hildon
import gtk
import hildon
import gtk
+import gobject
from album_art import MussorgskyAlbumArt
class AlbumArtSelectionDialog (gtk.Dialog):
from album_art import MussorgskyAlbumArt
class AlbumArtSelectionDialog (gtk.Dialog):
@@
-22,11
+23,11
@@
class AlbumArtSelectionDialog (gtk.Dialog):
self.downloader = downloader
else:
self.downloader = MussorgskyAlbumArt ()
self.downloader = downloader
else:
self.downloader = MussorgskyAlbumArt ()
- self.paths = self.downloader.get_alternatives (album, artist, 4)
+
+ gobject.idle_add (self.__get_alternatives_async)
self.selection_img = None
self.selection_thumb = None
self.selection_img = None
self.selection_thumb = None
- self.__populate (self.paths)
-
+ hildon.hildon_gtk_window_set_progress_indicator (self, 1)
def __create_view (self, size):
hbox = gtk.HBox (homogeneous=True)
def __create_view (self, size):
hbox = gtk.HBox (homogeneous=True)
@@
-48,6
+49,11
@@
class AlbumArtSelectionDialog (gtk.Dialog):
self.vbox.add (hbox)
self.vbox.add (hbox)
+ def __get_alternatives_async (self):
+ self.paths = self.downloader.get_alternatives (self.album, self.artist, 4)
+ self.__populate (self.paths)
+ hildon.hildon_gtk_window_set_progress_indicator (self, 0)
+
def __populate (self, paths):
for i in range (0, self.size):
def __populate (self, paths):
for i in range (0, self.size):
@@
-70,17
+76,19
@@
class AlbumArtSelectionDialog (gtk.Dialog):
if __name__ == "__main__":
if __name__ == "__main__":
+ import time
class MockDownloader:
def __init__ (self):
self.alt = ["../hendrix.jpeg", "../hoover.jpeg", "../dylan.jpeg"]
def get_alternatives (self, album, artist, amount):
class MockDownloader:
def __init__ (self):
self.alt = ["../hendrix.jpeg", "../hoover.jpeg", "../dylan.jpeg"]
def get_alternatives (self, album, artist, amount):
+ time.sleep (5)
return self.alt [0:amount]
def save_alternative (self, artist, album, img):
return ("/home/user/.cache/media-art/" + img, "/home/user/.thumbnails/normal/" + img)
def clicked_button (self):
return self.alt [0:amount]
def save_alternative (self, artist, album, img):
return ("/home/user/.cache/media-art/" + img, "/home/user/.thumbnails/normal/" + img)
def clicked_button (self):
- aadd = AlbumArtSelectionDialog (w, "rory gallagher", "irish tour", 4, MockDownloader (ALTERNATIVES))
+ aadd = AlbumArtSelectionDialog (w, "rory gallagher", "irish tour", 4, MockDownloader ())
aadd.show_all ()
response = aadd.run ()
if response == gtk.RESPONSE_CLOSE or response == gtk.RESPONSE_DELETE_EVENT or response == gtk.RESPONSE_REJECT:
aadd.show_all ()
response = aadd.run ()
if response == gtk.RESPONSE_CLOSE or response == gtk.RESPONSE_DELETE_EVENT or response == gtk.RESPONSE_REJECT: