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
93af2d2893
commit
c6fa3cdb80
|
@ -91,6 +91,24 @@ class UnitfulSpinBox(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