From: Max Usachev Date: Thu, 17 Jun 2010 06:06:47 +0000 (+0300) Subject: add renderer instance X-Git-Url: https://vcs.maemo.org/git/?p=meabook;a=commitdiff_plain;h=a58e99482c02ce7f107ae7051d1069909d9e5b80 add renderer instance --- diff --git a/renderers/__init__.py b/renderers/__init__.py new file mode 100644 index 0000000..b28b04f --- /dev/null +++ b/renderers/__init__.py @@ -0,0 +1,3 @@ + + + diff --git a/renderers/hildon_renderer.py b/renderers/hildon_renderer.py new file mode 100644 index 0000000..e56f952 --- /dev/null +++ b/renderers/hildon_renderer.py @@ -0,0 +1,49 @@ +""" +Hildon renderer +""" + +import os +import gtk +import hildon + +ICONS_PATH = '/usr/share/icons/hicolor/48x48/hildon/' + +class HildonRenderer: + 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_PATH, + self.fields_dict.get(field, 'general_business_card.png'))) + button.set_image(image) + return button +