Merge pull request #522 from vkbo/issue521_move_item_crash
Issue 521: Move Tree Item Crash
This commit is contained in:
+13
-8
@@ -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))
|
||||||
|
|||||||
Reference in New Issue
Block a user