From 045929681d972895db205639c45aa0942dad28c7 Mon Sep 17 00:00:00 2001 From: "Veronica K. B. Olsen" <1619840+vkbo@users.noreply.github.com> Date: Thu, 28 Jan 2021 21:04:22 +0100 Subject: [PATCH] Add Alt+4 focus key, and switch main tab on focus change --- nw/gui/mainmenu.py | 7 +++++++ nw/gui/projdetails.py | 2 +- nw/guimain.py | 7 ++++++- 3 files changed, 14 insertions(+), 2 deletions(-) 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/gui/projdetails.py b/nw/gui/projdetails.py index 0fabaae9..d37cebee 100644 --- a/nw/gui/projdetails.py +++ b/nw/gui/projdetails.py @@ -5,7 +5,7 @@ novelWriter – GUI Project Details Class holding the project details dialog File History: -Created: 2021-01-03 [1.0a0] +Created: 2021-01-03 [1.1a0] This file is a part of novelWriter Copyright 2018–2021, Veronica Berglyd Olsen 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):