diff --git a/pyblish_lite/window.py b/pyblish_lite/window.py index 97dde5c..d3ffc10 100644 --- a/pyblish_lite/window.py +++ b/pyblish_lite/window.py @@ -961,11 +961,17 @@ def on_was_reset(self): self.info(self.tr("Finishing up reset..")) - context_item = models["instances"].context_item + items = [models["instances"].context_item] + items.extend([instance for instance in self.controller.context]) + models["instances"].reset() - models["instances"].append(context_item) - for instance in self.controller.context: - models["instances"].append(instance) + for item in items: + # Set processed, succeeded and idle back to default stage after + # collecting + item._is_idle = True + item._has_succeeded = False + item._has_processed = False + models["instances"].append(item) failed = False for index in self.data["models"]["plugins"]: @@ -1020,6 +1026,12 @@ def on_was_validated(self): failed = True for index in instance_model: + if ( + not index.data(model.HasFailed) and + not index.data(model.HasSucceeded) + ): + index.model().setData(index, True, model.HasSucceeded) + index.model().setData(index, False, model.IsIdle) buttons = self.data["buttons"]