From 1d0dc24de1e0c5927ebcfa919d69fc85dfc604c6 Mon Sep 17 00:00:00 2001 From: Max Usachev Date: Thu, 17 Jun 2010 11:18:55 +0300 Subject: [PATCH] more UI work --- controller.py | 8 ++++---- ui/hildon_ui.py | 35 +++++++++++++++++------------------ 2 files changed, 21 insertions(+), 22 deletions(-) diff --git a/controller.py b/controller.py index 8c5da4f..3f1494d 100644 --- a/controller.py +++ b/controller.py @@ -24,7 +24,7 @@ class MeabookController: """Gets from model items with selected level.""" folders_list = list(self.get_all_folders(parent)) - files_list = [(fields['cn'], internal_name, 'fi') for internal_name, \ + files_list = [(fields['cn'], internal_name, 'f') for internal_name, \ fields in self.model.get_files(['cn'], parent).items()] return folders_list + files_list @@ -47,13 +47,13 @@ class MeabookController: def get_all_folders(self, parent=0): """Gets all filials.""" - return [(name, internal_name, 'fo') for name, internal_name in \ + return [(name, internal_name, 'd') for name, internal_name in \ self.model.get_folders(parent)] def get_all_subfolders(self): """Gets all departments.""" - return [(name, internal_name, 'fo') for name, internal_name in \ + return [(name, internal_name, 'd') for name, internal_name in \ self.model.get_folders()] def get_all_files(self): @@ -61,7 +61,7 @@ class MeabookController: # FIXME: read field names from Config files_dict = self.model.get_files(['cn']) - return [(files_dict[internal_name]['cn'], internal_name, 'file') for \ + return [(files_dict[internal_name]['cn'], internal_name, 'f') for \ internal_name in files_dict] def get_fields(self): diff --git a/ui/hildon_ui.py b/ui/hildon_ui.py index 3cdc6e1..99a00d2 100644 --- a/ui/hildon_ui.py +++ b/ui/hildon_ui.py @@ -21,6 +21,11 @@ def create_button(title, value): return button +def create_menu_button(title): + return hildon.Button(gtk.HILDON_SIZE_AUTO, \ + hildon.BUTTON_ARRANGEMENT_HORIZONTAL, title) + + class HildonMeabook(MeabookUI): def __init__(self, controller, renderer, config): MeabookUI.__init__(self, controller, renderer, config) @@ -31,12 +36,9 @@ class HildonMeabook(MeabookUI): # create menu buttons self.menu = hildon.AppMenu() - settings_button = hildon.Button(gtk.HILDON_SIZE_AUTO, \ - hildon.BUTTON_ARRANGEMENT_HORIZONTAL, _('Settings')) - about_button = hildon.Button(gtk.HILDON_SIZE_AUTO, \ - hildon.BUTTON_ARRANGEMENT_HORIZONTAL, _('About')) - import_button = hildon.Button(gtk.HILDON_SIZE_AUTO, \ - hildon.BUTTON_ARRANGEMENT_HORIZONTAL, _('Import')) + settings_button = create_menu_button(_('Settings')) + about_button = create_menu_button(_('About')) + import_button = create_menu_button(_('Import')) # create filter widgets and connect signals self.level1_filter = gtk.RadioButton(None, _('level1')) @@ -73,7 +75,8 @@ class HildonMeabook(MeabookUI): gtk.main_iteration(False) def _update_title(self, title): - self.window.set_title(title) + if title is not None: + self.window.set_title(title) def _set_selector_content(self, selector, handler, items): """Updates selector content.""" @@ -121,6 +124,7 @@ class HildonMeabook(MeabookUI): info_box = gtk.VBox() image_box = gtk.VBox() pannable_area = hildon.PannableArea() + pannable_area.set_property('mov-mode', hildon.MOVEMENT_MODE_BOTH) image = self.renderer.render_image(dict(entry)) for fname, fvalue in entry: button = self.renderer.render_button(_(fname) , fvalue, fname) @@ -128,24 +132,22 @@ class HildonMeabook(MeabookUI): # pack widgets image_box.pack_start(image, expand=False) widgets_table.attach(image_box, 0, 1, 0, 1, xoptions=gtk.SHRINK, \ - yoptions=gtk.FILL, ypadding=8) + yoptions=gtk.FILL, xpadding=4, ypadding=8) pannable_area.add_with_viewport(info_box) widgets_table.attach(pannable_area, 1, 2, 0, 1, ypadding=8) child = window.get_child() if child: child.destroy() window.add(widgets_table) - pannable_area.show_all() + widgets_table.show_all() # create widgets window = hildon.StackableWindow() window.set_title(title) menu = hildon.AppMenu() - fields_button = hildon.Button(gtk.HILDON_SIZE_AUTO, \ - hildon.BUTTON_ARRANGEMENT_HORIZONTAL, _('Fields to show')) - order_button = hildon.Button(gtk.HILDON_SIZE_AUTO, \ - hildon.BUTTON_ARRANGEMENT_HORIZONTAL, _('Fields order')) + fields_button = create_menu_button(_('Fields to show')) + order_button = create_menu_button(_('Fields order')) fields_button.connect('clicked', show_settings_dialog, window, \ 'show_fields_settings_cb', update_entry, entry_id) order_button.connect('clicked', show_settings_dialog, window, \ @@ -196,10 +198,8 @@ class HildonMeabook(MeabookUI): return path def create_progress_dialog(self, title=None): - if title is not None: - self._update_title(title) + self._update_title(title) self.selector.hide() - #self._unfreeze_ui() hildon.hildon_gtk_window_set_progress_indicator(self.window, 1) self._unfreeze_ui() @@ -253,11 +253,10 @@ class HildonMeabook(MeabookUI): selected_item_index = widget.get_active(0) _iter = widget.get_model(0)[selected_item_index] - if _iter[2] == 'fo': + if _iter[2] == 'd': self._show_items_dialog(_iter[0], self.controller.get_items(\ _iter[1])) else: - #self._show_item_dialog(_iter[0], self.controller.get_item(_iter[1])) self._show_item_dialog(_iter[0], _iter[1]) -- 1.7.9.5