From 6f257d9b2750a11f3ea68524d93a4df66a89342f Mon Sep 17 00:00:00 2001 From: Veronica Berglyd Olsen <1619840+vkbo@users.noreply.github.com> Date: Fri, 14 Oct 2022 20:47:01 +0200 Subject: [PATCH 1/3] Use the main menu entries in the view bar settings menu --- novelwriter/gui/mainmenu.py | 6 +++++- novelwriter/gui/viewsbar.py | 23 ++++++++++------------- 2 files changed, 15 insertions(+), 14 deletions(-) diff --git a/novelwriter/gui/mainmenu.py b/novelwriter/gui/mainmenu.py index 79361feb..746de344 100644 --- a/novelwriter/gui/mainmenu.py +++ b/novelwriter/gui/mainmenu.py @@ -40,6 +40,10 @@ logger = logging.getLogger(__name__) class GuiMainMenu(QMenuBar): + """The GUI main menu. All menu actions are defined here with the + main menu as the owner. Each widget that need them elsewhere need to + add them from this class. + """ def __init__(self, mainGui): super().__init__(parent=mainGui) @@ -164,7 +168,7 @@ class GuiMainMenu(QMenuBar): # Project > Edit self.aEditItem = QAction(self.tr("Rename Item"), self) - self.aEditItem.setShortcuts(["F2"]) + self.aEditItem.setShortcut("F2") self.aEditItem.triggered.connect(lambda: self.mainGui.editItemLabel(None)) self.projMenu.addAction(self.aEditItem) diff --git a/novelwriter/gui/viewsbar.py b/novelwriter/gui/viewsbar.py index 4d19f818..aff29b56 100644 --- a/novelwriter/gui/viewsbar.py +++ b/novelwriter/gui/viewsbar.py @@ -67,37 +67,37 @@ class GuiViewsBar(QToolBar): stretch.setSizePolicy(QSizePolicy.Expanding, QSizePolicy.Expanding) # Actions - self.aProject = QAction(self.tr("Project")) + self.aProject = QAction(self.tr("Project"), self) self.aProject.setFont(lblFont) self.aProject.setToolTip(self.tr("Show project tree and editor")) self.aProject.setIcon(self.mainTheme.getIcon("view_editor")) self.aProject.triggered.connect(lambda: self.viewChangeRequested.emit(nwView.PROJECT)) - self.aNovel = QAction(self.tr("Novel")) + self.aNovel = QAction(self.tr("Novel"), self) self.aNovel.setFont(lblFont) self.aNovel.setToolTip(self.tr("Show novel tree and editor")) self.aNovel.setIcon(self.mainTheme.getIcon("view_novel")) self.aNovel.triggered.connect(lambda: self.viewChangeRequested.emit(nwView.NOVEL)) - self.aOutline = QAction(self.tr("Outline")) + self.aOutline = QAction(self.tr("Outline"), self) self.aOutline.setFont(lblFont) self.aOutline.setToolTip(self.tr("Show novel outline")) self.aOutline.setIcon(self.mainTheme.getIcon("view_outline")) self.aOutline.triggered.connect(lambda: self.viewChangeRequested.emit(nwView.OUTLINE)) - self.aBuild = QAction(self.tr("Build")) + self.aBuild = QAction(self.tr("Build"), self) self.aBuild.setFont(lblFont) self.aBuild.setToolTip(self.tr("Build novel project")) self.aBuild.setIcon(self.mainTheme.getIcon("view_build")) self.aBuild.triggered.connect(lambda: self.mainGui.showBuildProjectDialog()) - self.aDetails = QAction(self.tr("Details")) + self.aDetails = QAction(self.tr("Details"), self) self.aDetails.setFont(lblFont) self.aDetails.setToolTip(self.tr("Show project details")) self.aDetails.setIcon(self.mainTheme.getIcon("proj_details")) self.aDetails.triggered.connect(lambda: self.mainGui.showProjectDetailsDialog()) - self.aStats = QAction(self.tr("Stats")) + self.aStats = QAction(self.tr("Stats"), self) self.aStats.setFont(lblFont) self.aStats.setToolTip(self.tr("Show project statistics")) self.aStats.setIcon(self.mainTheme.getIcon("proj_stats")) @@ -106,13 +106,10 @@ class GuiViewsBar(QToolBar): # Settings Menu self.mSettings = QMenu() - self.aPrjSettings = QAction(self.tr("Project Settings")) - self.aPrjSettings.triggered.connect(lambda: self.mainGui.showProjectSettingsDialog()) - self.mSettings.addAction(self.aPrjSettings) - - self.aPreferences = QAction(self.tr("Preferences")) - self.aPreferences.triggered.connect(lambda: self.mainGui.showPreferencesDialog()) - self.mSettings.addAction(self.aPreferences) + self.mSettings.addAction(self.mainGui.mainMenu.aEditWordList) + self.mSettings.addAction(self.mainGui.mainMenu.aProjectSettings) + self.mSettings.addSeparator() + self.mSettings.addAction(self.mainGui.mainMenu.aPreferences) self.tbSettings = QToolButton(self) self.tbSettings.setFont(lblFont) From 64c07e891004cf93325b6f5510c153947ec1d66a Mon Sep 17 00:00:00 2001 From: Veronica Berglyd Olsen <1619840+vkbo@users.noreply.github.com> Date: Fri, 14 Oct 2022 21:45:58 +0200 Subject: [PATCH 2/3] Change a few tooltip labels and remove focus mode checkbox in menu --- novelwriter/gui/doceditor.py | 2 +- novelwriter/gui/mainmenu.py | 8 -------- novelwriter/gui/viewsbar.py | 12 ++++++------ novelwriter/guimain.py | 2 -- 4 files changed, 7 insertions(+), 17 deletions(-) diff --git a/novelwriter/gui/doceditor.py b/novelwriter/gui/doceditor.py index 3f9fae10..ffdce1c7 100644 --- a/novelwriter/gui/doceditor.py +++ b/novelwriter/gui/doceditor.py @@ -2645,7 +2645,7 @@ class GuiDocEditHeader(QWidget): self.editButton.setStyleSheet(buttonStyle) self.editButton.setToolButtonStyle(Qt.ToolButtonIconOnly) self.editButton.setVisible(False) - self.editButton.setToolTip(self.tr("Edit document meta")) + self.editButton.setToolTip(self.tr("Edit document label")) self.editButton.clicked.connect(self._editDocument) self.searchButton = QToolButton(self) diff --git a/novelwriter/gui/mainmenu.py b/novelwriter/gui/mainmenu.py index 746de344..a110cb8a 100644 --- a/novelwriter/gui/mainmenu.py +++ b/novelwriter/gui/mainmenu.py @@ -83,12 +83,6 @@ class GuiMainMenu(QMenuBar): self.aSpellCheck.setChecked(theMode) return - def setFocusMode(self, theMode): - """Forward focus mode check state to its action. - """ - self.aFocusMode.setChecked(theMode) - return - ## # Slots ## @@ -369,8 +363,6 @@ class GuiMainMenu(QMenuBar): # View > Focus Mode self.aFocusMode = QAction(self.tr("Focus Mode"), self) self.aFocusMode.setShortcut("F8") - self.aFocusMode.setCheckable(True) - self.aFocusMode.setChecked(self.mainGui.isFocusMode) self.aFocusMode.triggered.connect(lambda: self.mainGui.toggleFocusMode()) self.viewMenu.addAction(self.aFocusMode) diff --git a/novelwriter/gui/viewsbar.py b/novelwriter/gui/viewsbar.py index aff29b56..dcd697db 100644 --- a/novelwriter/gui/viewsbar.py +++ b/novelwriter/gui/viewsbar.py @@ -69,37 +69,37 @@ class GuiViewsBar(QToolBar): # Actions self.aProject = QAction(self.tr("Project"), self) self.aProject.setFont(lblFont) - self.aProject.setToolTip(self.tr("Show project tree and editor")) + self.aProject.setToolTip(self.tr("Project Tree View")) self.aProject.setIcon(self.mainTheme.getIcon("view_editor")) self.aProject.triggered.connect(lambda: self.viewChangeRequested.emit(nwView.PROJECT)) self.aNovel = QAction(self.tr("Novel"), self) self.aNovel.setFont(lblFont) - self.aNovel.setToolTip(self.tr("Show novel tree and editor")) + self.aNovel.setToolTip(self.tr("Novel Tree View")) self.aNovel.setIcon(self.mainTheme.getIcon("view_novel")) self.aNovel.triggered.connect(lambda: self.viewChangeRequested.emit(nwView.NOVEL)) self.aOutline = QAction(self.tr("Outline"), self) self.aOutline.setFont(lblFont) - self.aOutline.setToolTip(self.tr("Show novel outline")) + self.aOutline.setToolTip(self.tr("Novel Outline View")) self.aOutline.setIcon(self.mainTheme.getIcon("view_outline")) self.aOutline.triggered.connect(lambda: self.viewChangeRequested.emit(nwView.OUTLINE)) self.aBuild = QAction(self.tr("Build"), self) self.aBuild.setFont(lblFont) - self.aBuild.setToolTip(self.tr("Build novel project")) + self.aBuild.setToolTip(self.tr("Build Novel Project")) self.aBuild.setIcon(self.mainTheme.getIcon("view_build")) self.aBuild.triggered.connect(lambda: self.mainGui.showBuildProjectDialog()) self.aDetails = QAction(self.tr("Details"), self) self.aDetails.setFont(lblFont) - self.aDetails.setToolTip(self.tr("Show project details")) + self.aDetails.setToolTip(self.tr("Project Details")) self.aDetails.setIcon(self.mainTheme.getIcon("proj_details")) self.aDetails.triggered.connect(lambda: self.mainGui.showProjectDetailsDialog()) self.aStats = QAction(self.tr("Stats"), self) self.aStats.setFont(lblFont) - self.aStats.setToolTip(self.tr("Show project statistics")) + self.aStats.setToolTip(self.tr("Writing Statistics")) self.aStats.setIcon(self.mainTheme.getIcon("proj_stats")) self.aStats.triggered.connect(lambda: self.mainGui.showWritingStatsDialog()) diff --git a/novelwriter/guimain.py b/novelwriter/guimain.py index a8676686..715311be 100644 --- a/novelwriter/guimain.py +++ b/novelwriter/guimain.py @@ -1213,11 +1213,9 @@ class GuiMain(QMainWindow): """ if self.docEditor.docHandle() is None: logger.error("No document open, so not activating Focus Mode") - self.mainMenu.setFocusMode(self.isFocusMode) return False self.isFocusMode = not self.isFocusMode - self.mainMenu.setFocusMode(self.isFocusMode) if self.isFocusMode: logger.debug("Activating Focus Mode") self.switchFocus(nwWidget.EDITOR) From 11ff9567c0d8ef86710da0c1a1bb6b77cabd73c2 Mon Sep 17 00:00:00 2001 From: Veronica Berglyd Olsen <1619840+vkbo@users.noreply.github.com> Date: Fri, 14 Oct 2022 21:49:42 +0200 Subject: [PATCH 3/3] Make the novel combo box on project details always visible --- novelwriter/dialogs/projdetails.py | 2 -- 1 file changed, 2 deletions(-) diff --git a/novelwriter/dialogs/projdetails.py b/novelwriter/dialogs/projdetails.py index 729f8a3b..7f2259c3 100644 --- a/novelwriter/dialogs/projdetails.py +++ b/novelwriter/dialogs/projdetails.py @@ -450,8 +450,6 @@ class GuiProjectDetailsContents(QWidget): for tHandle, nwItem in self.theProject.tree.iterRoots(nwItemClass.NOVEL): self.novelValue.addItem(tIcon, nwItem.itemName, tHandle) - self.novelValue.setVisible(self.novelValue.count() > 1) - return def _prepareData(self, rootHandle):