From 16f7bd9ec1c8438fdfeddc51c7c2c4e1348ec74a Mon Sep 17 00:00:00 2001 From: iLLiCiTiT Date: Thu, 6 May 2021 14:07:34 +0200 Subject: [PATCH] adde ProjectHelper which helps to keep track with project document --- .../project_manager/project_manager/view.py | 25 ++++++++++++++++++- .../project_manager/project_manager/window.py | 4 +-- 2 files changed, 26 insertions(+), 3 deletions(-) diff --git a/openpype/tools/project_manager/project_manager/view.py b/openpype/tools/project_manager/project_manager/view.py index 7131687612..7f8abd82c9 100644 --- a/openpype/tools/project_manager/project_manager/view.py +++ b/openpype/tools/project_manager/project_manager/view.py @@ -15,6 +15,22 @@ class NumberDef: self.decimals = 0 if decimals is None else decimals +class ProjectHelper: + def __init__(self, dbcon): + self.dbcon = dbcon + self.project_doc = None + + def set_project(self, project_name): + self.project_doc = None + + if not project_name: + return + + self.project_doc = self.dbcon.database[project_name].find_one( + {"type": "project"} + ) + + class HierarchyView(QtWidgets.QTreeView): """A tree view that deselects on clicking on an empty area in the view""" column_delegate_defs = { @@ -44,10 +60,12 @@ class HierarchyView(QtWidgets.QTreeView): "pixelAspect" ] - def __init__(self, source_model, *args, **kwargs): + def __init__(self, dbcon, source_model, *args, **kwargs): super(HierarchyView, self).__init__(*args, **kwargs) self._source_model = source_model + project_helper = ProjectHelper(dbcon) + main_delegate = QtWidgets.QStyledItemDelegate() self.setItemDelegate(main_delegate) self.setAlternatingRowColors(True) @@ -72,10 +90,15 @@ class HierarchyView(QtWidgets.QTreeView): source_model.index_moved.connect(self._on_rows_moved) + self._project_helper = project_helper self._delegate = main_delegate self._column_delegates = column_delegates self._column_key_to_index = column_key_to_index + def set_project(self, project_name): + self._source_model.set_project(project_name) + self._project_helper.set_project(project_name) + def _on_rows_moved(self, index): parent_index = index.parent() if not self.isExpanded(parent_index): diff --git a/openpype/tools/project_manager/project_manager/window.py b/openpype/tools/project_manager/project_manager/window.py index 56c496346d..790df4557e 100644 --- a/openpype/tools/project_manager/project_manager/window.py +++ b/openpype/tools/project_manager/project_manager/window.py @@ -36,7 +36,7 @@ class Window(QtWidgets.QWidget): hierarchy_model = HierarchyModel(dbcon) - hierarchy_view = HierarchyView(hierarchy_model, self) + hierarchy_view = HierarchyView(dbcon, hierarchy_model, self) hierarchy_view.setModel(hierarchy_model) _selection_model = HierarchySelectionModel() _selection_model.setModel(hierarchy_view.model()) @@ -66,7 +66,7 @@ class Window(QtWidgets.QWidget): self.refresh_projects() def _set_project(self, project_name=None): - self.hierarchy_model.set_project(project_name) + self.hierarchy_view.set_project(project_name) def refresh_projects(self): current_project = None