diff --git a/openpype/tools/new_publisher/control.py b/openpype/tools/new_publisher/control.py index 929071f107..f183f662d2 100644 --- a/openpype/tools/new_publisher/control.py +++ b/openpype/tools/new_publisher/control.py @@ -135,16 +135,6 @@ class PublisherController: self.instances = instances - def save_instance_changes(self): - update_list = [] - for instance in self.instances: - instance_changes = instance.changes() - if instance_changes: - update_list.append((instance, instance_changes)) - - if update_list: - self.host.update_instances(update_list) - def get_family_attribute_definitions(self, instances): output = [] _attr_defs = {} @@ -218,3 +208,16 @@ class PublisherController: self._trigger_callbacks(self._on_create_callback_refs) return result + + def save_instance_changes(self): + update_list = [] + for instance in self.instances: + instance_changes = instance.changes() + if instance_changes: + update_list.append((instance, instance_changes)) + + if update_list: + self.host.update_instances(update_list) + + def remove_instances(self, instances): + self.host.remove_instances(instances) diff --git a/openpype/tools/new_publisher/window.py b/openpype/tools/new_publisher/window.py index 2747688f21..7a6aff79bd 100644 --- a/openpype/tools/new_publisher/window.py +++ b/openpype/tools/new_publisher/window.py @@ -232,6 +232,10 @@ class PublisherWindow(QtWidgets.QWidget): dialog.setDefaultButton(QtWidgets.QMessageBox.Ok) dialog.setEscapeButton(QtWidgets.QMessageBox.Cancel) dialog.exec_() + # Skip if OK was not clicked + if dialog.result() == QtWidgets.QMessageBox.Ok: + self.controller.remove_instances(instances) + def _on_change_view_clicked(self): print("change view")