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 <reinhard.muel...@bytewise.at>
properties: 
        branch-nick: common

   + timestamp: 2011-02-02 15:56:53.148000002 +0100
committer: Reinhard Müller <reinhard.muel...@bytewise.at>
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 reinhard.muel...@bytewise.at-20100426083315-ccfwx2pihuvqn60z
3117 reinhard.muel...@bytewise.at-20100503114756-unpxm52de0towufo
3118 reinhard.muel...@bytewise.at-20100503115129-uvondrz5bvkqubyv
3119 reinhard.muel...@bytewise.at-20100505081835-9peco6k7a2le0mvg
3120 reinhard.muel...@bytewise.at-20100505084742-wn5vtc4a129z8g28
3121 reinhard.muel...@bytewise.at-20100505092131-m2avvsci5w6aj0rv
3122 reinhard.muel...@bytewise.at-20100519151545-pybk8q2s234vzsf2
3123 reinhard.muel...@bytewise.at-20100525101023-xs7k6pkghh9t6fc3
3124 reinhard.muel...@bytewise.at-20100525114015-rj7eb0xdheqkcuql
3125 reinhard.muel...@bytewise.at-20100525145035-j177jbvu10me4mfp
3126 reinhard.muel...@bytewise.at-20100526111738-ic0wot9z1ulg2y1a
3127 reinhard.muel...@bytewise.at-20100612121357-1nf23tuj1tveh1lv
3128 reinhard.muel...@bytewise.at-20100929190642-6pp6cwlicgt2bhhs
3129 reinhard.muel...@bytewise.at-20100929190817-bje4kkvrjrpanut1
3130 reinhard.muel...@bytewise.at-20101016191602-kceb6hdjytt4im93
3131 reinhard.muel...@bytewise.at-20101020175112-o65lqy8lejjrvzaz
3132 reinhard.muel...@bytewise.at-20101020195535-gb2bt2h80mu5j5h4
3133 reinhard.muel...@bytewise.at-20101020203525-nvdwy7b9r84bngco
3134 reinhard.muel...@bytewise.at-20101028150844-49qu2auedxl5b5kv
3135 reinhard.muel...@bytewise.at-20101028152619-p6ytgkke9zw38o7a
3136 reinhard.muel...@bytewise.at-20101102085744-sfxbu24ep3nwxixc
3137 reinhard.muel...@bytewise.at-20101102085857-sgtswbhhj0baf9d7
3138 reinhard.muel...@bytewise.at-20101103071215-929sbj5boj2wcxuu
3139 reinhard.muel...@bytewise.at-20101114130053-ueyx4ilszsilw6hc
3140 reinhard.muel...@bytewise.at-20101114183532-h66yegryl7hcen0f
3141 reinhard.muel...@bytewise.at-20101130142356-cxfqmitx4trkjcja
3142 reinhard.muel...@bytewise.at-20101201235201-z7jjs7xhfmonjcni
3143 reinhard.muel...@bytewise.at-20101202213225-9hj88a0rur552boy
3144 reinhard.muel...@bytewise.at-20101202222236-g81i5zcnxr8l2q7o
3145 reinhard.muel...@bytewise.at-20101202232811-ydwqz1rwr8a17fad
3146 reinhard.muel...@bytewise.at-20101202235915-yhfdb6fvj5znz35y
3147 reinhard.muel...@bytewise.at-20101216212153-y9oprapjl2z2gnh2
3148 reinhard.muel...@bytewise.at-20101216213128-i3zvbyb1mhx6i5jp
3149 reinhard.muel...@bytewise.at-20110128101843-8qa9x9tvae5mrt7g
3150 reinhard.muel...@bytewise.at-20110128105648-3ffqgfxlmh9u80p4

   + 3116 reinhard.muel...@bytewise.at-20100426083315-ccfwx2pihuvqn60z
3117 reinhard.muel...@bytewise.at-20100503114756-unpxm52de0towufo
3118 reinhard.muel...@bytewise.at-20100503115129-uvondrz5bvkqubyv
3119 reinhard.muel...@bytewise.at-20100505081835-9peco6k7a2le0mvg
3120 reinhard.muel...@bytewise.at-20100505084742-wn5vtc4a129z8g28
3121 reinhard.muel...@bytewise.at-20100505092131-m2avvsci5w6aj0rv
3122 reinhard.muel...@bytewise.at-20100519151545-pybk8q2s234vzsf2
3123 reinhard.muel...@bytewise.at-20100525101023-xs7k6pkghh9t6fc3
3124 reinhard.muel...@bytewise.at-20100525114015-rj7eb0xdheqkcuql
3125 reinhard.muel...@bytewise.at-20100525145035-j177jbvu10me4mfp
3126 reinhard.muel...@bytewise.at-20100526111738-ic0wot9z1ulg2y1a
3127 reinhard.muel...@bytewise.at-20100612121357-1nf23tuj1tveh1lv
3128 reinhard.muel...@bytewise.at-20100929190642-6pp6cwlicgt2bhhs
3129 reinhard.muel...@bytewise.at-20100929190817-bje4kkvrjrpanut1
3130 reinhard.muel...@bytewise.at-20101016191602-kceb6hdjytt4im93
3131 reinhard.muel...@bytewise.at-20101020175112-o65lqy8lejjrvzaz
3132 reinhard.muel...@bytewise.at-20101020195535-gb2bt2h80mu5j5h4
3133 reinhard.muel...@bytewise.at-20101020203525-nvdwy7b9r84bngco
3134 reinhard.muel...@bytewise.at-20101028150844-49qu2auedxl5b5kv
3135 reinhard.muel...@bytewise.at-20101028152619-p6ytgkke9zw38o7a
3136 reinhard.muel...@bytewise.at-20101102085744-sfxbu24ep3nwxixc
3137 reinhard.muel...@bytewise.at-20101102085857-sgtswbhhj0baf9d7
3138 reinhard.muel...@bytewise.at-20101103071215-929sbj5boj2wcxuu
3139 reinhard.muel...@bytewise.at-20101114130053-ueyx4ilszsilw6hc
3140 reinhard.muel...@bytewise.at-20101114183532-h66yegryl7hcen0f
3141 reinhard.muel...@bytewise.at-20101130142356-cxfqmitx4trkjcja
3142 reinhard.muel...@bytewise.at-20101201235201-z7jjs7xhfmonjcni
3143 reinhard.muel...@bytewise.at-20101202213225-9hj88a0rur552boy
3144 reinhard.muel...@bytewise.at-20101202222236-g81i5zcnxr8l2q7o
3145 reinhard.muel...@bytewise.at-20101202232811-ydwqz1rwr8a17fad
3146 reinhard.muel...@bytewise.at-20101202235915-yhfdb6fvj5znz35y
3147 reinhard.muel...@bytewise.at-20101216212153-y9oprapjl2z2gnh2
3148 reinhard.muel...@bytewise.at-20101216213128-i3zvbyb1mhx6i5jp
3149 reinhard.muel...@bytewise.at-20110128101843-8qa9x9tvae5mrt7g
3150 reinhard.muel...@bytewise.at-20110128105648-3ffqgfxlmh9u80p4
3151 reinhard.muel...@bytewise.at-20110202145653-2j4pogtko4nou0xp

Name: bzr:text-parents
   - 
   + src/datasources/GDataSource.py     
reinhard.muel...@bytewise.at-20101202232811-ydwqz1rwr8a17fad
src/datasources/drivers/Base/ResultSet.py       
reinhard.muel...@bytewise.at-20101201235201-z7jjs7xhfmonjcni


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
commit-gnue@gnu.org
http://lists.gnu.org/mailman/listinfo/commit-gnue

Reply via email to