mirror of
https://github.com/ynput/ayon-core.git
synced 2025-12-25 21:32:15 +01:00
more cleanup in code and imports
This commit is contained in:
parent
3a3e83e589
commit
280560652d
3 changed files with 67 additions and 48 deletions
|
|
@ -1,11 +1,14 @@
|
|||
import collections
|
||||
import logging
|
||||
from Qt import QtWidgets, QtCore
|
||||
|
||||
from avalon import io, api, style
|
||||
from avalon import io, api
|
||||
from avalon.vendor import qtawesome
|
||||
|
||||
from .widgets import SearchComboBox
|
||||
|
||||
log = logging.getLogger("SwitchAssetDialog")
|
||||
|
||||
|
||||
class ValidationState:
|
||||
def __init__(self):
|
||||
|
|
@ -969,19 +972,16 @@ class SwitchAssetDialog(QtWidgets.QDialog):
|
|||
try:
|
||||
api.switch(container, repre_doc)
|
||||
except Exception:
|
||||
log.warning(
|
||||
(
|
||||
"Couldn't switch asset."
|
||||
"See traceback for more information."
|
||||
),
|
||||
exc_info=True
|
||||
msg = (
|
||||
"Couldn't switch asset."
|
||||
"See traceback for more information."
|
||||
)
|
||||
dialog = QtWidgets.QMessageBox()
|
||||
dialog.setStyleSheet(style.load_stylesheet())
|
||||
log.warning(msg, exc_info=True)
|
||||
dialog = QtWidgets.QMessageBox(self)
|
||||
dialog.setWindowTitle("Switch asset failed")
|
||||
msg = "Switch asset failed. "\
|
||||
"Search console log for more details"
|
||||
dialog.setText(msg)
|
||||
dialog.setText(
|
||||
"Switch asset failed. Search console log for more details"
|
||||
)
|
||||
dialog.exec_()
|
||||
|
||||
self.switched.emit()
|
||||
|
|
|
|||
|
|
@ -22,7 +22,7 @@ log = logging.getLogger("SceneInventory")
|
|||
|
||||
class SceneInvetoryView(QtWidgets.QTreeView):
|
||||
data_changed = QtCore.Signal()
|
||||
hierarchy_view = QtCore.Signal(bool)
|
||||
hierarchy_view_changed = QtCore.Signal(bool)
|
||||
|
||||
def __init__(self, parent=None):
|
||||
super(SceneInvetoryView, self).__init__(parent=parent)
|
||||
|
|
@ -41,10 +41,15 @@ class SceneInvetoryView(QtWidgets.QTreeView):
|
|||
self.sync_server = manager.modules_by_name["sync_server"]
|
||||
self.sync_enabled = self.sync_server.enabled
|
||||
|
||||
def _set_hierarchy_view(self, enabled):
|
||||
if enabled == self._hierarchy_view:
|
||||
return
|
||||
self._hierarchy_view = enabled
|
||||
self.hierarchy_view_changed.emit(enabled)
|
||||
|
||||
def _enter_hierarchy(self, items):
|
||||
self._selected = set(i["objectName"] for i in items)
|
||||
self._hierarchy_view = True
|
||||
self.hierarchy_view.emit(True)
|
||||
self._set_hierarchy_view(True)
|
||||
self.data_changed.emit()
|
||||
self.expandToDepth(1)
|
||||
self.setStyleSheet("""
|
||||
|
|
@ -54,8 +59,7 @@ class SceneInvetoryView(QtWidgets.QTreeView):
|
|||
""")
|
||||
|
||||
def _leave_hierarchy(self):
|
||||
self._hierarchy_view = False
|
||||
self.hierarchy_view.emit(False)
|
||||
self._set_hierarchy_view(False)
|
||||
self.data_changed.emit()
|
||||
self.setStyleSheet("QTreeView {}")
|
||||
|
||||
|
|
@ -189,8 +193,9 @@ class SceneInvetoryView(QtWidgets.QTreeView):
|
|||
try:
|
||||
api.update(item, version_name)
|
||||
except AssertionError:
|
||||
self._show_version_error_dialog(version_name,
|
||||
[item])
|
||||
self._show_version_error_dialog(
|
||||
version_name, [item]
|
||||
)
|
||||
log.warning("Update failed", exc_info=True)
|
||||
|
||||
self.data_changed.emit()
|
||||
|
|
|
|||
|
|
@ -5,14 +5,13 @@ from Qt import QtWidgets, QtCore
|
|||
from avalon.vendor import qtawesome
|
||||
from avalon import io, api
|
||||
|
||||
from avalon.tools import lib as tools_lib
|
||||
from avalon.tools.delegates import VersionDelegate
|
||||
|
||||
from openpype import style
|
||||
from openpype.tools.utils.delegates import VersionDelegate
|
||||
from openpype.tools.utils.lib import (
|
||||
qt_app_context,
|
||||
preserve_expanded_rows,
|
||||
preserve_selection
|
||||
preserve_selection,
|
||||
FamilyConfigCache
|
||||
)
|
||||
|
||||
from .model import (
|
||||
|
|
@ -37,14 +36,13 @@ class SceneInventoryWindow(QtWidgets.QDialog):
|
|||
self.windowFlags() | QtCore.Qt.WindowStaysOnTopHint
|
||||
)
|
||||
|
||||
self.resize(1100, 480)
|
||||
self.setWindowTitle(
|
||||
"Scene Inventory 1.0 - {}".format(
|
||||
os.getenv("AVALON_PROJECT") or "<Project not set>"
|
||||
)
|
||||
)
|
||||
project_name = os.getenv("AVALON_PROJECT") or "<Project not set>"
|
||||
self.setWindowTitle("Scene Inventory 1.0 - {}".format(project_name))
|
||||
self.setObjectName("SceneInventory")
|
||||
self.setProperty("saveWindowPref", True) # Maya only property!
|
||||
# Maya only property
|
||||
self.setProperty("saveWindowPref", True)
|
||||
|
||||
self.resize(1100, 480)
|
||||
|
||||
# region control
|
||||
filter_label = QtWidgets.QLabel("Search", self)
|
||||
|
|
@ -67,9 +65,9 @@ class SceneInventoryWindow(QtWidgets.QDialog):
|
|||
control_layout.addWidget(refresh_button)
|
||||
|
||||
# endregion control
|
||||
self.family_config_cache = tools_lib.global_family_cache()
|
||||
family_config_cache = FamilyConfigCache(io)
|
||||
|
||||
model = InventoryModel(self.family_config_cache)
|
||||
model = InventoryModel(family_config_cache)
|
||||
proxy = FilterProxyModel()
|
||||
proxy.setSourceModel(model)
|
||||
proxy.setDynamicSortFilter(True)
|
||||
|
|
@ -95,23 +93,27 @@ class SceneInventoryWindow(QtWidgets.QDialog):
|
|||
layout.addWidget(view)
|
||||
|
||||
# signals
|
||||
text_filter.textChanged.connect(proxy.setFilterRegExp)
|
||||
outdated_only_checkbox.stateChanged.connect(proxy.set_filter_outdated)
|
||||
refresh_button.clicked.connect(self.refresh)
|
||||
text_filter.textChanged.connect(self._on_text_filter_change)
|
||||
outdated_only_checkbox.stateChanged.connect(
|
||||
self._on_outdated_state_change
|
||||
)
|
||||
view.hierarchy_view_changed.connect(
|
||||
self._on_hiearchy_view_change
|
||||
)
|
||||
view.data_changed.connect(self.refresh)
|
||||
view.hierarchy_view.connect(model.set_hierarchy_view)
|
||||
view.hierarchy_view.connect(proxy.set_hierarchy_view)
|
||||
refresh_button.clicked.connect(self.refresh)
|
||||
|
||||
self._outdated_only_checkbox = outdated_only_checkbox
|
||||
self._view = view
|
||||
self.refresh_button = refresh_button
|
||||
self.model = model
|
||||
self.proxy = proxy
|
||||
self._model = model
|
||||
self._proxy = proxy
|
||||
self._version_delegate = version_delegate
|
||||
|
||||
self.family_config_cache.refresh()
|
||||
self._family_config_cache = family_config_cache
|
||||
|
||||
self._first_show = True
|
||||
|
||||
family_config_cache.refresh()
|
||||
|
||||
def showEvent(self, event):
|
||||
super(SceneInventoryWindow, self).showEvent(event)
|
||||
if self._first_show:
|
||||
|
|
@ -131,18 +133,30 @@ class SceneInventoryWindow(QtWidgets.QDialog):
|
|||
def refresh(self, items=None):
|
||||
with preserve_expanded_rows(
|
||||
tree_view=self._view,
|
||||
role=self.model.UniqueRole
|
||||
role=self._model.UniqueRole
|
||||
):
|
||||
with preserve_selection(
|
||||
tree_view=self._view,
|
||||
role=self.model.UniqueRole,
|
||||
role=self._model.UniqueRole,
|
||||
current_index=False
|
||||
):
|
||||
kwargs = {"items": items}
|
||||
if self.view._hierarchy_view:
|
||||
# TODO do not touch view's inner attribute
|
||||
kwargs["selected"] = self.view._selected
|
||||
self.model.refresh(**kwargs)
|
||||
# TODO do not touch view's inner attribute
|
||||
if self._view._hierarchy_view:
|
||||
kwargs["selected"] = self._view._selected
|
||||
self._model.refresh(**kwargs)
|
||||
|
||||
def _on_hiearchy_view_change(self, enabled):
|
||||
self._proxy.set_hierarchy_view(enabled)
|
||||
self._model.set_hierarchy_view(enabled)
|
||||
|
||||
def _on_text_filter_change(self, text_filter):
|
||||
self._proxy.setFilterRegExp(text_filter)
|
||||
|
||||
def _on_outdated_state_change(self):
|
||||
self._proxy.set_filter_outdated(
|
||||
self._outdated_only_checkbox.isChecked()
|
||||
)
|
||||
|
||||
|
||||
def show(root=None, debug=False, parent=None, items=None):
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue