Added some extra checks for deleting files when the file is brand new, and updated the test to check it works

This commit is contained in:
Veronica K. B. Olsen
2020-05-30 15:34:28 +02:00
parent f3f61c43f0
commit 724e597d9c
4 changed files with 36 additions and 16 deletions
+11 -7
View File
@@ -152,15 +152,19 @@ class NWProject():
self.projTree.append(None, pHandle, newItem) self.projTree.append(None, pHandle, newItem)
return newItem.itemHandle return newItem.itemHandle
def addTrash(self): def trashFolder(self):
"""Add the special trash root folder to the project. """Add the special trash root folder to the project.
""" """
newItem = NWItem(self) trashHandle = self.projTree.trashRoot()
newItem.setName("Trash") if trashHandle is None:
newItem.setType(nwItemType.TRASH) newItem = NWItem(self)
newItem.setClass(nwItemClass.TRASH) newItem.setName("Trash")
self.projTree.append(None, None, newItem) newItem.setType(nwItemType.TRASH)
return newItem.itemHandle newItem.setClass(nwItemClass.TRASH)
self.projTree.append(None, None, newItem)
return newItem.itemHandle
return trashHandle
## ##
# Project Methods # Project Methods
+6 -6
View File
@@ -200,8 +200,8 @@ class GuiDocTree(QTreeWidget):
def revealTreeItem(self, tHandle): def revealTreeItem(self, tHandle):
"""Reveal a newly added project item in the project tree. """Reveal a newly added project item in the project tree.
""" """
nwItem = self.theProject.projTree[tHandle] nwItem = self.theProject.projTree[tHandle]
trItem = self._addTreeItem(nwItem) trItem = self._addTreeItem(nwItem)
pHandle = nwItem.parHandle pHandle = nwItem.parHandle
if pHandle is not None and pHandle in self.theMap.keys(): if pHandle is not None and pHandle in self.theMap.keys():
self.theMap[pHandle].setExpanded(True) self.theMap[pHandle].setExpanded(True)
@@ -608,15 +608,15 @@ class GuiDocTree(QTreeWidget):
"""Adds the trash root folder if it doesn't already exist in the """Adds the trash root folder if it doesn't already exist in the
project tree. project tree.
""" """
trashHandle = self.theProject.projTree.trashRoot() trashHandle = self.theProject.trashFolder()
if trashHandle is None: if trashHandle is None:
self.theProject.addTrash() return None
trItem = self._getTreeItem(trashHandle)
if trItem is None:
trItem = self._addTreeItem( trItem = self._addTreeItem(
self.theProject.projTree[trashHandle] self.theProject.projTree[trashHandle]
) )
trItem.setExpanded(True) trItem.setExpanded(True)
else:
trItem = self._getTreeItem(trashHandle)
return trItem return trItem
def _addOrphanedRoot(self): def _addOrphanedRoot(self):
+10 -3
View File
@@ -1,5 +1,5 @@
<?xml version='1.0' encoding='utf-8'?> <?xml version='1.0' encoding='utf-8'?>
<novelWriterXML appVersion="0.7.0rc1" hexVersion="0x000700c1" fileVersion="1.1" saveCount="4" autoCount="0" timeStamp="2020-05-29 23:06:02"> <novelWriterXML appVersion="0.7.0rc1" hexVersion="0x000700c1" fileVersion="1.1" saveCount="4" autoCount="1" timeStamp="2020-05-30 15:31:30" editTime="12">
<project> <project>
<name>New Project</name> <name>New Project</name>
<title></title> <title></title>
@@ -9,7 +9,7 @@
<spellCheck>True</spellCheck> <spellCheck>True</spellCheck>
<autoOutline>True</autoOutline> <autoOutline>True</autoOutline>
<lastEdited>31489056e0916</lastEdited> <lastEdited>31489056e0916</lastEdited>
<lastViewed>31489056e0916</lastViewed> <lastViewed>None</lastViewed>
<lastWordCount>86</lastWordCount> <lastWordCount>86</lastWordCount>
<autoReplace/> <autoReplace/>
<titleFormat> <titleFormat>
@@ -35,7 +35,7 @@
<entry blue="0" green="200" red="50">Main</entry> <entry blue="0" green="200" red="50">Main</entry>
</importance> </importance>
</settings> </settings>
<content count="9"> <content count="10">
<item handle="73475cb40a568" order="0" parent="None"> <item handle="73475cb40a568" order="0" parent="None">
<name>Novel</name> <name>Novel</name>
<type>ROOT</type> <type>ROOT</type>
@@ -119,5 +119,12 @@
<paraCount>1</paraCount> <paraCount>1</paraCount>
<cursorPos>68</cursorPos> <cursorPos>68</cursorPos>
</item> </item>
<item handle="41cfc0d1f2d12" order="4" parent="None">
<name>Trash</name>
<type>TRASH</type>
<class>TRASH</class>
<status>None</status>
<expanded>True</expanded>
</item>
</content> </content>
</novelWriterXML> </novelWriterXML>
+9
View File
@@ -235,6 +235,15 @@ def testMainWindows(qtbot, nwTempGUI, nwRef, nwTemp):
assert nwGUI.closeDocViewer() assert nwGUI.closeDocViewer()
qtbot.wait(stepDelay) qtbot.wait(stepDelay)
# Check a Quick Create and Delete
assert nwGUI.treeView.newTreeItem(nwItemType.FILE, None)
newHandle = nwGUI.treeView.getSelectedHandle()
assert nwGUI.theProject.projTree["031b4af5197ec"] is not None
assert nwGUI.treeView.deleteItem()
assert nwGUI.treeView.setSelectedHandle(newHandle)
assert nwGUI.treeView.deleteItem()
assert nwGUI.saveProject()
# Check the files # Check the files
refFile = path.join(nwTempGUI, "nwProject.nwx") refFile = path.join(nwTempGUI, "nwProject.nwx")
assert cmpFiles(refFile, path.join(nwRef, "gui", "1_nwProject.nwx"), [2]) assert cmpFiles(refFile, path.join(nwRef, "gui", "1_nwProject.nwx"), [2])