mirror of
https://github.com/ynput/ayon-core.git
synced 2025-12-25 05:14:40 +01:00
families filtering by asset added to library loader
This commit is contained in:
parent
e6abb640d7
commit
5c1f34a7eb
2 changed files with 27 additions and 27 deletions
|
|
@ -151,6 +151,7 @@ class LibraryLoaderWindow(QtWidgets.QDialog):
|
|||
assets.view.clicked.connect(self.on_assetview_click)
|
||||
subsets.active_changed.connect(self.on_subsetschanged)
|
||||
subsets.version_changed.connect(self.on_versionschanged)
|
||||
subsets.refreshed.connect(self._on_subset_refresh)
|
||||
self.combo_projects.currentTextChanged.connect(self.on_project_change)
|
||||
|
||||
self.sync_server = sync_server
|
||||
|
|
@ -242,6 +243,12 @@ class LibraryLoaderWindow(QtWidgets.QDialog):
|
|||
"Config `%s` has no function `install`" % _config.__name__
|
||||
)
|
||||
|
||||
subsets = self.data["widgets"]["subsets"]
|
||||
representations = self.data["widgets"]["representations"]
|
||||
|
||||
subsets.on_project_change(self.dbcon.Session["AVALON_PROJECT"])
|
||||
representations.on_project_change(self.dbcon.Session["AVALON_PROJECT"])
|
||||
|
||||
self.family_config_cache.refresh()
|
||||
self.groups_config.refresh()
|
||||
|
||||
|
|
@ -252,12 +259,6 @@ class LibraryLoaderWindow(QtWidgets.QDialog):
|
|||
title = "{} - {}".format(self.tool_title, project_name)
|
||||
self.setWindowTitle(title)
|
||||
|
||||
subsets = self.data["widgets"]["subsets"]
|
||||
subsets.on_project_change(self.dbcon.Session["AVALON_PROJECT"])
|
||||
|
||||
representations = self.data["widgets"]["representations"]
|
||||
representations.on_project_change(self.dbcon.Session["AVALON_PROJECT"])
|
||||
|
||||
@property
|
||||
def current_project(self):
|
||||
if (
|
||||
|
|
@ -288,6 +289,14 @@ class LibraryLoaderWindow(QtWidgets.QDialog):
|
|||
self.echo("Fetching version..")
|
||||
tools_lib.schedule(self._versionschanged, 150, channel="mongo")
|
||||
|
||||
def _on_subset_refresh(self, has_item):
|
||||
subsets_widget = self.data["widgets"]["subsets"]
|
||||
families_view = self.data["widgets"]["families"]
|
||||
|
||||
subsets_widget.set_loading_state(loading=False, empty=not has_item)
|
||||
families = subsets_widget.get_subsets_families()
|
||||
families_view.set_enabled_families(families)
|
||||
|
||||
def set_context(self, context, refresh=True):
|
||||
self.echo("Setting context: {}".format(context))
|
||||
lib.schedule(
|
||||
|
|
@ -312,13 +321,14 @@ class LibraryLoaderWindow(QtWidgets.QDialog):
|
|||
assert project_doc, "This is a bug"
|
||||
|
||||
assets_widget = self.data["widgets"]["assets"]
|
||||
families_view = self.data["widgets"]["families"]
|
||||
families_view.set_enabled_families(set())
|
||||
families_view.refresh()
|
||||
|
||||
assets_widget.model.stop_fetch_thread()
|
||||
assets_widget.refresh()
|
||||
assets_widget.setFocus()
|
||||
|
||||
families = self.data["widgets"]["families"]
|
||||
families.refresh()
|
||||
|
||||
def clear_assets_underlines(self):
|
||||
last_asset_ids = self.data["state"]["assetIds"]
|
||||
if not last_asset_ids:
|
||||
|
|
@ -337,8 +347,6 @@ class LibraryLoaderWindow(QtWidgets.QDialog):
|
|||
|
||||
def _assetschanged(self):
|
||||
"""Selected assets have changed"""
|
||||
t1 = time.time()
|
||||
|
||||
assets_widget = self.data["widgets"]["assets"]
|
||||
subsets_widget = self.data["widgets"]["subsets"]
|
||||
subsets_model = subsets_widget.model
|
||||
|
|
@ -365,14 +373,6 @@ class LibraryLoaderWindow(QtWidgets.QDialog):
|
|||
empty=True
|
||||
)
|
||||
|
||||
def on_refreshed(has_item):
|
||||
empty = not has_item
|
||||
subsets_widget.set_loading_state(loading=False, empty=empty)
|
||||
subsets_model.refreshed.disconnect()
|
||||
self.echo("Duration: %.3fs" % (time.time() - t1))
|
||||
|
||||
subsets_model.refreshed.connect(on_refreshed)
|
||||
|
||||
subsets_model.set_assets(asset_ids)
|
||||
subsets_widget.view.setColumnHidden(
|
||||
subsets_model.Columns.index("asset"),
|
||||
|
|
@ -386,9 +386,8 @@ class LibraryLoaderWindow(QtWidgets.QDialog):
|
|||
self.data["state"]["assetIds"] = asset_ids
|
||||
|
||||
representations = self.data["widgets"]["representations"]
|
||||
representations.set_version_ids([]) # reset repre list
|
||||
|
||||
self.echo("Duration: %.3fs" % (time.time() - t1))
|
||||
# reset repre list
|
||||
representations.set_version_ids([])
|
||||
|
||||
def _subsetschanged(self):
|
||||
asset_ids = self.data["state"]["assetIds"]
|
||||
|
|
|
|||
|
|
@ -218,11 +218,11 @@ class LoaderWidow(QtWidgets.QDialog):
|
|||
|
||||
def _on_subset_refresh(self, has_item):
|
||||
subsets_widget = self.data["widgets"]["subsets"]
|
||||
familis_widget = self.data["widgets"]["families"]
|
||||
families_view = self.data["widgets"]["families"]
|
||||
|
||||
subsets_widget.set_loading_state(loading=False, empty=not has_item)
|
||||
families = subsets_widget.get_subsets_families()
|
||||
familis_widget.set_enabled_families(families)
|
||||
families_view.set_enabled_families(families)
|
||||
|
||||
def _on_load_end(self):
|
||||
# Delay hiding as click events happened during loading should be
|
||||
|
|
@ -247,8 +247,8 @@ class LoaderWidow(QtWidgets.QDialog):
|
|||
assets_widget.refresh()
|
||||
assets_widget.setFocus()
|
||||
|
||||
families = self.data["widgets"]["families"]
|
||||
families.refresh()
|
||||
families_view = self.data["widgets"]["families"]
|
||||
families_view.refresh()
|
||||
|
||||
def clear_assets_underlines(self):
|
||||
"""Clear colors from asset data to remove colored underlines
|
||||
|
|
@ -303,7 +303,8 @@ class LoaderWidow(QtWidgets.QDialog):
|
|||
self.data["state"]["assetIds"] = asset_ids
|
||||
|
||||
representations = self.data["widgets"]["representations"]
|
||||
representations.set_version_ids([]) # reset repre list
|
||||
# reset repre list
|
||||
representations.set_version_ids([])
|
||||
|
||||
def _subsetschanged(self):
|
||||
asset_ids = self.data["state"]["assetIds"]
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue