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/'
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
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)