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
ed6cee4394
commit
c9aa0eaab8
@ -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
Block a user