mirror of
https://github.com/ynput/ayon-core.git
synced 2025-12-24 21:04:40 +01:00
auto set product type filters
This commit is contained in:
parent
9033640efa
commit
c34e3bb15e
2 changed files with 38 additions and 0 deletions
|
|
@ -709,6 +709,19 @@ class FiltersBar(BaseClickableFrame):
|
|||
return value
|
||||
return None
|
||||
|
||||
def set_filter_value(self, name: str, value: Any):
|
||||
"""Set the value of a filter by its name."""
|
||||
if name not in self._filter_defs_by_name:
|
||||
return
|
||||
|
||||
item_widget = self._widgets_by_name.get(name)
|
||||
if item_widget is None:
|
||||
self.add_item(name)
|
||||
item_widget = self._widgets_by_name.get(name)
|
||||
|
||||
item_widget.set_value(value)
|
||||
self.filter_changed.emit(name)
|
||||
|
||||
def add_item(self, name: str):
|
||||
"""Add a new item to the search bar.
|
||||
|
||||
|
|
|
|||
|
|
@ -318,6 +318,8 @@ class LoaderWindow(QtWidgets.QWidget):
|
|||
self._selected_folder_ids = set()
|
||||
self._selected_version_ids = set()
|
||||
|
||||
self._set_product_type_filters = True
|
||||
|
||||
self._products_widget.set_enable_grouping(
|
||||
self._product_group_checkbox.isChecked()
|
||||
)
|
||||
|
|
@ -573,6 +575,29 @@ class LoaderWindow(QtWidgets.QWidget):
|
|||
),
|
||||
])
|
||||
|
||||
# Set product types filter from settings
|
||||
if self._set_product_type_filters:
|
||||
self._set_product_type_filters = False
|
||||
product_types_filter = self._controller.get_product_types_filter()
|
||||
product_types = []
|
||||
for item in filter_product_type_items:
|
||||
product_type = item["value"]
|
||||
matching = (
|
||||
int(product_type in product_types_filter.product_types)
|
||||
+ int(product_types_filter.is_allow_list)
|
||||
)
|
||||
if matching % 2 == 0:
|
||||
product_types.append(product_type)
|
||||
|
||||
if (
|
||||
product_types
|
||||
and len(product_types) < len(filter_product_type_items)
|
||||
):
|
||||
self._search_bar.set_filter_value(
|
||||
"product_types",
|
||||
product_types
|
||||
)
|
||||
|
||||
def _on_folders_selection_changed(self, event):
|
||||
self._selected_folder_ids = set(event["folder_ids"])
|
||||
self._update_thumbnails()
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue