From f1a572141876f60e4470f338e32ae560aa8b761e Mon Sep 17 00:00:00 2001 From: iLLiCiTiT Date: Fri, 20 Aug 2021 19:23:33 +0200 Subject: [PATCH] fixed buttons disabled/enabled states --- openpype/tools/new_publisher/control.py | 4 ++++ openpype/tools/new_publisher/widgets/publish_widget.py | 9 ++++++++- openpype/tools/new_publisher/window.py | 9 ++++++++- 3 files changed, 20 insertions(+), 2 deletions(-) diff --git a/openpype/tools/new_publisher/control.py b/openpype/tools/new_publisher/control.py index 2a7d0e4c55..05072b5861 100644 --- a/openpype/tools/new_publisher/control.py +++ b/openpype/tools/new_publisher/control.py @@ -523,6 +523,10 @@ class PublisherController: def publish_has_crashed(self): return bool(self._publish_error) + @property + def publish_has_validation_errors(self): + return bool(self._publish_validation_errors) + @property def publish_max_progress(self): return self._publish_max_progress diff --git a/openpype/tools/new_publisher/widgets/publish_widget.py b/openpype/tools/new_publisher/widgets/publish_widget.py index c7e3d3a6a8..9dca3733cf 100644 --- a/openpype/tools/new_publisher/widgets/publish_widget.py +++ b/openpype/tools/new_publisher/widgets/publish_widget.py @@ -203,7 +203,14 @@ class PublishFrame(QtWidgets.QFrame): if validate_enabled: validate_enabled = not self.controller.publish_has_validated if publish_enabled: - publish_enabled = not self.controller.publish_has_finished + if ( + self.controller.publish_has_validated + and self.controller.publish_has_validation_errors + ): + publish_enabled = False + + else: + publish_enabled = not self.controller.publish_has_finished self.validate_btn.setEnabled(validate_enabled) self.publish_btn.setEnabled(publish_enabled) diff --git a/openpype/tools/new_publisher/window.py b/openpype/tools/new_publisher/window.py index ecdfe7960b..7983061b3d 100644 --- a/openpype/tools/new_publisher/window.py +++ b/openpype/tools/new_publisher/window.py @@ -364,7 +364,14 @@ class PublisherWindow(QtWidgets.QWidget): if validate_enabled: validate_enabled = not self.controller.publish_has_validated if publish_enabled: - publish_enabled = not self.controller.publish_has_finished + if ( + self.controller.publish_has_validated + and self.controller.publish_has_validation_errors + ): + publish_enabled = False + + else: + publish_enabled = not self.controller.publish_has_finished self.validate_btn.setEnabled(validate_enabled) self.publish_btn.setEnabled(publish_enabled)