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
3ed181403f
commit
a6c852369f
|
@ -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