diff --git a/gui/src/aaregui/widgets/number_line_edit.py b/gui/src/aaregui/widgets/number_line_edit.py index a715170c..611e8f46 100644 --- a/gui/src/aaregui/widgets/number_line_edit.py +++ b/gui/src/aaregui/widgets/number_line_edit.py @@ -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)