New files are now inserted after the file selected, if a file is selected
This commit is contained in:
+17
-6
@@ -145,6 +145,7 @@ class GuiProjectTree(QTreeWidget):
|
|||||||
meta data is set correctly to ensure a valid project tree.
|
meta data is set correctly to ensure a valid project tree.
|
||||||
"""
|
"""
|
||||||
pHandle = self.getSelectedHandle()
|
pHandle = self.getSelectedHandle()
|
||||||
|
nHandle = None
|
||||||
|
|
||||||
if not self.theParent.hasProject:
|
if not self.theParent.hasProject:
|
||||||
return False
|
return False
|
||||||
@@ -193,6 +194,7 @@ class GuiProjectTree(QTreeWidget):
|
|||||||
# the new file will be a sibling
|
# the new file will be a sibling
|
||||||
pItem = self.theProject.projTree[pHandle]
|
pItem = self.theProject.projTree[pHandle]
|
||||||
if pItem.itemType == nwItemType.FILE:
|
if pItem.itemType == nwItemType.FILE:
|
||||||
|
nHandle = pHandle
|
||||||
pHandle = pItem.parHandle
|
pHandle = pItem.parHandle
|
||||||
|
|
||||||
# If we again has no home, give up
|
# If we again has no home, give up
|
||||||
@@ -218,18 +220,18 @@ class GuiProjectTree(QTreeWidget):
|
|||||||
return False
|
return False
|
||||||
|
|
||||||
# Add the new item to the tree
|
# Add the new item to the tree
|
||||||
self.revealTreeItem(tHandle)
|
self.revealTreeItem(tHandle, nHandle)
|
||||||
self.theParent.editItem()
|
self.theParent.editItem()
|
||||||
|
|
||||||
return True
|
return True
|
||||||
|
|
||||||
def revealTreeItem(self, tHandle):
|
def revealTreeItem(self, tHandle, nHandle=None):
|
||||||
"""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, nHandle)
|
||||||
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:
|
||||||
self.theMap[pHandle].setExpanded(True)
|
self.theMap[pHandle].setExpanded(True)
|
||||||
self.clearSelection()
|
self.clearSelection()
|
||||||
trItem.setSelected(True)
|
trItem.setSelected(True)
|
||||||
@@ -677,7 +679,7 @@ class GuiProjectTree(QTreeWidget):
|
|||||||
self._scanChildren(theList, theItem.child(i), i)
|
self._scanChildren(theList, theItem.child(i), i)
|
||||||
return theList
|
return theList
|
||||||
|
|
||||||
def _addTreeItem(self, nwItem):
|
def _addTreeItem(self, nwItem, nHandle=None):
|
||||||
"""Create a QTreeWidgetItem from an NWItem and add it to the
|
"""Create a QTreeWidgetItem from an NWItem and add it to the
|
||||||
project tree.
|
project tree.
|
||||||
"""
|
"""
|
||||||
@@ -713,7 +715,16 @@ class GuiProjectTree(QTreeWidget):
|
|||||||
self._addOrphanedRoot()
|
self._addOrphanedRoot()
|
||||||
self.orphRoot.addChild(newItem)
|
self.orphRoot.addChild(newItem)
|
||||||
else:
|
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.propagateCount(tHandle, nwItem.wordCount)
|
||||||
|
|
||||||
self.setTreeItemValues(tHandle)
|
self.setTreeItemValues(tHandle)
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
<?xml version='1.0' encoding='utf-8'?>
|
<?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>
|
<project>
|
||||||
<name>Sample Project</name>
|
<name>Sample Project</name>
|
||||||
<title>Sample Project</title>
|
<title>Sample Project</title>
|
||||||
|
|||||||
Reference in New Issue
Block a user