From dbdb3931f40198c55b3cb22fe48ef8eaec5cee18 Mon Sep 17 00:00:00 2001 From: "Veronica K. B. Olsen" <1619840+vkbo@users.noreply.github.com> Date: Mon, 22 Mar 2021 18:34:18 +0100 Subject: [PATCH] Fix search shortcuts in Focus Mode and stop hiding buttons --- nw/gui/doceditor.py | 24 +++++++++++------------- nw/guimain.py | 22 ++++++++++++++++++---- 2 files changed, 29 insertions(+), 17 deletions(-) diff --git a/nw/gui/doceditor.py b/nw/gui/doceditor.py index 779d475d..7f8e6911 100644 --- a/nw/gui/doceditor.py +++ b/nw/gui/doceditor.py @@ -2178,7 +2178,6 @@ class GuiDocEditHeader(QWidget): fPx = int(0.9*self.theTheme.fontPixelSize) hSp = self.mainConf.pxInt(6) - self.buttonSize = fPx + hSp # Main Widget Settings self.setAutoFillBackground(True) @@ -2324,6 +2323,17 @@ class GuiDocEditHeader(QWidget): return True + def updateFocusMode(self): + """Update the minimise/maximise icon of the Focus Mode button. + This function is called by the GuiMain class via the + toggleFocusMode function and should not be activated directly. + """ + if self.theParent.isFocusMode: + self.minmaxButton.setIcon(self.theTheme.getIcon("minimise")) + else: + self.minmaxButton.setIcon(self.theTheme.getIcon("maximise")) + return + ## # Slots ## @@ -2354,18 +2364,6 @@ class GuiDocEditHeader(QWidget): """Switch on or off Focus Mode. """ self.theParent.toggleFocusMode() - if self.theParent.isFocusMode: - self.minmaxButton.setIcon(self.theTheme.getIcon("minimise")) - self.setContentsMargins(self.buttonSize, 0, 0, 0) - self.editButton.setVisible(False) - self.searchButton.setVisible(False) - self.closeButton.setVisible(False) - else: - self.minmaxButton.setIcon(self.theTheme.getIcon("maximise")) - self.setContentsMargins(0, 0, 0, 0) - self.editButton.setVisible(True) - self.searchButton.setVisible(True) - self.closeButton.setVisible(True) return ## diff --git a/nw/guimain.py b/nw/guimain.py index 055a4b00..b3c7b25e 100644 --- a/nw/guimain.py +++ b/nw/guimain.py @@ -558,6 +558,10 @@ class GuiMain(QMainWindow): logger.error("No project open") return False + # Disable focus mode if it is active + if self.isFocusMode: + self.toggleFocusMode() + self.docEditor.saveCursorPosition() if self.docEditor.docChanged: self.saveDocument() @@ -804,10 +808,10 @@ class GuiMain(QMainWindow): return False if tHandle is None: - if self.treeView.hasFocus(): - tHandle = self.treeView.getSelectedHandle() - elif self.docEditor.hasFocus(): + if self.docEditor.anyFocus() or self.isFocusMode: tHandle = self.docEditor.theHandle + elif self.treeView.hasFocus(): + tHandle = self.treeView.getSelectedHandle() if tHandle is None: logger.warning("No item selected") @@ -1221,6 +1225,7 @@ class GuiMain(QMainWindow): if self.isFocusMode: logger.debug("Activating Focus Mode") self.mainTabs.setCurrentWidget(self.splitDocs) + self.setFocus(2) else: logger.debug("Deactivating Focus Mode") @@ -1232,6 +1237,7 @@ class GuiMain(QMainWindow): hideDocFooter = self.isFocusMode and self.mainConf.hideFocusFooter self.docEditor.docFooter.setVisible(not hideDocFooter) + self.docEditor.docHeader.updateFocusMode() if self.splitView.isVisible(): self.splitView.setVisible(False) @@ -1269,11 +1275,12 @@ class GuiMain(QMainWindow): """ # Project self.addAction(self.mainMenu.aSaveProject) + self.addAction(self.mainMenu.aEditItem) self.addAction(self.mainMenu.aExitNW) # Document self.addAction(self.mainMenu.aSaveDoc) - self.addAction(self.mainMenu.aFileDetails) + self.addAction(self.mainMenu.aCloseDoc) # Edit self.addAction(self.mainMenu.aEditUndo) @@ -1317,6 +1324,13 @@ class GuiMain(QMainWindow): for mAction, _ in self.mainMenu.mInsKWItems.values(): self.addAction(mAction) + # Search + self.addAction(self.mainMenu.aFind) + self.addAction(self.mainMenu.aReplace) + self.addAction(self.mainMenu.aFindNext) + self.addAction(self.mainMenu.aFindPrev) + self.addAction(self.mainMenu.aReplaceNext) + # Format self.addAction(self.mainMenu.aFmtEmph) self.addAction(self.mainMenu.aFmtStrong)