diff --git a/openpype/tools/new_publisher/window.py b/openpype/tools/new_publisher/window.py index f97bf32453..02d4dc7563 100644 --- a/openpype/tools/new_publisher/window.py +++ b/openpype/tools/new_publisher/window.py @@ -112,6 +112,10 @@ class PublisherWindow(QtWidgets.QWidget): validate_btn.clicked.connect(self._on_validate_clicked) publish_btn.clicked.connect(self._on_publish_clicked) + subset_view.selectionModel().selectionChanged.connect( + self._on_subset_change + ) + self.main_frame = main_frame self.context_label = context_label @@ -196,6 +200,21 @@ class PublisherWindow(QtWidgets.QWidget): def _on_control_reset(self): self._refresh_instances() + def _on_subset_change(self, *_args): + instances = [] + instances_by_id = {} + for instance in self.controller.instances: + instance_id = instance.data["uuid"] + instances_by_id[instance_id] = instance + + for index in self.subset_view.selectionModel().selectedIndexes(): + instance_id = index.data(QtCore.Qt.UserRole) + instance = instances_by_id.get(instance_id) + if instance: + instances.append(instance) + + self.subset_attributes_widget.set_current_instances(instances) + def main(): """Main function for testing purposes."""