forked from M-Labs/thermostat
ctrl_panel: Reformat SpinBox text always if valid
The parameter SpinBoxes previously would only update if the interpreted value was changed, missing cases where the text would have changed but the value stays the same, e.g. removing trailing decimal zeros.
This commit is contained in:
parent
dce348aa65
commit
01d023c3a6
@ -91,6 +91,24 @@ class LockableUnitSpinBox(SpinBox):
|
|||||||
|
|
||||||
super().setOpts(**opts)
|
super().setOpts(**opts)
|
||||||
|
|
||||||
|
def editingFinishedEvent(self):
|
||||||
|
# Modified from pyqtgraph.SpinBox.editingFinishedEvent source
|
||||||
|
|
||||||
|
new_text = self.lineEdit().text()
|
||||||
|
if new_text == self.lastText:
|
||||||
|
return
|
||||||
|
try:
|
||||||
|
val = self.interpret()
|
||||||
|
except Exception:
|
||||||
|
return
|
||||||
|
|
||||||
|
if val is False:
|
||||||
|
return
|
||||||
|
if val == self.val:
|
||||||
|
self.updateText() # still update text so that values are reformatted pretty-like
|
||||||
|
return
|
||||||
|
self.setValue(val, delaySignal=False) ## allow text update so that values are reformatted pretty-like
|
||||||
|
|
||||||
def formatText(self, prev=None):
|
def formatText(self, prev=None):
|
||||||
"""
|
"""
|
||||||
In addition to pyqtgraph.SpinBox's formatting, incorporate the
|
In addition to pyqtgraph.SpinBox's formatting, incorporate the
|
||||||
|
Loading…
Reference in New Issue
Block a user