Merge pull request #522 from vkbo/issue521_move_item_crash

Issue 521: Move Tree Item Crash
This commit is contained in:
Veronica K. Berglyd Olsen
2020-12-09 23:27:22 +01:00
committed by GitHub
+13 -8
View File
@@ -286,11 +286,14 @@ class GuiProjectTree(QTreeWidget):
logger.error("No project open") logger.error("No project open")
return False return False
hasFocus = qApp.focusWidget() == self or not self.mainConf.showGUI if qApp.focusWidget() != self and self.mainConf.showGUI:
if hasFocus and self.theParent.hasProject: return False
tHandle = self.getSelectedHandle() tHandle = self.getSelectedHandle()
tItem = self._getTreeItem(tHandle) tItem = self._getTreeItem(tHandle)
if tItem is None:
return False
pItem = tItem.parent() pItem = tItem.parent()
if pItem is None: if pItem is None:
tIndex = self.indexOfTopLevelItem(tItem) tIndex = self.indexOfTopLevelItem(tItem)
@@ -314,9 +317,6 @@ class GuiProjectTree(QTreeWidget):
cItem.setSelected(True) cItem.setSelected(True)
self._setTreeChanged(True) self._setTreeChanged(True)
else:
return False
return True return True
def saveTreeOrder(self): def saveTreeOrder(self):
@@ -431,7 +431,7 @@ class GuiProjectTree(QTreeWidget):
trItemS = self._getTreeItem(tHandle) trItemS = self._getTreeItem(tHandle)
nwItemS = self.theProject.projTree[tHandle] nwItemS = self.theProject.projTree[tHandle]
if nwItemS is None: if trItemS is None or nwItemS is None:
return False return False
wCount = int(trItemS.data(self.C_COUNT, Qt.UserRole)) wCount = int(trItemS.data(self.C_COUNT, Qt.UserRole))
@@ -582,11 +582,16 @@ class GuiProjectTree(QTreeWidget):
properly reported to the function. properly reported to the function.
""" """
tItem = self._getTreeItem(tHandle) tItem = self._getTreeItem(tHandle)
if tItem is not None: if tItem is None:
return
tItem.setText(self.C_COUNT, f"{theCount:n}") tItem.setText(self.C_COUNT, f"{theCount:n}")
tItem.setData(self.C_COUNT, Qt.UserRole, int(theCount)) tItem.setData(self.C_COUNT, Qt.UserRole, int(theCount))
pItem = tItem.parent() pItem = tItem.parent()
if pItem is not None: if pItem is None:
return
pCount = 0 pCount = 0
for i in range(pItem.childCount()): for i in range(pItem.childCount()):
pCount += int(pItem.child(i).data(self.C_COUNT, Qt.UserRole)) pCount += int(pItem.child(i).data(self.C_COUNT, Qt.UserRole))