Merge pull request #3216 from pypeclub/bugfix/project_manager_speed

Project manager: Sped up project load
This commit is contained in:
Jakub Trllo 2022-05-19 16:19:51 +02:00 committed by GitHub
commit 592c74f270
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 7 additions and 3 deletions

View file

@ -264,6 +264,8 @@ class HierarchyModel(QtCore.QAbstractItemModel):
if not project_doc:
return
self.blockSignals(True)
# Create project item
project_item = ProjectItem(project_doc)
self.add_item(project_item)
@ -377,6 +379,8 @@ class HierarchyModel(QtCore.QAbstractItemModel):
self.add_items(task_items, asset_item)
self.blockSignals(False)
# Emit that project was successfully changed
self.project_changed.emit()

View file

@ -195,13 +195,13 @@ class HierarchyView(QtWidgets.QTreeView):
for idx, width in widths_by_idx.items():
self.setColumnWidth(idx, width)
def set_project(self, project_name):
def set_project(self, project_name, force=False):
# Trigger helpers first
self._project_doc_cache.set_project(project_name)
self._tools_cache.refresh()
# Trigger update of model after all data for delegates are filled
self._source_model.set_project(project_name)
self._source_model.set_project(project_name, force)
def _on_project_reset(self):
self.header_init()

View file

@ -191,7 +191,7 @@ class ProjectManagerWindow(QtWidgets.QWidget):
self._add_task_btn.setEnabled(project_name is not None)
self._save_btn.setEnabled(project_name is not None)
self._project_proxy_model.set_filter_default(project_name is not None)
self.hierarchy_view.set_project(project_name)
self.hierarchy_view.set_project(project_name, True)
def _current_project(self):
row = self._project_combobox.currentIndex()