GUI: number_line_edit.py block signals during set_busy otherwise dtza and high_res are unchecked

This commit is contained in:
appleb_m
2025-12-10 15:47:54 +01:00
parent b6ebcf0dbd
commit bb94f71aa7
+10 -1
View File
@@ -157,14 +157,22 @@ class CheckedLineEdit(QWidget):
def set_busy(self, busy: bool):
# if an external wants to change the busy state.
#update self._busy and change editor read only state. After enable/disable check_box and set colour
self.blockSignals(True)
self._busy = busy
self.setReadOnly()
self.check_box.blockSignals(True)
if self._busy:
self.check_box.setEnabled(False)
self.check_box.setStyleSheet("background-color: rgb(240, 240, 240);")
if self._checked:
self.editor.force_update_value(self._internal_value)
else:
self.check_box.setEnabled(True)
self.check_box.setStyleSheet("background-color: rgb(240, 240, 240);")
self.check_box.setStyleSheet("background-color: rgb(255, 255, 255);")
self.check_box.blockSignals(False)
self.blockSignals(False)
def update_value(self, value):
#wrapper for NumberLineEdit.update_value
@@ -205,6 +213,7 @@ class CheckedLineEdit(QWidget):
if not self._busy and self._checked: # Only set editor to writeable if busy is False and the checkbox is checked,
should_be_ro = False
self.editor.setReadOnly(False)
#state_changed = self.editor.isReadOnly() != should_be_ro
self.editor.setReadOnly(should_be_ro)
self.readOnlyChanged.emit(should_be_ro)