diff --git a/novelwriter/gui/noveltree.py b/novelwriter/gui/noveltree.py index 0dec2551..c8d88b88 100644 --- a/novelwriter/gui/noveltree.py +++ b/novelwriter/gui/noveltree.py @@ -69,8 +69,8 @@ class GuiNovelView(QWidget): self.theProject = mainGui.theProject # Build GUI - self.novelTree = GuiNovelTree(self) self.novelBar = GuiNovelToolBar(self) + self.novelTree = GuiNovelTree(self) # Assemble self.outerBox = QVBoxLayout() @@ -93,6 +93,8 @@ class GuiNovelView(QWidget): ## def initSettings(self): + """Initialise GUI elements that depend on specific settings. + """ self.novelTree.initSettings() return @@ -110,7 +112,7 @@ class GuiNovelView(QWidget): return def openProjectTasks(self): - """Run opening project tasks. + """Run open project tasks. """ lastNovel = self.theProject.lastNovel if lastNovel not in self.theProject.tree: @@ -136,8 +138,8 @@ class GuiNovelView(QWidget): self.theProject.options.setValue("GuiNovelView", "lastCol", lastColType) return - def setFocus(self): - """Forward the set focus call to the tree widget. + def setTreeFocus(self): + """Set the focus to the tree widget. """ self.novelTree.setFocus() return diff --git a/novelwriter/gui/outline.py b/novelwriter/gui/outline.py index 7c35ebb7..e8514c15 100644 --- a/novelwriter/gui/outline.py +++ b/novelwriter/gui/outline.py @@ -97,9 +97,11 @@ class GuiOutlineView(QWidget): # Methods ## - def initOutline(self): - self.outlineTree.initOutline() - self.outlineData.initDetails() + def initSettings(self): + """Initialise GUI elements that depend on specific settings. + """ + self.outlineTree.initSettings() + self.outlineData.initSettings() return def refreshTree(self): @@ -109,11 +111,13 @@ class GuiOutlineView(QWidget): return def clearProject(self): + """Clear project-related GUI content. + """ self.outlineData.clearDetails() return def openProjectTasks(self): - """Run opening project tasks. + """Run open project tasks. """ lastOutline = self.theProject.lastOutline if not (lastOutline in self.theProject.tree or lastOutline is None): @@ -127,20 +131,24 @@ class GuiOutlineView(QWidget): return - def closeOutline(self): - self.outlineTree.closeOutline() + def closeProjectTasks(self): + self.outlineTree.closeProjectTasks() self.outlineData.updateClasses() return def splitSizes(self): return self.splitOutline.sizes() - def treeHasFocus(self): - return self.outlineTree.hasFocus() - def setTreeFocus(self): + """Set the focus to the tree widget. + """ return self.outlineTree.setFocus() + def treeHasFocus(self): + """Check if the outline tree has focus. + """ + return self.outlineTree.hasFocus() + ## # Public Slots ## @@ -407,7 +415,7 @@ class GuiOutlineTree(QTreeWidget): self._firstView = True self._lastBuild = 0 - self.initOutline() + self.initSettings() self.clearContent() self.hiddenStateChanged.emit() @@ -428,7 +436,7 @@ class GuiOutlineTree(QTreeWidget): # Methods ## - def initOutline(self): + def initSettings(self): """Set or update outline settings. """ # Scroll bars @@ -491,7 +499,7 @@ class GuiOutlineTree(QTreeWidget): return - def closeOutline(self): + def closeProjectTasks(self): """Called before a project is closed. """ self._saveHeaderState() @@ -971,13 +979,13 @@ class GuiOutlineDetails(QScrollArea): self.setWidgetResizable(True) self.setFrameStyle(QFrame.NoFrame) - self.initDetails() + self.initSettings() logger.debug("GuiOutlineDetails initialisation complete") return - def initDetails(self): + def initSettings(self): """Set or update outline settings. """ # Scroll bars diff --git a/novelwriter/guimain.py b/novelwriter/guimain.py index 6374e768..bad8c904 100644 --- a/novelwriter/guimain.py +++ b/novelwriter/guimain.py @@ -421,7 +421,7 @@ class GuiMain(QMainWindow): if saveOK: self.closeDocument() self.docViewer.clearNavHistory() - self.outlineView.closeOutline() + self.outlineView.closeProjectTasks() self.novelView.closeProjectTasks() self.theProject.closeProject(self.idleTime) @@ -930,7 +930,7 @@ class GuiMain(QMainWindow): self.docViewer.initViewer() self.projView.initSettings() self.novelView.initSettings() - self.outlineView.initOutline() + self.outlineView.initSettings() self._updateStatusWordCount() return @@ -1191,7 +1191,7 @@ class GuiMain(QMainWindow): if tabIdx == self.idxProjView: self.projView.setFocus() elif tabIdx == self.idxNovelView: - self.novelView.setFocus() + self.novelView.setTreeFocus() elif paneNo == nwWidget.EDITOR: self._changeView(nwView.EDITOR) self.docEditor.setFocus() diff --git a/tests/test_gui/test_gui_outline.py b/tests/test_gui/test_gui_outline.py index f530b418..2f33cf7a 100644 --- a/tests/test_gui/test_gui_outline.py +++ b/tests/test_gui/test_gui_outline.py @@ -54,7 +54,7 @@ def testGuiOutline_Main(qtbot, monkeypatch, nwGUI, fncDir): # Toggle scrollbars nwGUI.mainConf.hideVScroll = True nwGUI.mainConf.hideHScroll = True - outlineView.initOutline() + outlineView.initSettings() assert outlineTree.verticalScrollBarPolicy() == Qt.ScrollBarAlwaysOff assert outlineTree.horizontalScrollBarPolicy() == Qt.ScrollBarAlwaysOff assert outlineData.verticalScrollBarPolicy() == Qt.ScrollBarAlwaysOff @@ -62,7 +62,7 @@ def testGuiOutline_Main(qtbot, monkeypatch, nwGUI, fncDir): nwGUI.mainConf.hideVScroll = False nwGUI.mainConf.hideHScroll = False - outlineView.initOutline() + outlineView.initSettings() assert outlineTree.verticalScrollBarPolicy() == Qt.ScrollBarAsNeeded assert outlineTree.horizontalScrollBarPolicy() == Qt.ScrollBarAsNeeded assert outlineData.verticalScrollBarPolicy() == Qt.ScrollBarAsNeeded