Finished handling of recovered orphaned files
This commit is contained in:
+12
-2
@@ -236,6 +236,12 @@ class GuiDocTree(QTreeWidget):
|
|||||||
self.orphRoot = newItem
|
self.orphRoot = newItem
|
||||||
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):
|
||||||
|
|
||||||
@@ -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)
|
||||||
|
|
||||||
|
|||||||
@@ -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>
|
||||||
|
|||||||
Reference in New Issue
Block a user