mirror of
https://github.com/ynput/ayon-core.git
synced 2026-01-01 16:34:53 +01:00
modified assets widget to use new models nad modified what is called when
This commit is contained in:
parent
cde8c69cba
commit
a232f8bc58
1 changed files with 51 additions and 0 deletions
|
|
@ -5,6 +5,7 @@ from Qt import QtWidgets, QtCore, QtGui
|
|||
from avalon.vendor import qtawesome
|
||||
|
||||
from openpype.tools.flickcharm import FlickCharm
|
||||
from openpype.tools.utils.assets_widget import SingleSelectAssetsWidget
|
||||
from openpype.tools.utils.tasks_widget import TasksWidget
|
||||
|
||||
from .delegates import ActionDelegate
|
||||
|
|
@ -12,6 +13,8 @@ from . import lib
|
|||
from .models import (
|
||||
ActionModel,
|
||||
ProjectModel,
|
||||
LauncherAssetsModel,
|
||||
AssetRecursiveSortFilterModel,
|
||||
LauncherTaskModel,
|
||||
LauncherTasksProxyModel
|
||||
)
|
||||
|
|
@ -102,6 +105,54 @@ class LauncherTaskWidget(TasksWidget):
|
|||
return proxy
|
||||
|
||||
|
||||
class LauncherAssetsWidget(SingleSelectAssetsWidget):
|
||||
def __init__(self, launcher_model, *args, **kwargs):
|
||||
self._launcher_model = launcher_model
|
||||
|
||||
super(LauncherAssetsWidget, self).__init__(*args, **kwargs)
|
||||
|
||||
launcher_model.assets_refresh_started.connect(self._on_refresh_start)
|
||||
|
||||
self.set_current_asset_btn_visibility(False)
|
||||
|
||||
def _on_refresh_start(self):
|
||||
self._set_loading_state(loading=True, empty=True)
|
||||
self.refresh_triggered.emit()
|
||||
|
||||
@property
|
||||
def refreshing(self):
|
||||
return self._model.refreshing
|
||||
|
||||
def refresh(self):
|
||||
self._launcher_model.refresh_assets(force=True)
|
||||
|
||||
def stop_refresh(self):
|
||||
raise ValueError("bug stop_refresh called")
|
||||
|
||||
def _refresh_model(self, clear=False):
|
||||
raise ValueError("bug _refresh_model called")
|
||||
|
||||
def _create_source_model(self):
|
||||
model = LauncherAssetsModel(self._launcher_model, self.dbcon)
|
||||
model.refreshed.connect(self._on_model_refresh)
|
||||
return model
|
||||
|
||||
def _create_proxy_model(self, source_model):
|
||||
proxy = AssetRecursiveSortFilterModel(self._launcher_model)
|
||||
proxy.setSourceModel(source_model)
|
||||
proxy.setFilterCaseSensitivity(QtCore.Qt.CaseInsensitive)
|
||||
proxy.setSortCaseSensitivity(QtCore.Qt.CaseInsensitive)
|
||||
return proxy
|
||||
|
||||
def _on_model_refresh(self, has_item):
|
||||
self._proxy.sort(0)
|
||||
self._set_loading_state(loading=False, empty=not has_item)
|
||||
self.refreshed.emit()
|
||||
|
||||
def _on_filter_text_change(self, new_text):
|
||||
self._launcher_model.set_asset_name_filter(new_text)
|
||||
|
||||
|
||||
class ActionBar(QtWidgets.QWidget):
|
||||
"""Launcher interface"""
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue