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
e160a6f514
commit
5574559ac6
|
@ -91,6 +91,24 @@ class LockableUnitSpinBox(SpinBox):
|
|||
|
||||
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):
|
||||
"""
|
||||
In addition to pyqtgraph.SpinBox's formatting, incorporate the
|
||||
|
|
Loading…
Reference in New Issue