fixed UI bugs while do import
authorMax Usachev <maxusachev@gmail.com>
Tue, 15 Jun 2010 10:34:43 +0000 (13:34 +0300)
committerMax Usachev <maxusachev@gmail.com>
Tue, 15 Jun 2010 10:34:43 +0000 (13:34 +0300)
controller.py
ui/hildon_ui.py

index 171b2bf..a928930 100644 (file)
@@ -2,6 +2,11 @@
 Meabook controller class
 """
 
+import gettext
+
+_ = gettext.gettext
+
+
 class MeabookController:
     def __init__(self, model, view_class, config):
         self.config = config
@@ -81,8 +86,11 @@ class MeabookController:
         from meabook.parsers.ldif_parser import MeabookLDIFParser
         parser = MeabookLDIFParser(open(path), self.model)
         try:
-            self.view.create_progress_dialog()
+            self.view.create_progress_dialog(_('Importing...'))
+            #FIXME: implement update_fraction
             parser.parse()
         except:
             self.view.create_information_dialog(_('Import error'), \
                 _('Unsupported file format!'))
+        else:
+            return True
index fd78cc2..d33faad 100644 (file)
@@ -157,15 +157,15 @@ class HildonMeabook(MeabookUI):
         chooser.run()
         path = chooser.get_filename()
         chooser.destroy()
-
-        hildon.hildon_gtk_window_set_progress_indicator(self.window, 1)
-        self._update_title(_('Importing...'))
-        self.selector.hide()
-        self._unfreeze_ui()
         return path
 
-    def create_progress_dialog(self):
+    def create_progress_dialog(self, title=None):
+        if title is not None:
+            self._update_title(title)
+        self.selector.hide()
+        #self._unfreeze_ui()
         hildon.hildon_gtk_window_set_progress_indicator(self.window, 1)
+        self._unfreeze_ui()
 
     def create_configuration_dialog(self, controller, config):
         ConfigurationDialog(controller, config)
@@ -180,9 +180,9 @@ class HildonMeabook(MeabookUI):
     def show_import_dialog_cb(self, widget):
         """Shows Import Dialog."""
 
-        self.controller.show_import_dialog()
-        self.apply_filter_cb(self.level1_filter)
-        self.selector.show_all()
+        if self.controller.show_import_dialog():
+            self.apply_filter_cb(self.level1_filter)
+            self.selector.show_all()
         hildon.hildon_gtk_window_set_progress_indicator(self.window, 0)
 
     def show_settings_dialog_cb(self, widget):
@@ -198,10 +198,6 @@ class HildonMeabook(MeabookUI):
 
         self._update_title(' - '.join([_('Meabook'), widget.get_label()]))
 
-        # hide menu if next is longtime operation
-        self.menu.hide()
-        self._unfreeze_ui()
-
         if widget == self.level1_filter:
             self._set_selector_content(self.selector, self.handler, \
                 self.controller.get_all_folders())