UpperManagement.deleteDate emits list of sets, indexes in datawidget are now only updated once

This commit is contained in:
Dominik Demuth
2023-04-15 15:40:49 +02:00
parent e41c42d573
commit bd8a4f16ea
4 changed files with 25 additions and 15 deletions

View File

@ -20,6 +20,7 @@ class DataTree(QtWidgets.QTreeWidget):
saveFits = QtCore.pyqtSignal(list)
extendFits = QtCore.pyqtSignal(list)
# noinspection PyUnresolvedReferences
def __init__(self, parent=None):
super().__init__(parent=parent)
@ -230,7 +231,7 @@ class DataTree(QtWidgets.QTreeWidget):
def sort(self, graph_item: QtWidgets.QTreeWidgetItem, mode: str = 'value'):
graph_id = graph_item.data(0, QtCore.Qt.UserRole)
sets = self.management.get_attributes(graph_id, mode)
sets = self.management.get_attributes(graph_id, mode)
sets = [el[0] for el in sorted(sets.items(), key=lambda x: x[1])]
self.management.move_sets(sets, graph_id, graph_id, pos=-1)
@ -248,7 +249,6 @@ class DataTree(QtWidgets.QTreeWidget):
self.blockSignals(False)
def update_indexes(self):
graph_cnt = -1
set_cnt = 0
@ -343,7 +343,7 @@ class DataTree(QtWidgets.QTreeWidget):
self.setDragEnabled(idx.column() == 0)
super().mousePressEvent(evt)
def remove_item(self, ids: list):
def remove_item(self, ids: list[str]):
iterator = QtWidgets.QTreeWidgetItemIterator(self)
while iterator.value():
item = iterator.value()
@ -527,6 +527,7 @@ class DataWidget(QtWidgets.QWidget, Ui_DataWidget):
self.setupUi(self)
self.tree = DataTree(self)
self.verticalLayout.addWidget(self.tree)
# noinspection PyUnresolvedReferences
self.tree.selectionModel().selectionChanged.connect(lambda x, y: self.show_property(x))
self.tree.keyChanged.connect(lambda x, y: self.keyChanged.emit(x, y))
@ -554,7 +555,7 @@ class DataWidget(QtWidgets.QWidget, Ui_DataWidget):
self.tree.add_item(loi, gid)
self.tree.blockSignals(False)
def remove_item(self, key):
def remove_item(self, key: list[str]):
self.tree.remove_item(key)
def show_property(self, _: QtCore.QModelIndex = None):