From 6d79ff103360d78c8b4b07d95c5e8ae0a548ed24 Mon Sep 17 00:00:00 2001 From: "Veronica K. B. Olsen" <1619840+vkbo@users.noreply.github.com> Date: Thu, 14 Nov 2019 11:39:59 +0100 Subject: [PATCH] Connect document editor actions also to the main window, and let Esc disable Zen Mode if activated. --- nw/guimain.py | 37 ++++++++++++++++++++++++++++++++++++- 1 file changed, 36 insertions(+), 1 deletion(-) diff --git a/nw/guimain.py b/nw/guimain.py index 5fa5df69..0a3a87fc 100644 --- a/nw/guimain.py +++ b/nw/guimain.py @@ -148,7 +148,8 @@ class GuiMain(QMainWindow): self.asDocTimer = QTimer() self.asDocTimer.timeout.connect(self._autoSaveDocument) - # Keyboard Shortcuts + # Shortcuts and Actions + self._connectMenuActions() QShortcut( Qt.Key_Return, self.treeView, @@ -182,6 +183,8 @@ class GuiMain(QMainWindow): return def clearGUI(self): + """Wrapper function to clear all sub-elements of the main GUI. + """ self.treeView.clearTree() self.docEditor.clearEditor() self.closeDocViewer() @@ -721,6 +724,7 @@ class GuiMain(QMainWindow): isVisible = not self.isZenMode self.treePane.setVisible(isVisible) self.statusBar.setVisible(isVisible) + self.mainMenu.setVisible(isVisible) if self.viewPane.isVisible(): self.viewPane.setVisible(False) @@ -753,6 +757,35 @@ class GuiMain(QMainWindow): # Internal Functions ## + def _connectMenuActions(self): + """Connect to the main window all menu actions that need to be + available also when the main menu is hidden. + """ + self.addAction(self.mainMenu.aSaveProject) + self.addAction(self.mainMenu.aExitNW) + self.addAction(self.mainMenu.aSaveDoc) + self.addAction(self.mainMenu.aFileDetails) + self.addAction(self.mainMenu.aZenMode) + self.addAction(self.mainMenu.aFullScreen) + self.addAction(self.mainMenu.aViewTimeLine) + self.addAction(self.mainMenu.aEditUndo) + self.addAction(self.mainMenu.aEditRedo) + self.addAction(self.mainMenu.aEditCut) + self.addAction(self.mainMenu.aEditCopy) + self.addAction(self.mainMenu.aEditPaste) + self.addAction(self.mainMenu.aSelectAll) + self.addAction(self.mainMenu.aSelectPar) + self.addAction(self.mainMenu.aFmtBold) + self.addAction(self.mainMenu.aFmtItalic) + self.addAction(self.mainMenu.aFmtULine) + self.addAction(self.mainMenu.aFmtDQuote) + self.addAction(self.mainMenu.aFmtSQuote) + self.addAction(self.mainMenu.aSpellCheck) + self.addAction(self.mainMenu.aReRunSpell) + self.addAction(self.mainMenu.aPreferences) + self.addAction(self.mainMenu.aHelp) + return True + def _setWindowTitle(self, projName=None): winTitle = "%s" % nw.__package__ if projName is not None: @@ -839,6 +872,8 @@ class GuiMain(QMainWindow): if self.searchBar.isVisible(): self.searchBar.setVisible(False) return + elif self.isZenMode: + self.toggleZenMode() return # END Class GuiMain