more descriptiove naming 'version_tags'

This commit is contained in:
Jakub Trllo 2025-06-12 17:59:28 +02:00
parent 715031a9b5
commit 9b7be08890
3 changed files with 28 additions and 28 deletions

View file

@ -29,10 +29,10 @@ class VersionsModel(QtGui.QStandardItemModel):
def __init__(self):
super().__init__()
self._items_by_id = {}
self._tags_by_version_id = {}
self._version_tags_by_version_id = {}
def get_version_tags(self, version_id: str) -> set[str]:
tags = self._tags_by_version_id.get(version_id)
tags = self._version_tags_by_version_id.get(version_id)
if tags is None:
tags = set()
return tags
@ -49,7 +49,7 @@ class VersionsModel(QtGui.QStandardItemModel):
item = self._items_by_id.pop(item_id)
root_item.removeRow(item.row())
tags_by_version_id = {}
version_tags_by_version_id = {}
for idx, version_item in enumerate(version_items):
version_id = version_item.version_id
@ -62,11 +62,11 @@ class VersionsModel(QtGui.QStandardItemModel):
item.setData(version_id, VERSION_ID_ROLE)
item.setData(version_item.status, STATUS_NAME_ROLE)
item.setData(version_item.task_id, TASK_ID_ROLE)
tags_by_version_id[version_id] = set(version_item.tags)
version_tags_by_version_id[version_id] = set(version_item.tags)
if item.row() != idx:
root_item.insertRow(idx, item)
self._tags_by_version_id = tags_by_version_id
self._version_tags_by_version_id = version_tags_by_version_id
class VersionsFilterModel(QtCore.QSortFilterProxyModel):
@ -74,7 +74,7 @@ class VersionsFilterModel(QtCore.QSortFilterProxyModel):
super().__init__()
self._status_filter = None
self._task_ids_filter = None
self._tags_filter = None
self._version_tags_filter = None
def filterAcceptsRow(self, row, parent):
index = None
@ -94,8 +94,8 @@ class VersionsFilterModel(QtCore.QSortFilterProxyModel):
if task_id not in self._task_ids_filter:
return False
if self._tags_filter is not None:
if not self._tags_filter:
if self._version_tags_filter is not None:
if not self._version_tags_filter:
return False
if index is None:
@ -104,7 +104,7 @@ class VersionsFilterModel(QtCore.QSortFilterProxyModel):
model = self.sourceModel()
tags = model.get_version_tags(version_id)
if not tags & self._tags_filter:
if not tags & self._version_tags_filter:
return False
return True
@ -121,10 +121,10 @@ class VersionsFilterModel(QtCore.QSortFilterProxyModel):
self._status_filter = status_names
self.invalidateFilter()
def set_tags_filter(self, tags):
if self._tags_filter == tags:
def set_version_tags_filter(self, tags):
if self._version_tags_filter == tags:
return
self._tags_filter = tags
self._version_tags_filter = tags
self.invalidateFilter()
@ -167,8 +167,8 @@ class VersionComboBox(QtWidgets.QComboBox):
if self.currentIndex() != 0:
self.setCurrentIndex(0)
def set_tags_filter(self, tags):
self._proxy_model.set_tags_filter(tags)
def set_version_tags_filter(self, tags):
self._proxy_model.set_version_tags_filter(tags)
if self.count() == 0:
return
if self.currentIndex() != 0:
@ -217,7 +217,7 @@ class VersionDelegate(QtWidgets.QStyledItemDelegate):
self._editor_by_id: Dict[str, VersionComboBox] = {}
self._task_ids_filter = None
self._statuses_filter = None
self._tags_filter = None
self._version_tags_filter = None
def displayText(self, value, locale):
if not isinstance(value, numbers.Integral):
@ -236,12 +236,12 @@ class VersionDelegate(QtWidgets.QStyledItemDelegate):
for widget in self._editor_by_id.values():
widget.set_statuses_filter(status_names)
def set_tags_filter(self, tags):
def set_version_tags_filter(self, tags):
if tags is not None:
tags = set(tags)
self._tags_filter = tags
self._version_tags_filter = tags
for widget in self._editor_by_id.values():
widget.set_tags_filter(tags)
widget.set_version_tags_filter(tags)
def paint(self, painter, option, index):
fg_color = index.data(QtCore.Qt.ForegroundRole)

View file

@ -423,9 +423,9 @@ class ProductsModel(QtGui.QStandardItemModel):
version_item.status
for version_item in product_item.version_items.values()
}
tags = set()
version_tags = set()
for version_item in product_item.version_items.values():
tags |= set(version_item.tags)
version_tags |= set(version_item.tags)
if model_item is None:
product_id = product_item.product_id
@ -445,7 +445,7 @@ class ProductsModel(QtGui.QStandardItemModel):
self._items_by_id[product_id] = model_item
model_item.setData("|".join(statuses), STATUS_NAME_FILTER_ROLE)
model_item.setData("|".join(tags), VERSION_TAGS_FILTER_ROLE)
model_item.setData("|".join(version_tags), VERSION_TAGS_FILTER_ROLE)
model_item.setData(product_item.folder_label, FOLDER_LABEL_ROLE)
in_scene = 1 if product_item.product_in_scene else 0
model_item.setData(in_scene, PRODUCT_IN_SCENE_ROLE)

View file

@ -42,7 +42,7 @@ class ProductsProxyModel(RecursiveSortFilterProxyModel):
self._product_type_filters = None
self._statuses_filter = None
self._tags_filter = None
self._version_tags_filter = None
self._task_ids_filter = None
self._ascending_sort = True
@ -70,9 +70,9 @@ class ProductsProxyModel(RecursiveSortFilterProxyModel):
self.invalidateFilter()
def set_version_tags_filter(self, tags):
if self._tags_filter == tags:
if self._version_tags_filter == tags:
return
self._tags_filter = tags
self._version_tags_filter = tags
self.invalidateFilter()
def filterAcceptsRow(self, source_row, source_parent):
@ -92,7 +92,7 @@ class ProductsProxyModel(RecursiveSortFilterProxyModel):
return False
if not self._accept_row_by_role_value(
index, self._tags_filter, VERSION_TAGS_FILTER_ROLE
index, self._version_tags_filter, VERSION_TAGS_FILTER_ROLE
):
return False
@ -303,9 +303,9 @@ class ProductsWidget(QtWidgets.QWidget):
self._version_delegate.set_statuses_filter(status_names)
self._products_proxy_model.set_statuses_filter(status_names)
def set_version_tags_filter(self, tags):
self._version_delegate.set_tags_filter(tags)
self._products_proxy_model.set_version_tags_filter(tags)
def set_version_tags_filter(self, version_tags):
self._version_delegate.set_version_tags_filter(version_tags)
self._products_proxy_model.set_version_tags_filter(version_tags)
def set_product_type_filter(self, product_type_filters):
"""