Make sure deleted items are also deleted from the index, so the index is up to date

This commit is contained in:
Veronica K. B. Olsen
2019-11-02 11:40:14 +01:00
parent afb1304e06
commit 0a5d1e593c
2 changed files with 25 additions and 6 deletions
+2 -1
View File
@@ -220,7 +220,7 @@ class GuiDocTree(QTreeWidget):
def deleteItem(self, tHandle=None):
"""Delete items from the tree. Note that this does not delete the item from the item tree in
the project object. However, since this is only meta data, there isn't really a need to do
that to save memory. As items not in the tree are not saved to the project file, a loaded
that to save memory. Items not in the tree are not saved to the project file, so a loaded
project will be clean anyway.
"""
@@ -247,6 +247,7 @@ class GuiDocTree(QTreeWidget):
self.clearSelection()
trItemP.setSelected(True)
self.theProject.setProjectChanged(True)
self.theParent.theIndex.deleteHandle(tHandle)
elif nwItemS.itemType == nwItemType.FOLDER:
logger.debug("User requested folder %s deleted" % tHandle)
+23 -5
View File
@@ -64,10 +64,27 @@ class NWIndex():
return
##
# Public Methods
##
def clearIndex(self):
self.tagIndex = {}
self.refIndex = {}
self.novelIndex = {}
self.noteIndex = {}
return
def deleteHandle(self, tHandle):
for tTag in self.tagIndex:
if self.tagIndex[tTag][1] == tHandle:
self.tagIndex.pop(tTag, None)
self.refIndex.pop(tHandle, None)
self.novelIndex.pop(tHandle, None)
self.noteIndex.pop(tHandle, None)
return
##
@@ -142,6 +159,7 @@ class NWIndex():
theItem = self.theProject.getItem(tHandle)
if theItem is None: return False
if theItem.itemType != nwItemType.FILE: return False
if theItem.parHandle == self.theProject.trashRoot: return False
itemClass = theItem.itemClass
itemLayout = theItem.itemLayout
@@ -336,19 +354,19 @@ class NWIndex():
return True
def buildReferenceList(self, theHandle):
"""Build a list of files referring back to our file, specified by theHandle.
def buildReferenceList(self, tHandle):
"""Build a list of files referring back to our file, specified by tHandle.
"""
theRefs = {}
tItem = self.theProject.getItem(theHandle)
if theHandle is None:
tItem = self.theProject.getItem(tHandle)
if tHandle is None:
return theRefs
theTag = None
for tTag in self.tagIndex:
if theHandle == self.tagIndex[tTag][1]:
if tHandle == self.tagIndex[tTag][1]:
theTag = tTag
break