From b0d166fe09b5f1a650ed476de43142cda243d9bd Mon Sep 17 00:00:00 2001 From: David Lai Date: Wed, 15 Sep 2021 10:03:05 +0800 Subject: [PATCH] reverse project 'archive' to 'active' --- .../sync_server/tray/widgets.py | 2 +- .../defaults/project_anatomy/attributes.json | 2 +- .../schemas/schema_anatomy_attributes.json | 4 +-- openpype/tools/launcher/models.py | 2 +- .../project_manager/project_manager/model.py | 2 +- .../local_settings/projects_widget.py | 2 +- openpype/tools/settings/settings/widgets.py | 29 +++++++++---------- .../standalonepublish/widgets/widget_asset.py | 4 +-- 8 files changed, 23 insertions(+), 24 deletions(-) diff --git a/openpype/modules/default_modules/sync_server/tray/widgets.py b/openpype/modules/default_modules/sync_server/tray/widgets.py index 1737b2e0c6..13389ed36c 100644 --- a/openpype/modules/default_modules/sync_server/tray/widgets.py +++ b/openpype/modules/default_modules/sync_server/tray/widgets.py @@ -34,7 +34,7 @@ class SyncProjectListWidget(ProjectListWidget): """ def __init__(self, sync_server, parent): - super(SyncProjectListWidget, self).__init__(parent, no_archived=True) + super(SyncProjectListWidget, self).__init__(parent, only_active=True) self.sync_server = sync_server self.project_list.setContextMenuPolicy(QtCore.Qt.CustomContextMenu) self.project_list.customContextMenuRequested.connect( diff --git a/openpype/settings/defaults/project_anatomy/attributes.json b/openpype/settings/defaults/project_anatomy/attributes.json index ac91622726..128d5c14ca 100644 --- a/openpype/settings/defaults/project_anatomy/attributes.json +++ b/openpype/settings/defaults/project_anatomy/attributes.json @@ -24,5 +24,5 @@ ], "tools_env": [], "archive_confirm": "", - "archived": false + "active": true } \ No newline at end of file diff --git a/openpype/settings/entities/schemas/projects_schema/schemas/schema_anatomy_attributes.json b/openpype/settings/entities/schemas/projects_schema/schemas/schema_anatomy_attributes.json index f70ab2fc5f..fdae566655 100644 --- a/openpype/settings/entities/schemas/projects_schema/schemas/schema_anatomy_attributes.json +++ b/openpype/settings/entities/schemas/projects_schema/schemas/schema_anatomy_attributes.json @@ -78,8 +78,8 @@ }, { "type": "boolean", - "key": "archived", - "label": "Is Archived" + "key": "active", + "label": "Is Project Active" } ] } diff --git a/openpype/tools/launcher/models.py b/openpype/tools/launcher/models.py index 53e2c19a3d..f87871409e 100644 --- a/openpype/tools/launcher/models.py +++ b/openpype/tools/launcher/models.py @@ -378,5 +378,5 @@ class ProjectModel(QtGui.QStandardItemModel): self.invisibleRootItem().insertRows(row, items) def get_projects(self): - return sorted(self.dbcon.projects(no_archived=True), + return sorted(self.dbcon.projects(only_active=True), key=lambda x: x["name"]) diff --git a/openpype/tools/project_manager/project_manager/model.py b/openpype/tools/project_manager/project_manager/model.py index e31dd2ccfe..7036b65f87 100644 --- a/openpype/tools/project_manager/project_manager/model.py +++ b/openpype/tools/project_manager/project_manager/model.py @@ -46,7 +46,7 @@ class ProjectModel(QtGui.QStandardItemModel): project_names = set() for doc in sorted( - self.dbcon.projects(projection={"name": 1}, no_archived=True), + self.dbcon.projects(projection={"name": 1}, only_active=True), key=lambda x: x["name"] ): diff --git a/openpype/tools/settings/local_settings/projects_widget.py b/openpype/tools/settings/local_settings/projects_widget.py index 7d19c37bdf..9cd3b9a38e 100644 --- a/openpype/tools/settings/local_settings/projects_widget.py +++ b/openpype/tools/settings/local_settings/projects_widget.py @@ -809,7 +809,7 @@ class ProjectSettingsWidget(QtWidgets.QWidget): self.modules_manager = modules_manager - projects_widget = _ProjectListWidget(self, no_archived=True) + projects_widget = _ProjectListWidget(self, only_active=True) roos_site_widget = RootSiteWidget( modules_manager, project_settings, self ) diff --git a/openpype/tools/settings/settings/widgets.py b/openpype/tools/settings/settings/widgets.py index d1a8bd8958..133f59e862 100644 --- a/openpype/tools/settings/settings/widgets.py +++ b/openpype/tools/settings/settings/widgets.py @@ -644,7 +644,7 @@ class ProjectListWidget(QtWidgets.QWidget): ProjectFilterRole = QtCore.Qt.UserRole + 11 ProjectSelectedRole = QtCore.Qt.UserRole + 12 - def __init__(self, parent, no_archived=False): + def __init__(self, parent, only_active=False): self._parent = parent self.current_project = None @@ -677,7 +677,7 @@ class ProjectListWidget(QtWidgets.QWidget): layout.addWidget(label_widget, 0) layout.addWidget(project_list, 1) - if no_archived: + if only_active: archived_chk = None else: archived_chk = QtWidgets.QCheckBox(" Show Archived Project ") @@ -697,7 +697,7 @@ class ProjectListWidget(QtWidgets.QWidget): self.archived_chk = archived_chk self.dbcon = None - self._no_archived = no_archived + self._only_active = only_active def on_item_clicked(self, new_index): new_project_name = new_index.data(QtCore.Qt.DisplayRole) @@ -778,8 +778,6 @@ class ProjectListWidget(QtWidgets.QWidget): model = self.project_model model.clear() - items = [(self.default, None)] - mongo_url = os.environ["OPENPYPE_MONGO"] # Force uninstall of whole avalon connection if url does not match @@ -797,33 +795,34 @@ class ProjectListWidget(QtWidgets.QWidget): self.dbcon = None self.current_project = None + items = [(self.default, True)] + if self.dbcon: for doc in self.dbcon.projects( - projection={"name": 1, "data.archived": 1}, - no_archived=self._no_archived + projection={"name": 1, "data.active": 1}, + only_active=self._only_active ): items.append( - (doc["name"], doc.get("data", {}).get("archived")) + (doc["name"], doc.get("data", {}).get("active", True)) ) - for project_name, is_archived in items: - visible = not is_archived + for project_name, is_active in items: row = QtGui.QStandardItem(project_name) - row.setData(visible, self.ProjectFilterRole) + row.setData(is_active, self.ProjectFilterRole) row.setData(False, self.ProjectSelectedRole) - if is_archived: + if is_active: + row.setData(project_name, self.ProjectSortRole) + + else: row.setData("~" + project_name, self.ProjectSortRole) font = row.font() font.setItalic(True) row.setFont(font) - else: - row.setData(project_name, self.ProjectSortRole) - model.appendRow(row) self.project_proxy.sort(0) diff --git a/openpype/tools/standalonepublish/widgets/widget_asset.py b/openpype/tools/standalonepublish/widgets/widget_asset.py index 8ee09d2435..eb22883c11 100644 --- a/openpype/tools/standalonepublish/widgets/widget_asset.py +++ b/openpype/tools/standalonepublish/widgets/widget_asset.py @@ -275,7 +275,7 @@ class AssetWidget(QtWidgets.QWidget): project_names = list() for doc in self.dbcon.projects(projection={"name": 1}, - no_archived=True): + only_active=True): project_name = doc.get("name") if project_name: @@ -304,7 +304,7 @@ class AssetWidget(QtWidgets.QWidget): projects = list() for project in self.dbcon.projects(projection={"name": 1}, - no_archived=True): + only_active=True): projects.append(project['name']) project_name = self.combo_projects.currentText() if project_name in projects: