Continue search in next file is now working
This commit is contained in:
+1
-1
@@ -459,7 +459,7 @@ class GuiBuildNovel(QDialog):
|
|||||||
makeHtml.setStyles(not noStyling)
|
makeHtml.setStyles(not noStyling)
|
||||||
|
|
||||||
# Make sure the tree order is correct
|
# Make sure the tree order is correct
|
||||||
self.theParent.treeView.saveTreeOrder()
|
self.theParent.treeView.flushTreeOrder()
|
||||||
|
|
||||||
self.buildProgress.setMaximum(len(self.theProject.projTree))
|
self.buildProgress.setMaximum(len(self.theProject.projTree))
|
||||||
self.buildProgress.setValue(0)
|
self.buildProgress.setValue(0)
|
||||||
|
|||||||
+10
-7
@@ -1167,13 +1167,16 @@ class GuiDocEditor(QTextEdit):
|
|||||||
|
|
||||||
searchFor = self.docSearch.getSearchText()
|
searchFor = self.docSearch.getSearchText()
|
||||||
wasFound = self.find(searchFor, findOpt)
|
wasFound = self.find(searchFor, findOpt)
|
||||||
if not wasFound and self.docSearch.doLoop:
|
if not wasFound:
|
||||||
theCursor = self.textCursor()
|
if self.docSearch.doLoop:
|
||||||
theCursor.movePosition(
|
theCursor = self.textCursor()
|
||||||
QTextCursor.End if isBackward else QTextCursor.Start
|
theCursor.movePosition(
|
||||||
)
|
QTextCursor.End if isBackward else QTextCursor.Start
|
||||||
self.setTextCursor(theCursor)
|
)
|
||||||
self.find(searchFor, findOpt)
|
self.setTextCursor(theCursor)
|
||||||
|
self.find(searchFor, findOpt)
|
||||||
|
elif self.docSearch.doNextFile:
|
||||||
|
self.theParent.openNextDocument(self.theHandle)
|
||||||
|
|
||||||
return
|
return
|
||||||
|
|
||||||
|
|||||||
+32
-7
@@ -60,8 +60,9 @@ class GuiProjectTree(QTreeWidget):
|
|||||||
self.theProject = theParent.theProject
|
self.theProject = theParent.theProject
|
||||||
|
|
||||||
# Tree Settings
|
# Tree Settings
|
||||||
self.theMap = None
|
self.theMap = None
|
||||||
self.orphRoot = None
|
self.orphRoot = None
|
||||||
|
self.treeChanged = False
|
||||||
|
|
||||||
self.ctxMenu = GuiProjectTreeMenu(self)
|
self.ctxMenu = GuiProjectTreeMenu(self)
|
||||||
self.clearTree()
|
self.clearTree()
|
||||||
@@ -256,7 +257,7 @@ class GuiProjectTree(QTreeWidget):
|
|||||||
pItem.insertChild(nIndex, cItem)
|
pItem.insertChild(nIndex, cItem)
|
||||||
self.clearSelection()
|
self.clearSelection()
|
||||||
cItem.setSelected(True)
|
cItem.setSelected(True)
|
||||||
self.theProject.setProjectChanged(True)
|
self._setTreeChanged(True)
|
||||||
else:
|
else:
|
||||||
return False
|
return False
|
||||||
return True
|
return True
|
||||||
@@ -276,6 +277,16 @@ class GuiProjectTree(QTreeWidget):
|
|||||||
self.theProject.setTreeOrder(theList)
|
self.theProject.setTreeOrder(theList)
|
||||||
return True
|
return True
|
||||||
|
|
||||||
|
def flushTreeOrder(self):
|
||||||
|
"""Calls saveTreeOrder if there are unsaved changes, otherwise
|
||||||
|
does nothing.
|
||||||
|
"""
|
||||||
|
if self.treeChanged:
|
||||||
|
logger.verbose("Flushing project tree to project class")
|
||||||
|
self.saveTreeOrder()
|
||||||
|
self._setTreeChanged(False)
|
||||||
|
return
|
||||||
|
|
||||||
def getTreeFromHandle(self, tHandle):
|
def getTreeFromHandle(self, tHandle):
|
||||||
"""Recursively return all the children items starting from a
|
"""Recursively return all the children items starting from a
|
||||||
given item handle.
|
given item handle.
|
||||||
@@ -332,6 +343,9 @@ class GuiProjectTree(QTreeWidget):
|
|||||||
continue
|
continue
|
||||||
self.deleteItem(tHandle, True)
|
self.deleteItem(tHandle, True)
|
||||||
|
|
||||||
|
if nTrash > 0:
|
||||||
|
self._setTreeChanged(True)
|
||||||
|
|
||||||
return True
|
return True
|
||||||
|
|
||||||
def deleteItem(self, tHandle=None, alreadyAsked=False, askForTrash=False):
|
def deleteItem(self, tHandle=None, alreadyAsked=False, askForTrash=False):
|
||||||
@@ -413,7 +427,7 @@ class GuiProjectTree(QTreeWidget):
|
|||||||
trItemT.addChild(trItemC)
|
trItemT.addChild(trItemC)
|
||||||
nwItemS.setParent(self.theProject.projTree.trashRoot())
|
nwItemS.setParent(self.theProject.projTree.trashRoot())
|
||||||
|
|
||||||
self.theProject.setProjectChanged(True)
|
self._setTreeChanged(True)
|
||||||
self.theParent.theIndex.deleteHandle(tHandle)
|
self.theParent.theIndex.deleteHandle(tHandle)
|
||||||
|
|
||||||
elif nwItemS.itemType == nwItemType.FOLDER:
|
elif nwItemS.itemType == nwItemType.FOLDER:
|
||||||
@@ -436,7 +450,7 @@ class GuiProjectTree(QTreeWidget):
|
|||||||
if trItemS.childCount() == 0:
|
if trItemS.childCount() == 0:
|
||||||
self.takeTopLevelItem(tIndex)
|
self.takeTopLevelItem(tIndex)
|
||||||
self.theParent.mainMenu.setAvailableRoot()
|
self.theParent.mainMenu.setAvailableRoot()
|
||||||
self.theProject.setProjectChanged(True)
|
self._setTreeChanged(True)
|
||||||
else:
|
else:
|
||||||
self.makeAlert("Cannot delete root folder. It is not empty.", nwAlert.ERROR)
|
self.makeAlert("Cannot delete root folder. It is not empty.", nwAlert.ERROR)
|
||||||
return False
|
return False
|
||||||
@@ -732,6 +746,8 @@ class GuiProjectTree(QTreeWidget):
|
|||||||
elif nwItem.itemType == nwItemType.TRASH:
|
elif nwItem.itemType == nwItemType.TRASH:
|
||||||
newItem.setIcon(self.C_NAME, self.theTheme.getIcon(nwLabels.CLASS_ICON[tClass]))
|
newItem.setIcon(self.C_NAME, self.theTheme.getIcon(nwLabels.CLASS_ICON[tClass]))
|
||||||
|
|
||||||
|
self._setTreeChanged(True)
|
||||||
|
|
||||||
return newItem
|
return newItem
|
||||||
|
|
||||||
def _addTrashRoot(self):
|
def _addTrashRoot(self):
|
||||||
@@ -747,6 +763,7 @@ class GuiProjectTree(QTreeWidget):
|
|||||||
self.theProject.projTree[trashHandle]
|
self.theProject.projTree[trashHandle]
|
||||||
)
|
)
|
||||||
trItem.setExpanded(True)
|
trItem.setExpanded(True)
|
||||||
|
self._setTreeChanged(True)
|
||||||
return trItem
|
return trItem
|
||||||
|
|
||||||
def _addOrphanedRoot(self):
|
def _addOrphanedRoot(self):
|
||||||
@@ -793,7 +810,7 @@ class GuiProjectTree(QTreeWidget):
|
|||||||
nwItemS.setParent(pHandle)
|
nwItemS.setParent(pHandle)
|
||||||
self.propagateCount(tHandle, wC)
|
self.propagateCount(tHandle, wC)
|
||||||
self.setTreeItemValues(tHandle)
|
self.setTreeItemValues(tHandle)
|
||||||
self.theProject.setProjectChanged(True)
|
self._setTreeChanged(True)
|
||||||
|
|
||||||
logger.debug("The parent of item %s has been changed to %s" % (tHandle,pHandle))
|
logger.debug("The parent of item %s has been changed to %s" % (tHandle,pHandle))
|
||||||
|
|
||||||
@@ -815,7 +832,15 @@ class GuiProjectTree(QTreeWidget):
|
|||||||
pHandle = trItemP.data(self.C_NAME, Qt.UserRole)
|
pHandle = trItemP.data(self.C_NAME, Qt.UserRole)
|
||||||
nwItemS.setParent(pHandle)
|
nwItemS.setParent(pHandle)
|
||||||
self.setTreeItemValues(tHandle)
|
self.setTreeItemValues(tHandle)
|
||||||
self.theProject.setProjectChanged(True)
|
self._setTreeChanged(True)
|
||||||
|
return
|
||||||
|
|
||||||
|
def _setTreeChanged(self, theState):
|
||||||
|
"""Set the tree change flag, and propagate to the project.
|
||||||
|
"""
|
||||||
|
self.treeChanged = theState
|
||||||
|
if theState:
|
||||||
|
self.theProject.setProjectChanged(True)
|
||||||
return
|
return
|
||||||
|
|
||||||
# END Class GuiProjectTree
|
# END Class GuiProjectTree
|
||||||
|
|||||||
@@ -476,6 +476,31 @@ class GuiMain(QMainWindow):
|
|||||||
return False
|
return False
|
||||||
return True
|
return True
|
||||||
|
|
||||||
|
def openNextDocument(self, tHandle):
|
||||||
|
"""Opens the next document in the project tree, following the
|
||||||
|
document with the given handle. Stops when reaching the end.
|
||||||
|
"""
|
||||||
|
if self.hasProject:
|
||||||
|
self.treeView.flushTreeOrder()
|
||||||
|
nHandle = None
|
||||||
|
goNext = False
|
||||||
|
for tItem in self.theProject.projTree:
|
||||||
|
if tItem is None:
|
||||||
|
continue
|
||||||
|
if tItem.itemType != nwItemType.FILE:
|
||||||
|
continue
|
||||||
|
if tItem.itemHandle == tHandle:
|
||||||
|
goNext = True
|
||||||
|
elif goNext:
|
||||||
|
nHandle = tItem.itemHandle
|
||||||
|
break
|
||||||
|
|
||||||
|
if nHandle is not None:
|
||||||
|
self.openDocument(nHandle, tLine=0)
|
||||||
|
return True
|
||||||
|
|
||||||
|
return False
|
||||||
|
|
||||||
def saveDocument(self):
|
def saveDocument(self):
|
||||||
"""Save the current documents.
|
"""Save the current documents.
|
||||||
"""
|
"""
|
||||||
|
|||||||
Reference in New Issue
Block a user