Let the main gui handle the novel tree refresh decision

This commit is contained in:
Veronica K. B. Olsen
2021-02-02 16:36:19 +01:00
parent 2cb51f5b58
commit 5654170278
3 changed files with 11 additions and 4 deletions
+1 -3
View File
@@ -416,9 +416,7 @@ class GuiDocEditor(QTextEdit):
self.theIndex.scanText(tHandle, docText)
if self._updateHeaders(checkLevel=True):
if self.theParent.projTabs.currentIndex() == self.theParent.idxNovelView:
logger.verbose("Document headers have changed, updating novel tree")
self.theParent.novelView.refreshTree()
self.theParent.requestNovelTreeRefresh()
else:
self.theParent.novelView.updateWordCounts(tHandle)
+2 -1
View File
@@ -131,10 +131,11 @@ class GuiNovelTree(QTreeWidget):
def refreshTree(self, overRide=False):
"""Called whenever the Novel tab is activated.
"""
logger.verbose("Requesting refresh of the novel tree")
treeChanged = self.theParent.treeView.changedSince(self._lastBuild)
indexChanged = self.theIndex.novelChangedSince(self._lastBuild)
if not (treeChanged or indexChanged):
logger.verbose("No changes made to the novel")
logger.verbose("No changes have been made to the novel index")
return
selItem = self.selectedItems()
+8
View File
@@ -817,6 +817,14 @@ class GuiMain(QMainWindow):
self.novelView.refreshTree()
return
def requestNovelTreeRefresh(self):
"""Update the novel tree, but only if it is visible.
"""
if self.projTabs.currentIndex() == self.idxNovelView and self.hasProject:
self.novelView.refreshTree()
return True
return False
def rebuildIndex(self, beQuiet=False):
"""Rebuild the entire index.
"""