diff --git a/.github/workflows/syntax.yml b/.github/workflows/syntax.yml index bf8ffec3..90a1246c 100644 --- a/.github/workflows/syntax.yml +++ b/.github/workflows/syntax.yml @@ -2,9 +2,9 @@ name: flake8 on: push: - branches: [ main, dev ] + branches: [ main, dev, release ] pull_request: - branches: [ main, dev ] + branches: [ main, dev, release ] jobs: checkSyntax: diff --git a/.github/workflows/test_linux_3.6.yml b/.github/workflows/test_linux_3.6.yml index b234c14a..4f05a299 100644 --- a/.github/workflows/test_linux_3.6.yml +++ b/.github/workflows/test_linux_3.6.yml @@ -2,9 +2,9 @@ name: Linux (3.6) on: push: - branches: [ main, dev ] + branches: [ main, dev, release ] pull_request: - branches: [ main, dev ] + branches: [ main, dev, release ] jobs: testLinux36: diff --git a/.github/workflows/test_linux_3.7.yml b/.github/workflows/test_linux_3.7.yml index f6d36405..857d11c0 100644 --- a/.github/workflows/test_linux_3.7.yml +++ b/.github/workflows/test_linux_3.7.yml @@ -2,9 +2,9 @@ name: Linux (3.7) on: push: - branches: [ main, dev ] + branches: [ main, dev, release ] pull_request: - branches: [ main, dev ] + branches: [ main, dev, release ] jobs: testLinux37: diff --git a/.github/workflows/test_linux_3.8.yml b/.github/workflows/test_linux_3.8.yml index 8c90d7ac..ff78cc93 100644 --- a/.github/workflows/test_linux_3.8.yml +++ b/.github/workflows/test_linux_3.8.yml @@ -2,9 +2,9 @@ name: Linux (3.8) on: push: - branches: [ main, dev ] + branches: [ main, dev, release ] pull_request: - branches: [ main, dev ] + branches: [ main, dev, release ] jobs: testLinux38: diff --git a/.github/workflows/test_linux_3.9.yml b/.github/workflows/test_linux_3.9.yml index 905edb6f..276bd91c 100644 --- a/.github/workflows/test_linux_3.9.yml +++ b/.github/workflows/test_linux_3.9.yml @@ -2,9 +2,9 @@ name: Linux (3.9) on: push: - branches: [ main, dev ] + branches: [ main, dev, release ] pull_request: - branches: [ main, dev ] + branches: [ main, dev, release ] jobs: testLinux39: diff --git a/.github/workflows/test_mac.yml b/.github/workflows/test_mac.yml index aa63cbf2..72cb61a5 100644 --- a/.github/workflows/test_mac.yml +++ b/.github/workflows/test_mac.yml @@ -2,9 +2,9 @@ name: macOS (3.8) on: push: - branches: [ main, dev ] + branches: [ main, dev, release ] pull_request: - branches: [ main, dev ] + branches: [ main, dev, release ] jobs: testMac38: diff --git a/.github/workflows/test_win.yml b/.github/workflows/test_win.yml index fd85b4bf..2bf3390c 100644 --- a/.github/workflows/test_win.yml +++ b/.github/workflows/test_win.yml @@ -2,9 +2,9 @@ name: Windows (3.8) on: push: - branches: [ main, dev ] + branches: [ main, dev, release ] pull_request: - branches: [ main, dev ] + branches: [ main, dev, release ] jobs: testWin38: diff --git a/docs/source/int_interface.rst b/docs/source/int_interface.rst index 3427895f..cf6bc065 100644 --- a/docs/source/int_interface.rst +++ b/docs/source/int_interface.rst @@ -344,6 +344,7 @@ Most features are available as keyboard shortcuts. These are as follows: ":kbd:`Alt`:kbd:`1`", "Switch focus to the project tree." ":kbd:`Alt`:kbd:`2`", "Switch focus to document editor." ":kbd:`Alt`:kbd:`3`", "Switch focus to document viewer." + ":kbd:`Alt`:kbd:`4`", "Switch focus to outline view." ":kbd:`Alt`:kbd:`Left`", "Move backward in the view history of the document viewer." ":kbd:`Alt`:kbd:`Right`", "Move forward in the view history of the document viewer." ":kbd:`Ctrl`:kbd:`.`", "Open menu to correct word under cursor." diff --git a/nw/gui/build.py b/nw/gui/build.py index d05aa0cc..5bcea455 100644 --- a/nw/gui/build.py +++ b/nw/gui/build.py @@ -641,8 +641,9 @@ class GuiBuildNovel(QDialog): bldObj.setColourHeaders(not noStyling) bldObj.initDocument() - # Make sure the tree order is correct + # Make sure the project and document is up to date self.theParent.treeView.flushTreeOrder() + self.theParent.saveDocument() self.buildProgress.setMaximum(len(self.theProject.projTree)) self.buildProgress.setValue(0) diff --git a/nw/gui/mainmenu.py b/nw/gui/mainmenu.py index d7332a93..1bdd1c32 100644 --- a/nw/gui/mainmenu.py +++ b/nw/gui/mainmenu.py @@ -468,6 +468,13 @@ class GuiMainMenu(QMenuBar): self.aFocusView.triggered.connect(lambda: self.theParent.setFocus(3)) self.viewMenu.addAction(self.aFocusView) + # View > Outline + self.aFocusOutline = QAction("Focus Outline", self) + self.aFocusOutline.setStatusTip("Move focus to outline") + self.aFocusOutline.setShortcut("Alt+4") + self.aFocusOutline.triggered.connect(lambda: self.theParent.setFocus(4)) + self.viewMenu.addAction(self.aFocusOutline) + # View > Separator self.viewMenu.addSeparator() diff --git a/nw/guimain.py b/nw/guimain.py index 6996f6ad..f6538bf0 100644 --- a/nw/guimain.py +++ b/nw/guimain.py @@ -1128,14 +1128,19 @@ class GuiMain(QMainWindow): return True def setFocus(self, paneNo): - """Switch focus to one of the three main GUI panes. + """Switch focus between main GUI views. """ if paneNo == 1: self.treeView.setFocus() elif paneNo == 2: + self.mainTabs.setCurrentWidget(self.splitDocs) self.docEditor.setFocus() elif paneNo == 3: + self.mainTabs.setCurrentWidget(self.splitDocs) self.docViewer.setFocus() + elif paneNo == 4: + self.mainTabs.setCurrentWidget(self.splitOutline) + self.projView.setFocus() return def closeDocEditor(self):