Finished handling of recovered orphaned files

This commit is contained in:
Veronica K. B. Olsen
2019-04-30 20:07:01 +02:00
parent 664efbc6d2
commit 418e5115bc
2 changed files with 27 additions and 4 deletions
+12 -2
View File
@@ -237,6 +237,12 @@ class GuiDocTree(QTreeWidget):
newItem.setExpanded(True) newItem.setExpanded(True)
return return
def _cleanOrphanedRoot(self):
if self.orphRoot.childCount() == 0:
self.takeTopLevelItem(self.indexOfTopLevelItem(self.orphRoot))
self.orphRoot = None
return
def setTreeItemValues(self, tHandle): def setTreeItemValues(self, tHandle):
trItem = self.theMap[tHandle] trItem = self.theMap[tHandle]
@@ -260,7 +266,7 @@ class GuiDocTree(QTreeWidget):
def propagateCount(self, tHandle, theCount, nDepth=0): def propagateCount(self, tHandle, theCount, nDepth=0):
tItem = self.theMap[tHandle] tItem = self.theMap[tHandle]
tItem.setText(self.C_COUNT,"{:n}".format(theCount)) tItem.setText(self.C_COUNT,str(theCount))
pItem = tItem.parent() pItem = tItem.parent()
if pItem is not None: if pItem is not None:
pCount = 0 pCount = 0
@@ -316,7 +322,7 @@ class GuiDocTree(QTreeWidget):
dHandle = dItem.text(self.C_HANDLE) dHandle = dItem.text(self.C_HANDLE)
snItem = self.theProject.getItem(sHandle) snItem = self.theProject.getItem(sHandle)
dnItem = self.theProject.getItem(dHandle) dnItem = self.theProject.getItem(dHandle)
isSame = snItem.itemClass == dnItem.itemClass and dnItem.itemType isSame = snItem.itemClass == dnItem.itemClass
isNone = snItem.itemClass == nwItemClass.NO_CLASS isNone = snItem.itemClass == nwItemClass.NO_CLASS
isFile = dnItem.itemType == nwItemType.FILE isFile = dnItem.itemType == nwItemType.FILE
isRoot = snItem.itemType == nwItemType.ROOT isRoot = snItem.itemType == nwItemType.ROOT
@@ -324,6 +330,10 @@ class GuiDocTree(QTreeWidget):
if (isSame or isNone) and not (isFile and isOnTop) and not isRoot: if (isSame or isNone) and not (isFile and isOnTop) and not isRoot:
logger.verbose("Drag'n'drop of item %s accepted" % sHandle) logger.verbose("Drag'n'drop of item %s accepted" % sHandle)
QTreeWidget.dropEvent(self, theEvent) QTreeWidget.dropEvent(self, theEvent)
if isNone:
snItem.setClass(dnItem.itemClass)
self.setTreeItemValues(sHandle)
self._cleanOrphanedRoot()
else: else:
logger.verbose("Drag'n'drop of item %s not accepted" % sHandle) logger.verbose("Drag'n'drop of item %s not accepted" % sHandle)
+15 -2
View File
@@ -1,5 +1,5 @@
<?xml version='1.0' encoding='utf-8'?> <?xml version='1.0' encoding='utf-8'?>
<novelWriterXML appVersion="0.0.1" fileVersion="1.0" timeStamp="2019-04-28 14:03:05"> <novelWriterXML appVersion="0.0.1" fileVersion="1.0" timeStamp="2019-04-30 20:04:07">
<project> <project>
<name>Sample Project</name> <name>Sample Project</name>
<title>Sample Project</title> <title>Sample Project</title>
@@ -16,7 +16,20 @@
<children>True</children> <children>True</children>
<expanded>True</expanded> <expanded>True</expanded>
</item> </item>
<item handle="e7ded148d6e4a" order="0" parent="7031beac91f75"> <item handle="53b69b83cdafc" order="0" parent="None">
<name>Title Page</name>
<type>FILE</type>
<class>NOVEL</class>
<status>0</status>
<depth>0</depth>
<children>False</children>
<expanded>False</expanded>
<layout>TITLE</layout>
<charCount>0</charCount>
<wordCount>0</wordCount>
<paraCount>0</paraCount>
</item>
<item handle="e7ded148d6e4a" order="1" parent="7031beac91f75">
<name>Some Chapter</name> <name>Some Chapter</name>
<type>FOLDER</type> <type>FOLDER</type>
<class>NOVEL</class> <class>NOVEL</class>