conduit r1900 - in trunk: . conduit/modules/EvolutionModule



Author: arosenfeld
Date: Mon Feb 23 07:43:17 2009
New Revision: 1900
URL: http://svn.gnome.org/viewvc/conduit?rev=1900&view=rev

Log:
2009-02-23  Alexandre Rosenfeld  <airmind gmail com>

	* conduit/modules/EvolutionModule/EvolutionModule.py:
	* conduit/modules/EvolutionModule/Makefile.am:
	* conduit/modules/EvolutionModule/config.glade:
	Port to new config system.



Removed:
   trunk/conduit/modules/EvolutionModule/config.glade
Modified:
   trunk/ChangeLog
   trunk/conduit/modules/EvolutionModule/EvolutionModule.py
   trunk/conduit/modules/EvolutionModule/Makefile.am

Modified: trunk/conduit/modules/EvolutionModule/EvolutionModule.py
==============================================================================
--- trunk/conduit/modules/EvolutionModule/EvolutionModule.py	(original)
+++ trunk/conduit/modules/EvolutionModule/EvolutionModule.py	Mon Feb 23 07:43:17 2009
@@ -32,8 +32,14 @@
         DataProvider.TwoWay.__init__(self)
         self.defaultSourceURI = sourceURI
         self.selectedSourceURI = sourceURI
+        self.update_configuration(
+            sourceURI = (sourceURI, self._set_selectedSourceURI, lambda: self.selectedSourceURI),
+        )
         self.allSourceURIs = []
         self.uids = None
+        
+    def _set_selectedSourceURI(self, value):
+        self.selectedSourceURI = value
 
     def _get_object(self, uid):
         raise NotImplementedError
@@ -93,53 +99,24 @@
     def finish(self, aborted, error, conflict):
         DataProvider.TwoWay.finish(self)
         self.uids = None
-
-    def configure(self, window, name):
-        import gtk
-        tree = Utils.dataprovider_glade_get_widget(
-                        __file__, 
-                        "config.glade",
-                        "EvolutionConfigDialog"
-                        )
-        
-        #get a whole bunch of widgets
-        sourceComboBox = tree.get_widget("sourceComboBox")
-        sourceLabel = tree.get_widget("sourceLabel")
-        sourceLabel.set_text(_("Select %s:") % name)
-
-        #make a combobox with the addressbooks
-        store = gtk.ListStore(gobject.TYPE_STRING,gobject.TYPE_STRING)
-        sourceComboBox.set_model(store)
-
-        cell = gtk.CellRendererText()
-        sourceComboBox.pack_start(cell, True)
-        sourceComboBox.add_attribute(cell, 'text', 0)
-        sourceComboBox.set_active(0)
-        
-        for name,uri in self.allSourceURIs:
-            rowref = store.append( (name, uri) )
-            if uri == self.selectedSourceURI:
-                sourceComboBox.set_active_iter(rowref)
         
-        dlg = tree.get_widget("EvolutionConfigDialog")
-        
-        response = Utils.run_dialog (dlg, window)
-        if response == True:
-            self.selectedSourceURI = store.get_value(sourceComboBox.get_active_iter(), 1)
-        dlg.destroy()  
-
-    def get_configuration(self):
-        return {
-            "sourceURI" : self.selectedSourceURI
-            }
-
-    def set_configuration(self, config):
-        self.selectedSourceURI = config.get("sourceURI", self.defaultSourceURI)
+    def config_setup(self, config, name):
+        config.add_section("Select %s" % name)
+        #If we cant find the currently selected item in the availiable list,
+        #selects the first we can find.
+        for name, uri in self.allSourceURIs:
+            if self.selectedSourceURI == uri:
+                break
+        else:
+            self.selectedSourceURI = self.allSourceURIs[0][1]
+        config.add_item("%s" % name, "combo",
+            choices = [(uri, name) for name, uri in self.allSourceURIs],
+            initial_value = self.selectedSourceURI,
+            config_name = "sourceURI" )
 
     def get_UID(self):
         return self.selectedSourceURI
 
-
 class EvoContactTwoWay(EvoBase):
 
     DEFAULT_ADDRESSBOOK_URI = "default"
@@ -188,8 +165,8 @@
         for i in self.book.get_all_contacts():
             self.uids.append(i.get_uid())
 
-    def configure(self, window):
-        EvoBase.configure(self, window, "Addressbook")
+    def config_setup(self, window):
+        EvoBase.config_setup(self, window, "Addressbook")
 
 class EvoCalendarTwoWay(EvoBase):
 
@@ -250,8 +227,8 @@
         for i in self.calendar.get_all_objects():
             self.uids.append(i.get_uid())
 
-    def configure(self, window):
-        EvoBase.configure(self, window, "Calendar")
+    def config_setup(self, window):
+        EvoBase.config_setup(self, window, "Calendar")
 
 class EvoTasksTwoWay(EvoBase):
 
@@ -307,8 +284,8 @@
         for i in self.tasks.get_all_objects():
             self.uids.append(i.get_uid())
 
-    def configure(self, window):
-        EvoBase.configure(self, window, "Tasks")
+    def config_setup(self, window):
+        EvoBase.config_setup(self, window, "Tasks")
 
 class EvoMemoTwoWay(EvoBase):
 
@@ -375,6 +352,6 @@
         for i in self.memos.get_all_objects():
             self.uids.append(i.get_uid())
 
-    def configure(self, window):
-        EvoBase.configure(self, window, "Memos")
+    def config_setup(self, window):
+        EvoBase.config_setup(self, window, "Memos")
 

Modified: trunk/conduit/modules/EvolutionModule/Makefile.am
==============================================================================
--- trunk/conduit/modules/EvolutionModule/Makefile.am	(original)
+++ trunk/conduit/modules/EvolutionModule/Makefile.am	Mon Feb 23 07:43:17 2009
@@ -1,8 +1,5 @@
 conduit_handlersdir = $(libdir)/conduit/modules/EvolutionModule
-conduit_handlers_DATA = config.glade
 conduit_handlers_PYTHON = EvolutionModule.py
 
-EXTRA_DIST = config.glade
-
 clean-local:
 	rm -rf *.pyc *.pyo



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]