Files can now be moved to trash
This commit is contained in:
+5
-6
@@ -14,12 +14,11 @@ from enum import Enum
|
|||||||
|
|
||||||
class nwItemType(Enum):
|
class nwItemType(Enum):
|
||||||
|
|
||||||
NO_TYPE = 0
|
NO_TYPE = 0
|
||||||
ROOT = 1
|
ROOT = 1
|
||||||
FOLDER = 2
|
FOLDER = 2
|
||||||
FILE = 3
|
FILE = 3
|
||||||
TRASH = 4
|
TRASH = 4
|
||||||
TRASHFILE = 5
|
|
||||||
|
|
||||||
# END Enum nwItemType
|
# END Enum nwItemType
|
||||||
|
|
||||||
|
|||||||
+31
-11
@@ -134,7 +134,7 @@ class GuiDocTree(QTreeWidget):
|
|||||||
# Add the new item to the tree
|
# Add the new item to the tree
|
||||||
nwItem = self.theProject.getItem(tHandle)
|
nwItem = self.theProject.getItem(tHandle)
|
||||||
trItem = self._addTreeItem(nwItem)
|
trItem = self._addTreeItem(nwItem)
|
||||||
if pHandle is not None:
|
if pHandle is not None and pHandle in self.theMap.keys():
|
||||||
self.theMap[pHandle].setExpanded(True)
|
self.theMap[pHandle].setExpanded(True)
|
||||||
self.clearSelection()
|
self.clearSelection()
|
||||||
trItem.setSelected(True)
|
trItem.setSelected(True)
|
||||||
@@ -148,7 +148,7 @@ class GuiDocTree(QTreeWidget):
|
|||||||
"""
|
"""
|
||||||
if QApplication.focusWidget() == self:
|
if QApplication.focusWidget() == self:
|
||||||
tHandle = self.getSelectedHandle()
|
tHandle = self.getSelectedHandle()
|
||||||
tItem = self.theMap[tHandle]
|
tItem = self._getTreeItem(tHandle)
|
||||||
pItem = tItem.parent()
|
pItem = tItem.parent()
|
||||||
if pItem is None:
|
if pItem is None:
|
||||||
tIndex = self.indexOfTopLevelItem(tItem)
|
tIndex = self.indexOfTopLevelItem(tItem)
|
||||||
@@ -187,15 +187,25 @@ class GuiDocTree(QTreeWidget):
|
|||||||
|
|
||||||
def deleteItem(self):
|
def deleteItem(self):
|
||||||
tHandle = self.getSelectedHandle()
|
tHandle = self.getSelectedHandle()
|
||||||
nwItem = self.theProject.getItem(tHandle)
|
trItemS = self._getTreeItem(tHandle)
|
||||||
if nwItem.itemType == nwItemType.FILE:
|
nwItemS = self.theProject.getItem(tHandle)
|
||||||
|
if nwItemS.itemType == nwItemType.FILE:
|
||||||
logger.debug("User requested item %s moved to trash" % tHandle)
|
logger.debug("User requested item %s moved to trash" % tHandle)
|
||||||
self._addTrashRoot()
|
trItemP = trItemS.parent()
|
||||||
|
trItemT = self._addTrashRoot()
|
||||||
|
if trItemP is None or trItemT is None:
|
||||||
|
logger.error("Could not move item to trash")
|
||||||
|
return
|
||||||
|
tIndex = trItemP.indexOfChild(trItemS)
|
||||||
|
trItemC = trItemP.takeChild(tIndex)
|
||||||
|
trItemT.addChild(trItemC)
|
||||||
|
nwItemS.setParent(self.theProject.trashRoot)
|
||||||
|
|
||||||
return
|
return
|
||||||
|
|
||||||
def setTreeItemValues(self, tHandle):
|
def setTreeItemValues(self, tHandle):
|
||||||
|
|
||||||
trItem = self.theMap[tHandle]
|
trItem = self._getTreeItem(tHandle)
|
||||||
nwItem = self.theProject.getItem(tHandle)
|
nwItem = self.theProject.getItem(tHandle)
|
||||||
tName = nwItem.itemName
|
tName = nwItem.itemName
|
||||||
tHandle = nwItem.itemHandle
|
tHandle = nwItem.itemHandle
|
||||||
@@ -215,7 +225,7 @@ class GuiDocTree(QTreeWidget):
|
|||||||
return
|
return
|
||||||
|
|
||||||
def propagateCount(self, tHandle, theCount, nDepth=0):
|
def propagateCount(self, tHandle, theCount, nDepth=0):
|
||||||
tItem = self.theMap[tHandle]
|
tItem = self._getTreeItem(tHandle)
|
||||||
tItem.setText(self.C_COUNT,str(theCount))
|
tItem.setText(self.C_COUNT,str(theCount))
|
||||||
pItem = tItem.parent()
|
pItem = tItem.parent()
|
||||||
if pItem is not None:
|
if pItem is not None:
|
||||||
@@ -246,6 +256,11 @@ class GuiDocTree(QTreeWidget):
|
|||||||
# Internal Functions
|
# Internal Functions
|
||||||
##
|
##
|
||||||
|
|
||||||
|
def _getTreeItem(self, tHandle):
|
||||||
|
if tHandle in self.theMap.keys():
|
||||||
|
return self.theMap[tHandle]
|
||||||
|
return None
|
||||||
|
|
||||||
def _scanChildren(self, theList, theItem, theIndex):
|
def _scanChildren(self, theList, theItem, theIndex):
|
||||||
tHandle = theItem.text(self.C_HANDLE)
|
tHandle = theItem.text(self.C_HANDLE)
|
||||||
nwItem = self.theProject.projTree[tHandle]
|
nwItem = self.theProject.projTree[tHandle]
|
||||||
@@ -307,8 +322,13 @@ class GuiDocTree(QTreeWidget):
|
|||||||
def _addTrashRoot(self):
|
def _addTrashRoot(self):
|
||||||
if self.theProject.trashRoot is None:
|
if self.theProject.trashRoot is None:
|
||||||
self.theProject.addTrash()
|
self.theProject.addTrash()
|
||||||
self._addTreeItem(self.theProject.getItem(self.theProject.trashRoot))
|
trItem = self._addTreeItem(
|
||||||
return
|
self.theProject.getItem(self.theProject.trashRoot)
|
||||||
|
)
|
||||||
|
trItem.setExpanded(True)
|
||||||
|
else:
|
||||||
|
trItem = self._getTreeItem(self.theProject.trashRoot)
|
||||||
|
return trItem
|
||||||
|
|
||||||
def _addOrphanedRoot(self):
|
def _addOrphanedRoot(self):
|
||||||
if self.orphRoot is None:
|
if self.orphRoot is None:
|
||||||
@@ -329,7 +349,7 @@ class GuiDocTree(QTreeWidget):
|
|||||||
return
|
return
|
||||||
|
|
||||||
def _updateItemParent(self, tHandle):
|
def _updateItemParent(self, tHandle):
|
||||||
trItemS = self.theMap[tHandle]
|
trItemS = self._getTreeItem(tHandle)
|
||||||
nwItemS = self.theProject.getItem(tHandle)
|
nwItemS = self.theProject.getItem(tHandle)
|
||||||
trItemP = trItemS.parent()
|
trItemP = trItemS.parent()
|
||||||
if trItemP is None:
|
if trItemP is None:
|
||||||
@@ -341,7 +361,7 @@ class GuiDocTree(QTreeWidget):
|
|||||||
return
|
return
|
||||||
|
|
||||||
def _moveOrphanedItem(self, tHandle, dHandle):
|
def _moveOrphanedItem(self, tHandle, dHandle):
|
||||||
trItemS = self.theMap[tHandle]
|
trItemS = self._getTreeItem(tHandle)
|
||||||
nwItemS = self.theProject.getItem(tHandle)
|
nwItemS = self.theProject.getItem(tHandle)
|
||||||
nwItemD = self.theProject.getItem(dHandle)
|
nwItemD = self.theProject.getItem(dHandle)
|
||||||
trItemP = trItemS.parent()
|
trItemP = trItemS.parent()
|
||||||
|
|||||||
@@ -36,7 +36,6 @@ class NWItem():
|
|||||||
self.itemLayout = nwItemLayout.NO_LAYOUT
|
self.itemLayout = nwItemLayout.NO_LAYOUT
|
||||||
self.itemStatus = 0
|
self.itemStatus = 0
|
||||||
self.itemDepth = None
|
self.itemDepth = None
|
||||||
self.hasChildren = False
|
|
||||||
self.isExpanded = False
|
self.isExpanded = False
|
||||||
|
|
||||||
self.charCount = 0
|
self.charCount = 0
|
||||||
@@ -60,7 +59,6 @@ class NWItem():
|
|||||||
xSub = self._subPack(xPack,"class", text=str(self.itemClass.name))
|
xSub = self._subPack(xPack,"class", text=str(self.itemClass.name))
|
||||||
xSub = self._subPack(xPack,"status", text=str(self.itemStatus))
|
xSub = self._subPack(xPack,"status", text=str(self.itemStatus))
|
||||||
xSub = self._subPack(xPack,"depth", text=str(self.itemDepth))
|
xSub = self._subPack(xPack,"depth", text=str(self.itemDepth))
|
||||||
xSub = self._subPack(xPack,"children", text=str(self.hasChildren))
|
|
||||||
xSub = self._subPack(xPack,"expanded", text=str(self.isExpanded))
|
xSub = self._subPack(xPack,"expanded", text=str(self.isExpanded))
|
||||||
if self.itemType == nwItemType.FILE:
|
if self.itemType == nwItemType.FILE:
|
||||||
xSub = self._subPack(xPack,"layout", text=str(self.itemLayout.name))
|
xSub = self._subPack(xPack,"layout", text=str(self.itemLayout.name))
|
||||||
@@ -90,7 +88,6 @@ class NWItem():
|
|||||||
elif tagName == "layout": self.setLayout(tagValue)
|
elif tagName == "layout": self.setLayout(tagValue)
|
||||||
elif tagName == "status": self.setStatus(tagValue)
|
elif tagName == "status": self.setStatus(tagValue)
|
||||||
elif tagName == "depth": self.setDepth(tagValue)
|
elif tagName == "depth": self.setDepth(tagValue)
|
||||||
elif tagName == "children": self.setChildren(tagValue)
|
|
||||||
elif tagName == "expanded": self.setExpanded(tagValue)
|
elif tagName == "expanded": self.setExpanded(tagValue)
|
||||||
elif tagName == "charCount": self.setCharCount(tagValue)
|
elif tagName == "charCount": self.setCharCount(tagValue)
|
||||||
elif tagName == "wordCount": self.setWordCount(tagValue)
|
elif tagName == "wordCount": self.setWordCount(tagValue)
|
||||||
@@ -171,10 +168,6 @@ class NWItem():
|
|||||||
logger.error("Invalid item depth %d" % theDepth)
|
logger.error("Invalid item depth %d" % theDepth)
|
||||||
return
|
return
|
||||||
|
|
||||||
def setChildren(self, hasChildren):
|
|
||||||
self.hasChildren = hasChildren
|
|
||||||
return
|
|
||||||
|
|
||||||
def setExpanded(self, expState):
|
def setExpanded(self, expState):
|
||||||
if isinstance(expState, str):
|
if isinstance(expState, str):
|
||||||
self.isExpanded = expState == str(True)
|
self.isExpanded = expState == str(True)
|
||||||
|
|||||||
@@ -393,8 +393,6 @@ class NWProject():
|
|||||||
|
|
||||||
self.projTree[tHandle] = nwItem
|
self.projTree[tHandle] = nwItem
|
||||||
self.treeOrder.append(tHandle)
|
self.treeOrder.append(tHandle)
|
||||||
if pHandle is not None:
|
|
||||||
self.projTree[pHandle].setChildren(True)
|
|
||||||
|
|
||||||
if nwItem.itemType == nwItemType.ROOT:
|
if nwItem.itemType == nwItemType.ROOT:
|
||||||
logger.verbose("Entry %s is a root item" % str(tHandle))
|
logger.verbose("Entry %s is a root item" % str(tHandle))
|
||||||
|
|||||||
Reference in New Issue
Block a user