From: tanya Date: Wed, 23 Jun 2010 13:49:14 +0000 (+0300) Subject: added files X-Git-Url: https://vcs.maemo.org/git/?p=meabook;a=commitdiff_plain;h=0fab976cad32b35dd1b0f3f482fcb42ada01eb82 added files --- diff --git a/renderers/diablo_renderer.py b/renderers/diablo_renderer.py new file mode 100644 index 0000000..e33c5f1 --- /dev/null +++ b/renderers/diablo_renderer.py @@ -0,0 +1,4 @@ +class DiabloRenderer: + + def __init__(self): + pass diff --git a/renderers/fremantle_renderer.py b/renderers/fremantle_renderer.py new file mode 100644 index 0000000..c014254 --- /dev/null +++ b/renderers/fremantle_renderer.py @@ -0,0 +1,64 @@ +""" +Fremantle 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/' + +class FremantleRenderer: + def __init__(self): + self.fields_dict = { + 'homePhone': 'general_call.png', + 'telephoneNumber': 'general_call.png', + 'internalPhone': 'general_call.png', + 'mobile': 'call_status_cellular.png', + 'mail': 'general_email.png', + 'dateOfBirth': 'calendar_birthday.png', + 'cn': 'general_default_avatar.png', + 'sn': 'general_default_avatar.png', + 'gecos': 'general_default_avatar.png', + 'givenName': 'general_default_avatar.png', + 'initials': 'general_default_avatar.png', + 'o': 'call_split_conference_call.png', + 'ou': 'call_split_conference_call.png', + 'uid': 'general_certificate_private_key.png', + 'uidNumber': 'general_certificate_private_key.png', + 'employeeNumber': 'general_certificate_private_key.png', + 'roomNumber': 'general_presence_home.png', + 'gender': 'camera_scene_mode_portrait.png', + 'title': 'general_certificate.png', + 'personalTitle': 'general_certificate.png'} + + def render_button(self, title, value, field=None): + """Set necessary image for field.""" + + button = hildon.Button(gtk.HILDON_SIZE_AUTO | \ + gtk.HILDON_SIZE_FINGER_HEIGHT, \ + hildon.BUTTON_ARRANGEMENT_VERTICAL, title, value) + button.set_style(hildon.BUTTON_STYLE_PICKER) + button.set_alignment(0, 0.5, 0, 0) + if field is not None: + image = gtk.image_new_from_file(os.path.join(ICONS_48_PATH, + self.fields_dict.get(field, 'general_business_card.png'))) + button.set_image(image) + return button + + def render_image(self, entry): + """Sets entry image.""" + + 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.PixbufLoader() + pixbuf_loader.write(entry['image']) + pixbuf_loader.close() + image = gtk.image_new_from_pixbuf(pixbuf_loader.get_pixbuf()) + return image