From 5d527e1d270183f5fda8f9eb33bff90abfa261bf Mon Sep 17 00:00:00 2001 From: iLLiCiTiT Date: Fri, 12 Nov 2021 19:36:28 +0100 Subject: [PATCH] give a separate style to SubsetManagerDetailsText --- openpype/style/style.css | 5 +++++ openpype/tools/subsetmanager/widgets.py | 18 +++++++++++++----- 2 files changed, 18 insertions(+), 5 deletions(-) diff --git a/openpype/style/style.css b/openpype/style/style.css index 1e457f97f6..89458fd117 100644 --- a/openpype/style/style.css +++ b/openpype/style/style.css @@ -765,6 +765,11 @@ QScrollBar::add-page:vertical, QScrollBar::sub-page:vertical { border: 1px solid {color:border}; border-radius: 0.1em; } +/* Subset Manager */ +#SubsetManagerDetailsText {} +#SubsetManagerDetailsText[state="invalid"] { + border: 1px solid #ff0000; +} /* Python console interpreter */ #PythonInterpreterOutput, #PythonCodeEditor { diff --git a/openpype/tools/subsetmanager/widgets.py b/openpype/tools/subsetmanager/widgets.py index 661218f16d..7a8cb15cbf 100644 --- a/openpype/tools/subsetmanager/widgets.py +++ b/openpype/tools/subsetmanager/widgets.py @@ -9,6 +9,8 @@ class InstanceDetail(QtWidgets.QWidget): super(InstanceDetail, self).__init__(parent) details_widget = QtWidgets.QPlainTextEdit(self) + details_widget.setObjectName("SubsetManagerDetailsText") + save_btn = QtWidgets.QPushButton("Save", self) self._block_changes = False @@ -46,12 +48,18 @@ class InstanceDetail(QtWidgets.QWidget): if valid is None: valid = self.is_valid() - style_sheet = "" - if not valid: - style_sheet = "border-color: #ff0000;" + self._save_btn.setEnabled(valid) + self._set_invalid_detail(valid) - self.save_btn.setEnabled(valid) - self._details_widget.setStyleSheet(style_sheet) + def _set_invalid_detail(self, valid): + state = "" + if not valid: + state = "invalid" + + current_state = self._details_widget.property("state") + if current_state != state: + self._details_widget.setProperty("state", state) + self._details_widget.style().polish(self._details_widget) def set_details(self, container, item_id): self._item_id = item_id