mirror of
https://github.com/ynput/ayon-core.git
synced 2025-12-24 12:54:40 +01:00
Merge pull request #6170 from ynput/enhancement/OP-7275_AYON-refresh-loader-on-show
Loader AYON: Reset loader window on open
This commit is contained in:
commit
5f0944ee5c
3 changed files with 16 additions and 3 deletions
|
|
@ -531,6 +531,9 @@ class FrontendLoaderController(_BaseLoaderController):
|
|||
|
||||
Product types have defined if are checked for filtering or not.
|
||||
|
||||
Args:
|
||||
project_name (Union[str, None]): Project name.
|
||||
|
||||
Returns:
|
||||
list[ProductTypeItem]: List of product type items for a project.
|
||||
"""
|
||||
|
|
|
|||
|
|
@ -179,12 +179,15 @@ class ProductsModel:
|
|||
"""Product type items for project.
|
||||
|
||||
Args:
|
||||
project_name (str): Project name.
|
||||
project_name (Union[str, None]): Project name.
|
||||
|
||||
Returns:
|
||||
list[ProductTypeItem]: Product type items.
|
||||
"""
|
||||
|
||||
if not project_name:
|
||||
return []
|
||||
|
||||
cache = self._product_type_items_cache[project_name]
|
||||
if not cache.is_valid:
|
||||
product_types = ayon_api.get_project_product_types(project_name)
|
||||
|
|
|
|||
|
|
@ -322,6 +322,7 @@ class LoaderWindow(QtWidgets.QWidget):
|
|||
)
|
||||
|
||||
def refresh(self):
|
||||
self._reset_on_show = False
|
||||
self._controller.reset()
|
||||
|
||||
def showEvent(self, event):
|
||||
|
|
@ -332,6 +333,13 @@ class LoaderWindow(QtWidgets.QWidget):
|
|||
|
||||
self._show_timer.start()
|
||||
|
||||
def closeEvent(self, event):
|
||||
super(LoaderWindow, self).closeEvent(event)
|
||||
# Deselect project so current context will be selected
|
||||
# on next 'showEvent'
|
||||
self._controller.set_selected_project(None)
|
||||
self._reset_on_show = True
|
||||
|
||||
def keyPressEvent(self, event):
|
||||
modifiers = event.modifiers()
|
||||
ctrl_pressed = QtCore.Qt.ControlModifier & modifiers
|
||||
|
|
@ -378,8 +386,7 @@ class LoaderWindow(QtWidgets.QWidget):
|
|||
self._show_timer.stop()
|
||||
|
||||
if self._reset_on_show:
|
||||
self._reset_on_show = False
|
||||
self._controller.reset()
|
||||
self.refresh()
|
||||
|
||||
def _show_group_dialog(self):
|
||||
project_name = self._projects_combobox.get_selected_project_name()
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue