Re-enabling the cache
[doneit] / src / doneit_glade.py
index 69bc6e0..86019f8 100755 (executable)
@@ -70,6 +70,7 @@ class DoneIt(object):
                self._clipboard = gtk.clipboard_get()
                self.__window = self._widgetTree.get_widget("mainWindow")
                self.__errorDisplay = gtk_toolbox.ErrorDisplay(self._widgetTree)
+               self._prefsDialog = gtk_toolbox.PreferencesDialog(self._widgetTree)
 
                self._app = None
                self._isFullScreen = False
@@ -99,7 +100,8 @@ class DoneIt(object):
                        "on_about": self._on_about_activate,
                }
                self._widgetTree.signal_autoconnect(callbackMapping)
-               self._widgetTree.get_widget("connectMenuItem").connect("activate", lambda *args: self._switch_ui(self._defaultUIName))
+               self._widgetTree.get_widget("connectMenuItem").connect("activate", lambda *args: self.switch_ui(self._defaultUIName))
+               self._widgetTree.get_widget("preferencesMenuItem").connect("activate", self._on_prefs)
 
                if self.__window:
                        if hildon is None:
@@ -199,9 +201,9 @@ class DoneIt(object):
                        )
 
                try:
-                       self._switch_ui(activeUIName)
+                       self.switch_ui(activeUIName)
                except KeyError, e:
-                       self._switch_ui(self._defaultUIName)
+                       self.switch_ui(self._defaultUIName)
 
        def save_settings(self, config):
                """
@@ -213,7 +215,13 @@ class DoneIt(object):
                for todoUI in self._todoUIs.itervalues():
                        todoUI.save_settings(config)
 
-       def _switch_ui(self, uiName):
+       def get_uis(self):
+               return (ui for ui in self._todoUIs.iteritems())
+
+       def get_default_ui(self):
+               return self._defaultUIName
+
+       def switch_ui(self, uiName):
                """
                @note UI Thread
                """
@@ -264,10 +272,10 @@ class DoneIt(object):
 
                if status == conic.STATUS_CONNECTED:
                        self._deviceIsOnline = True
-                       self._switch_ui(self._defaultUIName)
+                       self.switch_ui(self._defaultUIName)
                elif status == conic.STATUS_DISCONNECTED:
                        self._deviceIsOnline = False
-                       self._switch_ui(self._fallbackUIName)
+                       self.switch_ui(self._fallbackUIName)
 
        def _on_window_state_change(self, widget, event, *args):
                """
@@ -302,7 +310,14 @@ class DoneIt(object):
 
        def _on_logout(self, *args):
                self._todoUI.logout()
-               self._switch_ui(self._fallbackUIName)
+               self.switch_ui(self._fallbackUIName)
+
+       def _on_prefs(self, *args):
+               self._prefsDialog.enable()
+               try:
+                       self._prefsDialog.run(self)
+               finally:
+                       self._prefsDialog.disable()
 
        def _on_about_activate(self, *args):
                dlg = gtk.AboutDialog()