From 75f3dca1ced1dcd4ac4c676ecc5a684178727b0c Mon Sep 17 00:00:00 2001 From: iLLiCiTiT Date: Wed, 25 Aug 2021 19:03:38 +0200 Subject: [PATCH] mouse click on checkbox changes path --- openpype/tools/settings/settings/item_widgets.py | 4 ++++ openpype/tools/settings/settings/widgets.py | 5 +++++ 2 files changed, 9 insertions(+) diff --git a/openpype/tools/settings/settings/item_widgets.py b/openpype/tools/settings/settings/item_widgets.py index d29fa6f42b..a808caa465 100644 --- a/openpype/tools/settings/settings/item_widgets.py +++ b/openpype/tools/settings/settings/item_widgets.py @@ -312,8 +312,12 @@ class BoolWidget(InputWidget): self.setFocusProxy(self.input_field) + self.input_field.focused_in.connect(self._on_input_focus) self.input_field.stateChanged.connect(self._on_value_change) + def _on_input_focus(self): + self.focused_in() + def _on_entity_change(self): if self.entity.value != self.input_field.isChecked(): self.set_entity_value() diff --git a/openpype/tools/settings/settings/widgets.py b/openpype/tools/settings/settings/widgets.py index 34b222dd8e..d49057e1e8 100644 --- a/openpype/tools/settings/settings/widgets.py +++ b/openpype/tools/settings/settings/widgets.py @@ -459,6 +459,7 @@ class NiceCheckbox(QtWidgets.QFrame): stateChanged = QtCore.Signal(int) checked_bg_color = QtGui.QColor(69, 128, 86) unchecked_bg_color = QtGui.QColor(170, 80, 80) + focused_in = QtCore.Signal() def set_bg_color(self, color): self._bg_color = color @@ -583,6 +584,10 @@ class NiceCheckbox(QtWidgets.QFrame): self._on_checkstate_change() + def mousePressEvent(self, event): + self.focused_in.emit() + super(NiceCheckbox, self).mousePressEvent(event) + def mouseReleaseEvent(self, event): if event.button() == QtCore.Qt.LeftButton: self.setCheckState()