From 2f528ec1c1c246a7195b31e391ecedda99e9243a Mon Sep 17 00:00:00 2001 From: Max Usachev Date: Thu, 17 Jun 2010 09:07:42 +0300 Subject: [PATCH] adapted code for using renderers --- controller.py | 4 ++-- factory.py | 5 +++-- meabook | 8 ++++++-- ui/hildon_ui.py | 8 ++++---- ui/ui.py | 3 ++- 5 files changed, 17 insertions(+), 11 deletions(-) diff --git a/controller.py b/controller.py index e160e8f..8c5da4f 100644 --- a/controller.py +++ b/controller.py @@ -8,10 +8,10 @@ _ = gettext.gettext class MeabookController: - def __init__(self, model, view_class, config): + def __init__(self, model, view_class, renderer_class, config): self.config = config self.model = model - self.view = view_class(self, self.config) + self.view = view_class(self, renderer_class(), self.config) self.view.start() def stop(self): diff --git a/factory.py b/factory.py index 20775ff..a55e0f9 100644 --- a/factory.py +++ b/factory.py @@ -4,8 +4,9 @@ UI factory def app_factory(interface=None): if not interface or interface == 'hildon': - from ui.hildon_ui import HildonMeabook - return HildonMeabook + from meabook.ui.hildon_ui import HildonMeabook + from meabook.renderers.hildon_renderer import HildonRenderer + return HildonMeabook, HildonRenderer elif interface == 'text': from ui.text_ui import TextMeabook return TextMeabook diff --git a/meabook b/meabook index d4fa9d5..bcaceb7 100755 --- a/meabook +++ b/meabook @@ -2,6 +2,10 @@ import os import sys +import gettext +gettext.bindtextdomain('meabook', '/usr/share/locale/ru_RU/LC_MESSAGES') +gettext.textdomain('meabook') +_ = gettext.gettext from optparse import OptionParser # add meabook directory to Python path in debug mode @@ -44,9 +48,9 @@ def main(argv): basedir = os.path.join(os.environ['HOME'], '.meabook') model = SQLite(basedir) - view = app_factory(opts.ui) + view, renderer = app_factory(opts.ui) config = MeabookConfig(basedir, model) - controller = MeabookController(model, view, config) + controller = MeabookController(model, view, renderer, config) if __name__ == "__main__": diff --git a/ui/hildon_ui.py b/ui/hildon_ui.py index 25e7a1c..918fb66 100644 --- a/ui/hildon_ui.py +++ b/ui/hildon_ui.py @@ -22,8 +22,8 @@ def create_button(title, value): class HildonMeabook(MeabookUI): - def __init__(self, controller, config): - MeabookUI.__init__(self, controller, config) + def __init__(self, controller, renderer, config): + MeabookUI.__init__(self, controller, renderer, config) self.handler = None self.window = hildon.StackableWindow() self.window.set_title(_('Meabook')) @@ -89,7 +89,7 @@ class HildonMeabook(MeabookUI): model.append((name, internal_name, item_type)) if selector.get_num_columns(): selector.remove_column(0) - selector.append_text_column(model, True) + selector.append_text_column(model, False) selector.unselect_all(0) # reconnect callback @@ -118,7 +118,7 @@ class HildonMeabook(MeabookUI): pannable_area = hildon.PannableArea() vbox = gtk.VBox() for fname, fvalue in self.controller.get_item(entry_id): - button = create_button(_(fname) , fvalue) + button = self.renderer.render_button(_(fname) , fvalue, fname) vbox.pack_start(button, expand=False) pannable_area.add_with_viewport(vbox) child = window.get_child() diff --git a/ui/ui.py b/ui/ui.py index 8b3cd4c..4f97ea7 100644 --- a/ui/ui.py +++ b/ui/ui.py @@ -3,8 +3,9 @@ General Meabook UI """ class MeabookUI: - def __init__(self, controller, config): + def __init__(self, controller, renderer, config): self.config = config + self.renderer = renderer self.controller = controller def start(self): -- 1.7.9.5