update family filters on context change

This commit is contained in:
iLLiCiTiT 2021-09-17 19:26:52 +02:00
parent 424c76e3ea
commit 62b975dde2
3 changed files with 21 additions and 18 deletions

View file

@ -232,8 +232,11 @@ class LoaderWidow(QtWidgets.QDialog):
# ------------------------------
def on_context_task_change(self, *args, **kwargs):
# Change to context asset on context change
assets_widget = self.data["widgets"]["assets"]
families_view = self.data["widgets"]["families"]
# Refresh families config
families_view.refresh()
# Change to context asset on context change
assets_widget.select_assets(io.Session["AVALON_ASSET"])
def _refresh(self):

View file

@ -889,11 +889,7 @@ class FamilyModel(QtGui.QStandardItemModel):
new_items = []
for family in families:
if family in self._items_by_family:
continue
family_config = self.family_config_cache.family_config(family)
label = family_config.get("label", family)
icon = family_config.get("icon", None)
@ -902,20 +898,25 @@ class FamilyModel(QtGui.QStandardItemModel):
else:
state = QtCore.Qt.Unchecked
item = QtGui.QStandardItem(label)
item.setFlags(
QtCore.Qt.ItemIsEnabled
| QtCore.Qt.ItemIsSelectable
| QtCore.Qt.ItemIsUserCheckable
)
if family not in self._items_by_family:
item = QtGui.QStandardItem(label)
item.setFlags(
QtCore.Qt.ItemIsEnabled
| QtCore.Qt.ItemIsSelectable
| QtCore.Qt.ItemIsUserCheckable
)
else:
item = self._items_by_family[label]
item.setData(QtCore.Qt.DisplayRole, label)
new_items.append(item)
self._items_by_family[family] = item
item.setCheckState(state)
if icon:
item.setIcon(icon)
new_items.append(item)
self._items_by_family[family] = item
if new_items:
root_item.appendRows(new_items)