reverse project 'archive' to 'active'

This commit is contained in:
David Lai 2021-09-15 10:03:05 +08:00
parent 453a813ec1
commit b0d166fe09
8 changed files with 23 additions and 24 deletions

View file

@ -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(

View file

@ -24,5 +24,5 @@
],
"tools_env": [],
"archive_confirm": "",
"archived": false
"active": true
}

View file

@ -78,8 +78,8 @@
},
{
"type": "boolean",
"key": "archived",
"label": "Is Archived"
"key": "active",
"label": "Is Project Active"
}
]
}

View file

@ -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"])

View file

@ -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"]
):

View file

@ -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
)

View file

@ -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)

View file

@ -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: