implemented getting avatar image from model
authorMax Usachev <maxusachev@gmail.com>
Thu, 17 Jun 2010 09:22:15 +0000 (12:22 +0300)
committerMax Usachev <maxusachev@gmail.com>
Thu, 17 Jun 2010 09:46:44 +0000 (12:46 +0300)
renderers/hildon_renderer.py
ui/hildon_ui.py

index a99c69a..454f50d 100644 (file)
@@ -4,7 +4,9 @@ Hildon renderer
 
 import os
 import gtk
+import gtk.gdk
 import hildon
+from base64 import b64decode as decode_image
 
 ICONS_48_PATH = '/usr/share/icons/hicolor/48x48/hildon/'
 ICONS_144_PATH = '/usr/share/icons/hicolor/144x144/hildon/'
@@ -50,6 +52,15 @@ class HildonRenderer:
     def render_image(self, entry):
         """Sets entry image."""
 
-        fname = os.path.join(ICONS_144_PATH, entry.get('image', \
-            'general_default_avatar.png'))
-        return gtk.image_new_from_file(fname)
+        if not entry.has_key('image'):
+            fname  = os.path.join(ICONS_144_PATH, entry.get('image', \
+                'general_default_avatar.png'))
+            image = gtk.image_new_from_file(fname)
+        else:
+            pixbuf_loader = gtk.gdk.pixbuf_loader_new_with_mime_type( \
+                "image/png")
+            pixbuf_loader.write(decode_image(entry['image']))
+            pixbuf_loader.close()
+            image = gtk.image_new_from_pixbuf(pixbuf_loader.get_pixbuf().\
+                scale_simple(144,144,gtk.gdk.INTERP_BILINEAR))
+        return image
index ea9fd76..0a71ce7 100644 (file)
@@ -115,6 +115,7 @@ class HildonMeabook(MeabookUI):
         def show_settings_dialog(widget, parent, func1, func2, entry_id):
             dialog = ConfigurationDialog(self.controller, self.config)
             response = getattr(dialog, func1)(None, parent)
+            print response
             if response == gtk.RESPONSE_OK:
                 func2(parent, entry_id)