Meabook controller class
"""
+import gettext
+
+_ = gettext.gettext
+
+
class MeabookController:
def __init__(self, model, view_class, config):
self.config = config
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
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)
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):
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())