Author: reinhard
Date: 2011-02-02 09:10:41 -0600 (Wed, 02 Feb 2011)
New Revision: 10283

Modified:
   trunk/gnue-common/
   trunk/gnue-common/src/datasources/GDataSource.py
   trunk/gnue-common/src/datasources/drivers/Base/ResultSet.py
Log:
Update the UI only if there was an actual change on requery.



Property changes on: trunk/gnue-common
___________________________________________________________________
Name: bzr:revision-info
   - timestamp: 2011-01-28 11:56:48.592999935 +0100
committer: Reinhard Müller <[email protected]>
properties: 
        branch-nick: common

   + timestamp: 2011-02-02 15:56:53.148000002 +0100
committer: Reinhard Müller <[email protected]>
properties: 
        branch-nick: common

Name: bzr:file-ids
   - packaging/win32/gnue-runtime-environment.iss       
10127@3a364389-8fce-0310-8f11-cc363fde16c7:trunk%2Fgnue-common:packaging%2Fwin32%2Fgnue-runtime-environment.iss

   + src/datasources/GDataSource.py     
1098@3a364389-8fce-0310-8f11-cc363fde16c7:trunk%2Fgnue-common:src%2Fdatasources%2FGDataSource.py
src/datasources/drivers/Base/ResultSet.py       
4887@3a364389-8fce-0310-8f11-cc363fde16c7:trunk%2Fgnue-common:src%2Fdatasources%2Fdrivers%2FBase%2FResultSet.py

Name: bzr:revision-id:v4
   - 3116 [email protected]
3117 [email protected]
3118 [email protected]
3119 [email protected]
3120 [email protected]
3121 [email protected]
3122 [email protected]
3123 [email protected]
3124 [email protected]
3125 [email protected]
3126 [email protected]
3127 [email protected]
3128 [email protected]
3129 [email protected]
3130 [email protected]
3131 [email protected]
3132 [email protected]
3133 [email protected]
3134 [email protected]
3135 [email protected]
3136 [email protected]
3137 [email protected]
3138 [email protected]
3139 [email protected]
3140 [email protected]
3141 [email protected]
3142 [email protected]
3143 [email protected]
3144 [email protected]
3145 [email protected]
3146 [email protected]
3147 [email protected]
3148 [email protected]
3149 [email protected]
3150 [email protected]

   + 3116 [email protected]
3117 [email protected]
3118 [email protected]
3119 [email protected]
3120 [email protected]
3121 [email protected]
3122 [email protected]
3123 [email protected]
3124 [email protected]
3125 [email protected]
3126 [email protected]
3127 [email protected]
3128 [email protected]
3129 [email protected]
3130 [email protected]
3131 [email protected]
3132 [email protected]
3133 [email protected]
3134 [email protected]
3135 [email protected]
3136 [email protected]
3137 [email protected]
3138 [email protected]
3139 [email protected]
3140 [email protected]
3141 [email protected]
3142 [email protected]
3143 [email protected]
3144 [email protected]
3145 [email protected]
3146 [email protected]
3147 [email protected]
3148 [email protected]
3149 [email protected]
3150 [email protected]
3151 [email protected]

Name: bzr:text-parents
   - 
   + src/datasources/GDataSource.py     
[email protected]
src/datasources/drivers/Base/ResultSet.py       
[email protected]


Modified: trunk/gnue-common/src/datasources/GDataSource.py
===================================================================
--- trunk/gnue-common/src/datasources/GDataSource.py    2011-02-02 15:10:38 UTC 
(rev 10282)
+++ trunk/gnue-common/src/datasources/GDataSource.py    2011-02-02 15:10:41 UTC 
(rev 10283)
@@ -825,11 +825,11 @@
     if self.__master:
       self.__master.requeryAll (commit)
     else:
-      self.__currentResultSet.requery (commit)
-      # Many records can have changed through backend triggers. The UI has to
-      # follow the changes.
-      self.__eventController.dispatchEvent ('dsResultSetChanged',
-          resultSet = self.__currentResultSet)
+      if self.__currentResultSet.requery (commit):
+        # Many records can have changed through backend triggers. The UI has to
+        # follow the changes.
+        self.__eventController.dispatchEvent ('dsResultSetChanged',
+            resultSet = self.__currentResultSet)
 
 
   # ---------------------------------------------------------------------------

Modified: trunk/gnue-common/src/datasources/drivers/Base/ResultSet.py
===================================================================
--- trunk/gnue-common/src/datasources/drivers/Base/ResultSet.py 2011-02-02 
15:10:38 UTC (rev 10282)
+++ trunk/gnue-common/src/datasources/drivers/Base/ResultSet.py 2011-02-02 
15:10:41 UTC (rev 10283)
@@ -764,10 +764,13 @@
         @param commit: indicate whether a commit was run since the last L{post}
             call.
 
+        @return: True if something has changed at all, False otherwise.
+
         @raise Exception: if querying the records from the backend fails for
             any reason. The exact exception classes depend on the backend.
         """
 
+        any_change = False
         index = 0
         while index < len(self.__cached_records):
             record = self.__cached_records[index]
@@ -779,12 +782,16 @@
                 else:
                     record._requery(commit)
                     index += 1
+                any_change = True
             else:
                 index += 1
 
-        self.__sync(False)
+        if any_change:
+            self.__sync(False)
 
+        return any_change
 
+
     # -------------------------------------------------------------------------
     # Merge another ResultSet into this one
     # -------------------------------------------------------------------------


_______________________________________________
commit-gnue mailing list
[email protected]
http://lists.gnu.org/mailman/listinfo/commit-gnue

Reply via email to