From e583a91a952821b35b18a655ba8d0c869b5abb59 Mon Sep 17 00:00:00 2001 From: David Vierra Date: Thu, 30 Mar 2017 03:54:19 -1000 Subject: [PATCH] SpinSlider now supports "live" value changes --- src/mcedit2/widgets/spinslider.py | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/src/mcedit2/widgets/spinslider.py b/src/mcedit2/widgets/spinslider.py index 1e63323..eff1584 100644 --- a/src/mcedit2/widgets/spinslider.py +++ b/src/mcedit2/widgets/spinslider.py @@ -46,6 +46,7 @@ class SpinSlider(QtGui.QWidget): self.spinBox.valueChanged.connect(self.spinBoxChanged) self.slider.valueChanged.connect(self.sliderChanged) + self.slider.sliderReleased.connect(self.sliderReleased) self.setLayout(Row(self.spinBox, self.slider, margin=0)) @@ -59,13 +60,16 @@ class SpinSlider(QtGui.QWidget): def spinBoxChanged(self, value): self._value = value self.slider.setValue(value * self.sliderFactor) - self.valueChanged.emit(value) + self.valueChanged.emit(value, False) def sliderChanged(self, value): value /= self.sliderFactor self._value = value self.spinBox.setValue(value) - self.valueChanged.emit(value) + self.valueChanged.emit(value, self.slider.isSliderDown()) + + def sliderReleased(self): + self.valueChanged.emit(self._value, False) def value(self): return self._value @@ -91,5 +95,5 @@ class SpinSlider(QtGui.QWidget): self.slider.setMaximum(value * self.sliderFactor) self.spinBox.setMaximum(value) + valueChanged = QtCore.Signal(float, bool) - valueChanged = QtCore.Signal(float)