mirror of
https://github.com/ynput/ayon-core.git
synced 2025-12-24 21:04:40 +01:00
Merge pull request #268 from pypeclub/bugfix/266-Toggle_instance_in_Pyblish-pype_crashes
Bugfix/266 toggle instance in pyblish pype crashes
This commit is contained in:
commit
d88f04e8fa
1 changed files with 25 additions and 5 deletions
|
|
@ -415,9 +415,9 @@ class Window(QtWidgets.QDialog):
|
|||
QtCore.Qt.DirectConnection
|
||||
)
|
||||
|
||||
artist_view.toggled.connect(self.on_item_toggled)
|
||||
overview_instance_view.toggled.connect(self.on_item_toggled)
|
||||
overview_plugin_view.toggled.connect(self.on_item_toggled)
|
||||
artist_view.toggled.connect(self.on_instance_toggle)
|
||||
overview_instance_view.toggled.connect(self.on_instance_toggle)
|
||||
overview_plugin_view.toggled.connect(self.on_plugin_toggle)
|
||||
|
||||
footer_button_stop.clicked.connect(self.on_stop_clicked)
|
||||
footer_button_reset.clicked.connect(self.on_reset_clicked)
|
||||
|
|
@ -537,7 +537,7 @@ class Window(QtWidgets.QDialog):
|
|||
):
|
||||
instance_item.setData(enable_value, Roles.IsEnabledRole)
|
||||
|
||||
def on_item_toggled(self, index, state=None):
|
||||
def on_instance_toggle(self, index, state=None):
|
||||
"""An item is requesting to be toggled"""
|
||||
if not index.data(Roles.IsOptionalRole):
|
||||
return self.info("This item is mandatory")
|
||||
|
|
@ -548,7 +548,27 @@ class Window(QtWidgets.QDialog):
|
|||
if state is None:
|
||||
state = not index.data(QtCore.Qt.CheckStateRole)
|
||||
|
||||
index.model().setData(index, state, QtCore.Qt.CheckStateRole)
|
||||
instance_id = index.data(Roles.ObjectIdRole)
|
||||
instanceitem = self.instance_model.instance_items[instance_id]
|
||||
instanceitem.setData(state, QtCore.Qt.CheckStateRole)
|
||||
|
||||
self.update_compatibility()
|
||||
|
||||
def on_plugin_toggle(self, index, state=None):
|
||||
"""An item is requesting to be toggled"""
|
||||
if not index.data(Roles.IsOptionalRole):
|
||||
return self.info("This item is mandatory")
|
||||
|
||||
if self.controller.collect_state != 1:
|
||||
return self.info("Cannot toggle")
|
||||
|
||||
if state is None:
|
||||
state = not index.data(QtCore.Qt.CheckStateRole)
|
||||
|
||||
plugin_id = index.data(Roles.ObjectIdRole)
|
||||
plugin_item = self.plugin_model.plugin_items[plugin_id]
|
||||
plugin_item.setData(state, QtCore.Qt.CheckStateRole)
|
||||
|
||||
self.update_compatibility()
|
||||
|
||||
def on_tab_changed(self, target):
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue