Publisher: Fix multiselection value (#5505)

* fix change of value on multiselection

* fix create - publish page change
This commit is contained in:
Jakub Trllo 2023-08-25 17:08:34 +02:00 committed by GitHub
parent 39f8e65177
commit 5ed243e36e
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 9 additions and 1 deletions

View file

@ -343,6 +343,7 @@ class TextAttrWidget(_BaseAttrDefWidget):
return self._input_widget.text()
def set_value(self, value, multivalue=False):
block_signals = False
if multivalue:
set_value = set(value)
if None in set_value:
@ -352,13 +353,18 @@ class TextAttrWidget(_BaseAttrDefWidget):
if len(set_value) == 1:
value = tuple(set_value)[0]
else:
block_signals = True
value = "< Multiselection >"
if value != self.current_value():
if block_signals:
self._input_widget.blockSignals(True)
if self.multiline:
self._input_widget.setPlainText(value)
else:
self._input_widget.setText(value)
if block_signals:
self._input_widget.blockSignals(False)
class BoolAttrWidget(_BaseAttrDefWidget):
@ -391,7 +397,9 @@ class BoolAttrWidget(_BaseAttrDefWidget):
set_value.add(self.attr_def.default)
if len(set_value) > 1:
self._input_widget.blockSignals(True)
self._input_widget.setCheckState(QtCore.Qt.PartiallyChecked)
self._input_widget.blockSignals(False)
return
value = tuple(set_value)[0]

View file

@ -168,7 +168,7 @@ class OverviewWidget(QtWidgets.QFrame):
def make_sure_animation_is_finished(self):
if self._change_anim.state() == QtCore.QAbstractAnimation.Running:
self._change_anim.stop()
self._on_change_anim_finished()
self._on_change_anim_finished()
def set_state(self, new_state, animate):
if new_state == self._current_state: