summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStefan `Sec` Zehl <sec@42.org>2020-02-02 15:12:03 +0100
committerDerek Kozel <derek.kozel@gmail.com>2020-03-29 16:17:04 +0100
commit3b30c5da8b464f32b762d750be2896149f81ea28 (patch)
tree94b50cd9df247df2adff853dbbfd30ef35b58163
parent3867f4b29b9b22704250566fed7cc5b800d0fd28 (diff)
RangeWidget: avoid double-changes
-rwxr-xr-xgr-qtgui/python/qtgui/range.py.cmakein12
1 files changed, 10 insertions, 2 deletions
diff --git a/gr-qtgui/python/qtgui/range.py.cmakein b/gr-qtgui/python/qtgui/range.py.cmakein
index da9701a8c0..85a2319fe5 100755
--- a/gr-qtgui/python/qtgui/range.py.cmakein
+++ b/gr-qtgui/python/qtgui/range.py.cmakein
@@ -206,8 +206,9 @@ class RangeWidget(QtWidgets.QWidget):
layout.addWidget(self.counter)
self.setLayout(layout)
- # Flag to ignore the slider event caused by a change to the counter.
+ # Flags to ignore the slider event caused by a change to the counter (and vice versa).
self.ignoreSlider = False
+ self.ignoreCounter = False
self.range = ranges
def sliderChanged(self, value):
@@ -215,6 +216,7 @@ class RangeWidget(QtWidgets.QWidget):
# If the counter was changed, ignore any of these events
if not self.ignoreSlider:
# Value is already float. Just set the counter
+ self.ignoreCounter = True
self.counter.setValue(self.rangeType(value))
self.notifyChanged(self.rangeType(value))
self.ignoreSlider = False
@@ -231,8 +233,14 @@ class RangeWidget(QtWidgets.QWidget):
self.ignoreSlider = True
self.slider.setValue(new)
- self.notifyChanged(self.rangeType(value))
+ if not self.ignoreCounter:
+ self.notifyChanged(self.rangeType(value))
+ self.ignoreCounter = False
+ def setValue(self, value):
+ """ Wrapper to handle changing the value externally """
+ self.ignoreSlider = True
+ self.counter.setValue(value)
if __name__ == "__main__":
from PyQt4 import Qt