conduit r1831 - in trunk: . conduit conduit/dataproviders conduit/gtkui



Author: jstowers
Date: Fri Jan 23 03:26:49 2009
New Revision: 1831
URL: http://svn.gnome.org/viewvc/conduit?rev=1831&view=rev

Log:
2009-01-23  John Stowers  <john stowers gmail com>

	* conduit/Conduit.py:
	* conduit/dataproviders/DataProvider.py:
	* conduit/gtkui/Canvas.py: If dataproviders need configuration
	on the canvas then show their status as such, instead 
	of just displaying ready all the time. 
	Fixes #550641

2009-01-23  John Stowers  <john stowers gmail com>



Modified:
   trunk/ChangeLog
   trunk/conduit/Conduit.py
   trunk/conduit/dataproviders/DataProvider.py
   trunk/conduit/gtkui/Canvas.py

Modified: trunk/conduit/Conduit.py
==============================================================================
--- trunk/conduit/Conduit.py	(original)
+++ trunk/conduit/Conduit.py	Fri Jan 23 03:26:49 2009
@@ -145,7 +145,7 @@
             else:
                 log.debug("Adding twoway dataprovider into sink position")
                 self.datasinks.append(dataprovider_wrapper)
-                #Datasinks go on the right
+
         else:
                 log.warn("Only sinks, sources or twoway dataproviders may be added")
                 return False

Modified: trunk/conduit/dataproviders/DataProvider.py
==============================================================================
--- trunk/conduit/dataproviders/DataProvider.py	(original)
+++ trunk/conduit/dataproviders/DataProvider.py	Fri Jan 23 03:26:49 2009
@@ -27,7 +27,7 @@
 STATUS_DONE_SYNC_SKIPPED = _("Synchronization Skipped")
 STATUS_DONE_SYNC_CANCELLED = _("Synchronization Cancelled")
 STATUS_DONE_SYNC_CONFLICT = _("Synchronization Conflict")
-STATUS_DONE_SYNC_NOT_CONFIGURED = _("Not Configured Correctly")
+STATUS_DONE_SYNC_NOT_CONFIGURED = _("Not Configured")
 
 class DataProviderBase(gobject.GObject):
     """

Modified: trunk/conduit/gtkui/Canvas.py
==============================================================================
--- trunk/conduit/gtkui/Canvas.py	(original)
+++ trunk/conduit/gtkui/Canvas.py	Fri Jan 23 03:26:49 2009
@@ -21,6 +21,7 @@
 import conduit.Knowledge as Knowledge
 import conduit.gtkui.Tree
 import conduit.gtkui.Util as GtkUtil
+import conduit.dataproviders.DataProvider as DataProvider
 
 log.info("Module Information: %s" % Utils.get_module_information(goocanvas, "pygoocanvas_version"))
 
@@ -460,6 +461,17 @@
                     except IndexError: 
                         break
 
+    def _check_if_dataprovider_needs_configuration(self, cond, dpw):
+        if cond and not dpw.is_pending():
+            dp = dpw.module
+            x,y = cond.get_dataprovider_position(dpw)
+            if dp.is_configured(
+                        isSource=x==0,
+                        isTwoWay=cond.is_two_way()):
+                dp.set_status(DataProvider.STATUS_NONE)
+            else:
+                dp.set_status(DataProvider.STATUS_DONE_SYNC_NOT_CONFIGURED)
+
     def on_conduit_removed(self, sender, conduitRemoved):
         for item in self._get_child_conduit_canvas_items():
             if item.model == conduitRemoved:
@@ -543,6 +555,11 @@
         
         self._show_hint(conduitCanvasItem, item, item)
 
+        self._check_if_dataprovider_needs_configuration(
+                conduitCanvasItem.model,
+                dataproviderAdded
+                )
+
     def get_sync_set(self):
         return self.model
 
@@ -591,10 +608,14 @@
         """
         Calls the configure method on the selected dataprovider
         """
-        dp = self.selectedDataproviderItem.model.module
-        log.info("Configuring %s" % dp)
-        #May block
+        dpw = self.selectedDataproviderItem.model
+        dp = dpw.module
+        conduitCanvasItem = self.selectedDataproviderItem.get_parent()
+
         dp.configure(self.parentWindow)
+        self._check_if_dataprovider_needs_configuration(
+                conduitCanvasItem.model,
+                dpw)
         self.selectedDataproviderItem.update_appearance()
 
     def on_refresh_dataprovider_clicked(self, widget):
@@ -602,7 +623,6 @@
         Refreshes a single dataprovider
         """
         dp = self.selectedDataproviderItem.model
-        #dp.module.refresh()
         cond = self.selectedConduitItem.model
         cond.refresh_dataprovider(dp)
 



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