From 188cf1e57a37d70d228f433d8a183132f35da271 Mon Sep 17 00:00:00 2001 From: iLLiCiTiT Date: Wed, 12 May 2021 13:10:45 +0200 Subject: [PATCH] remove indexes implemented remove_indexes content --- .../project_manager/project_manager/model.py | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/openpype/tools/project_manager/project_manager/model.py b/openpype/tools/project_manager/project_manager/model.py index cb51323975..0b3bf2fa9e 100644 --- a/openpype/tools/project_manager/project_manager/model.py +++ b/openpype/tools/project_manager/project_manager/model.py @@ -435,6 +435,25 @@ class HierarchyModel(QtCore.QAbstractItemModel): def remove_indexes(self, indexes): items_by_id = {} + processed_ids = set() + for index in indexes: + if not index.isValid(): + continue + + item_id = index.data(IDENTIFIER_ROLE) + # There may be indexes for multiple columns + if item_id not in processed_ids: + processed_ids.add(item_id) + + item = self._items_by_id[item_id] + if isinstance(item, (TaskItem, AssetItem)): + items_by_id[item_id] = item + + if not items_by_id: + return + + for item in items_by_id.values(): + self._remove_item(item) def _remove_item(self, item): is_removed = item.data(None, REMOVED_ROLE)