New files are now inserted after the file selected, if a file is selected

This commit is contained in:
Veronica K. B. Olsen
2020-06-04 19:15:22 +02:00
parent f75028e4a7
commit 4c9e3f3440
2 changed files with 18 additions and 7 deletions
+17 -6
View File
@@ -145,6 +145,7 @@ class GuiProjectTree(QTreeWidget):
meta data is set correctly to ensure a valid project tree.
"""
pHandle = self.getSelectedHandle()
nHandle = None
if not self.theParent.hasProject:
return False
@@ -193,6 +194,7 @@ class GuiProjectTree(QTreeWidget):
# the new file will be a sibling
pItem = self.theProject.projTree[pHandle]
if pItem.itemType == nwItemType.FILE:
nHandle = pHandle
pHandle = pItem.parHandle
# If we again has no home, give up
@@ -218,18 +220,18 @@ class GuiProjectTree(QTreeWidget):
return False
# Add the new item to the tree
self.revealTreeItem(tHandle)
self.revealTreeItem(tHandle, nHandle)
self.theParent.editItem()
return True
def revealTreeItem(self, tHandle):
def revealTreeItem(self, tHandle, nHandle=None):
"""Reveal a newly added project item in the project tree.
"""
nwItem = self.theProject.projTree[tHandle]
trItem = self._addTreeItem(nwItem)
trItem = self._addTreeItem(nwItem, nHandle)
pHandle = nwItem.parHandle
if pHandle is not None and pHandle in self.theMap.keys():
if pHandle is not None and pHandle in self.theMap:
self.theMap[pHandle].setExpanded(True)
self.clearSelection()
trItem.setSelected(True)
@@ -677,7 +679,7 @@ class GuiProjectTree(QTreeWidget):
self._scanChildren(theList, theItem.child(i), i)
return theList
def _addTreeItem(self, nwItem):
def _addTreeItem(self, nwItem, nHandle=None):
"""Create a QTreeWidgetItem from an NWItem and add it to the
project tree.
"""
@@ -713,7 +715,16 @@ class GuiProjectTree(QTreeWidget):
self._addOrphanedRoot()
self.orphRoot.addChild(newItem)
else:
self.theMap[pHandle].addChild(newItem)
byIndex = -1
if nHandle is not None and nHandle in self.theMap:
try:
byIndex = self.theMap[pHandle].indexOfChild(self.theMap[nHandle])
except:
logger.error("Failed to get index of item with handle %s" % nHandle)
if byIndex >= 0:
self.theMap[pHandle].insertChild(byIndex+1, newItem)
else:
self.theMap[pHandle].addChild(newItem)
self.propagateCount(tHandle, nwItem.wordCount)
self.setTreeItemValues(tHandle)
+1 -1
View File
@@ -1,5 +1,5 @@
<?xml version='1.0' encoding='utf-8'?>
<novelWriterXML appVersion="0.7.0" hexVersion="0x000700f0" fileVersion="1.1" saveCount="228" autoCount="31" timeStamp="2020-06-01 12:54:18" editTime="540">
<novelWriterXML appVersion="0.8.0rc1" hexVersion="0x000800c1" fileVersion="1.1" saveCount="270" autoCount="40" timeStamp="2020-06-04 19:14:21" editTime="4118">
<project>
<name>Sample Project</name>
<title>Sample Project</title>