commit-gnue
[Top][All Lists]
Advanced

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

[gnue] r8781 - trunk/gnue-forms/src/uidrivers/qt3/widgets


From: johannes
Subject: [gnue] r8781 - trunk/gnue-forms/src/uidrivers/qt3/widgets
Date: Fri, 13 Oct 2006 04:41:42 -0500 (CDT)

Author: johannes
Date: 2006-10-13 04:41:42 -0500 (Fri, 13 Oct 2006)
New Revision: 8781

Modified:
   trunk/gnue-forms/src/uidrivers/qt3/widgets/entry.py
Log:
No recursion on changing the state of a checkbox


Modified: trunk/gnue-forms/src/uidrivers/qt3/widgets/entry.py
===================================================================
--- trunk/gnue-forms/src/uidrivers/qt3/widgets/entry.py 2006-10-13 09:29:50 UTC 
(rev 8780)
+++ trunk/gnue-forms/src/uidrivers/qt3/widgets/entry.py 2006-10-13 09:41:42 UTC 
(rev 8781)
@@ -305,6 +305,7 @@
         BaseEntry.__init__(self, ui_widget, qt.QCheckBox)
         self.setTristate(True)
 
+        self._blocked_ = False
         self.connect(self, qt.SIGNAL('toggled(bool)'), self.__on_toggled)
 
 
@@ -314,23 +315,28 @@
 
     def __on_toggled(self, state):
 
-        self.ui_widget._request('TOGGLECHKBOX')
+        if not self._blocked_:
+            self.ui_widget._request('TOGGLECHKBOX')
 
-
     # -------------------------------------------------------------------------
     # UI-Slots
     # -------------------------------------------------------------------------
 
     def _ui_set_value_(self, value):
 
-        if value is None:
-            self.setState(qt.QButton.NoChange)
-        elif value:
-            self.setState(qt.QButton.On)
-        else:
-            self.setState(qt.QButton.Off)
+        self._blocked_ = True
+        try:
+            if value is None:
+                self.setState(qt.QButton.NoChange)
+            elif value:
+                self.setState(qt.QButton.On)
+            else:
+                self.setState(qt.QButton.Off)
 
+        finally:
+            self._blocked_ = False
 
+
 # =============================================================================
 # Base class for widgets having a set of allowed values
 # =============================================================================





reply via email to

[Prev in Thread] Current Thread [Next in Thread]