mirror of
https://github.com/ynput/ayon-core.git
synced 2025-12-26 22:02:15 +01:00
instance context change triggers refresh of instance states
This commit is contained in:
parent
e89c0d42ad
commit
def20bc03c
2 changed files with 25 additions and 0 deletions
|
|
@ -572,6 +572,8 @@ class MultipleItemWidget(QtWidgets.QWidget):
|
|||
|
||||
|
||||
class GlobalAttrsWidget(QtWidgets.QWidget):
|
||||
instance_context_changed = QtCore.Signal()
|
||||
|
||||
multiselection_text = "< Multiselection >"
|
||||
unknown_value = "N/A"
|
||||
|
||||
|
|
@ -687,6 +689,8 @@ class GlobalAttrsWidget(QtWidgets.QWidget):
|
|||
self.cancel_btn.setEnabled(False)
|
||||
self.submit_btn.setEnabled(False)
|
||||
|
||||
self.instance_context_changed.emit()
|
||||
|
||||
def _on_cancel(self):
|
||||
self.variant_input.reset_to_origin()
|
||||
self.asset_value_widget.reset_to_origin()
|
||||
|
|
@ -938,6 +942,7 @@ class SubsetAttributesWidget(QtWidgets.QWidget):
|
|||
| attributes | attributes | BOTTOM
|
||||
|______________|______________|
|
||||
"""
|
||||
instance_context_changed = QtCore.Signal()
|
||||
|
||||
def __init__(self, controller, parent):
|
||||
super(SubsetAttributesWidget, self).__init__(parent)
|
||||
|
|
@ -948,6 +953,7 @@ class SubsetAttributesWidget(QtWidgets.QWidget):
|
|||
# Global attributes
|
||||
global_attrs_widget = GlobalAttrsWidget(controller, top_widget)
|
||||
thumbnail_widget = ThumbnailWidget(top_widget)
|
||||
thumbnail_widget.setVisible(False)
|
||||
|
||||
top_layout = QtWidgets.QHBoxLayout(top_widget)
|
||||
top_layout.setContentsMargins(0, 0, 0, 0)
|
||||
|
|
@ -982,6 +988,10 @@ class SubsetAttributesWidget(QtWidgets.QWidget):
|
|||
layout.addWidget(top_bottom, 0)
|
||||
layout.addWidget(bottom_widget, 1)
|
||||
|
||||
global_attrs_widget.instance_context_changed.connect(
|
||||
self.instance_context_changed
|
||||
)
|
||||
|
||||
self.controller = controller
|
||||
|
||||
self.global_attrs_widget = global_attrs_widget
|
||||
|
|
|
|||
|
|
@ -175,6 +175,9 @@ class PublisherWindow(QtWidgets.QDialog):
|
|||
subset_view_cards.selection_changed.connect(
|
||||
self._on_subset_change
|
||||
)
|
||||
subset_attributes_widget.instance_context_changed.connect(
|
||||
self._on_instance_context_change
|
||||
)
|
||||
|
||||
controller.add_instances_refresh_callback(self._on_instances_refresh)
|
||||
|
||||
|
|
@ -237,6 +240,18 @@ class PublisherWindow(QtWidgets.QDialog):
|
|||
view = self.subset_views_layout.currentWidget()
|
||||
return view.get_selected_items()
|
||||
|
||||
def _on_instance_context_change(self):
|
||||
current_idx = self.subset_views_layout.currentIndex()
|
||||
for idx in range(self.subset_views_layout.count()):
|
||||
if idx == current_idx:
|
||||
continue
|
||||
widget = self.subset_views_layout.widget(idx)
|
||||
if widget.refreshed:
|
||||
widget.set_refreshed(False)
|
||||
|
||||
current_widget = self.subset_views_layout.widget(current_idx)
|
||||
current_widget.refresh_instance_states()
|
||||
|
||||
def _change_view_type(self):
|
||||
old_view = self.subset_views_layout.currentWidget()
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue