From fff6ba98bc6084d5e34a613098c789e6ef9481b9 Mon Sep 17 00:00:00 2001 From: Veronica Berglyd Olsen <1619840+vkbo@users.noreply.github.com> Date: Sun, 3 Dec 2023 17:33:15 +0100 Subject: [PATCH] Rename emph and strong to italic and bold for consistency and add tooltips to editor toolbar --- novelwriter/enum.py | 6 +++--- novelwriter/gui/doceditor.py | 21 +++++++++++++++------ novelwriter/gui/mainmenu.py | 22 +++++++++++----------- novelwriter/guimain.py | 4 ++-- tests/test_gui/test_gui_doceditor.py | 6 +++--- tests/test_gui/test_gui_mainmenu.py | 16 ++++++++-------- 6 files changed, 42 insertions(+), 33 deletions(-) diff --git a/novelwriter/enum.py b/novelwriter/enum.py index 8b84c39e..300624e7 100644 --- a/novelwriter/enum.py +++ b/novelwriter/enum.py @@ -95,9 +95,9 @@ class nwDocAction(Enum): CUT = 3 COPY = 4 PASTE = 5 - EMPH = 6 - STRONG = 7 - STRIKE = 8 + MD_ITALIC = 6 + MD_BOLD = 7 + MD_STRIKE = 8 S_QUOTE = 9 D_QUOTE = 10 SEL_ALL = 11 diff --git a/novelwriter/gui/doceditor.py b/novelwriter/gui/doceditor.py index 8ef7681e..28e65f7e 100644 --- a/novelwriter/gui/doceditor.py +++ b/novelwriter/gui/doceditor.py @@ -718,11 +718,11 @@ class GuiDocEditor(QPlainTextEdit): self.copy() elif action == nwDocAction.PASTE: self.paste() - elif action == nwDocAction.EMPH: + elif action == nwDocAction.MD_ITALIC: self._toggleFormat(1, "_") - elif action == nwDocAction.STRONG: + elif action == nwDocAction.MD_BOLD: self._toggleFormat(2, "*") - elif action == nwDocAction.STRIKE: + elif action == nwDocAction.MD_STRIKE: self._toggleFormat(2, "~") elif action == nwDocAction.S_QUOTE: self._wrapSelection(self._typSQuoteO, self._typSQuoteC) @@ -2239,54 +2239,63 @@ class GuiDocToolBar(QWidget): self.tbBoldMD = QToolButton(self) self.tbBoldMD.setIconSize(iconSize) + self.tbBoldMD.setToolTip(self.tr("Markdown Bold")) self.tbBoldMD.clicked.connect( - lambda: self.requestDocAction.emit(nwDocAction.STRONG) + lambda: self.requestDocAction.emit(nwDocAction.MD_BOLD) ) self.tbItalicMD = QToolButton(self) self.tbItalicMD.setIconSize(iconSize) + self.tbItalicMD.setToolTip(self.tr("Markdown Italic")) self.tbItalicMD.clicked.connect( - lambda: self.requestDocAction.emit(nwDocAction.EMPH) + lambda: self.requestDocAction.emit(nwDocAction.MD_ITALIC) ) self.tbStrikeMD = QToolButton(self) self.tbStrikeMD.setIconSize(iconSize) + self.tbStrikeMD.setToolTip(self.tr("Markdown Strikethrough")) self.tbStrikeMD.clicked.connect( - lambda: self.requestDocAction.emit(nwDocAction.STRIKE) + lambda: self.requestDocAction.emit(nwDocAction.MD_STRIKE) ) self.tbBold = QToolButton(self) self.tbBold.setIconSize(iconSize) + self.tbBold.setToolTip(self.tr("Shortcode Bold")) self.tbBold.clicked.connect( lambda: self.requestDocAction.emit(nwDocAction.SC_BOLD) ) self.tbItalic = QToolButton(self) self.tbItalic.setIconSize(iconSize) + self.tbItalic.setToolTip(self.tr("Shortcode Italic")) self.tbItalic.clicked.connect( lambda: self.requestDocAction.emit(nwDocAction.SC_ITALIC) ) self.tbStrike = QToolButton(self) self.tbStrike.setIconSize(iconSize) + self.tbStrike.setToolTip(self.tr("Shortcode Strikethrough")) self.tbStrike.clicked.connect( lambda: self.requestDocAction.emit(nwDocAction.SC_STRIKE) ) self.tbUnderline = QToolButton(self) self.tbUnderline.setIconSize(iconSize) + self.tbUnderline.setToolTip(self.tr("Shortcode Underline")) self.tbUnderline.clicked.connect( lambda: self.requestDocAction.emit(nwDocAction.SC_ULINE) ) self.tbSuperscript = QToolButton(self) self.tbSuperscript.setIconSize(iconSize) + self.tbSuperscript.setToolTip(self.tr("Shortcode Superscript")) self.tbSuperscript.clicked.connect( lambda: self.requestDocAction.emit(nwDocAction.SC_SUP) ) self.tbSubscript = QToolButton(self) self.tbSubscript.setIconSize(iconSize) + self.tbSubscript.setToolTip(self.tr("Shortcode Subscript")) self.tbSubscript.clicked.connect( lambda: self.requestDocAction.emit(nwDocAction.SC_SUB) ) diff --git a/novelwriter/gui/mainmenu.py b/novelwriter/gui/mainmenu.py index e442f9e8..6d116596 100644 --- a/novelwriter/gui/mainmenu.py +++ b/novelwriter/gui/mainmenu.py @@ -608,25 +608,25 @@ class GuiMainMenu(QMenuBar): # Format self.fmtMenu = self.addMenu(self.tr("&Format")) - # Format > Emphasis - self.aFmtEmph = self.fmtMenu.addAction(self.tr("Emphasis")) - self.aFmtEmph.setShortcut("Ctrl+I") - self.aFmtEmph.triggered.connect( - lambda: self.requestDocAction.emit(nwDocAction.EMPH) + # Format > Bold + self.aFmtBold = self.fmtMenu.addAction(self.tr("Bold")) + self.aFmtBold.setShortcut("Ctrl+B") + self.aFmtBold.triggered.connect( + lambda: self.requestDocAction.emit(nwDocAction.MD_BOLD) ) - # Format > Strong Emphasis - self.aFmtStrong = self.fmtMenu.addAction(self.tr("Strong Emphasis")) - self.aFmtStrong.setShortcut("Ctrl+B") - self.aFmtStrong.triggered.connect( - lambda: self.requestDocAction.emit(nwDocAction.STRONG) + # Format > Italic + self.aFmtItalic = self.fmtMenu.addAction(self.tr("Italic")) + self.aFmtItalic.setShortcut("Ctrl+I") + self.aFmtItalic.triggered.connect( + lambda: self.requestDocAction.emit(nwDocAction.MD_ITALIC) ) # Format > Strikethrough self.aFmtStrike = self.fmtMenu.addAction(self.tr("Strikethrough")) self.aFmtStrike.setShortcut("Ctrl+D") self.aFmtStrike.triggered.connect( - lambda: self.requestDocAction.emit(nwDocAction.STRIKE) + lambda: self.requestDocAction.emit(nwDocAction.MD_STRIKE) ) # Edit > Separator diff --git a/novelwriter/guimain.py b/novelwriter/guimain.py index 17f91f4f..5825d0ec 100644 --- a/novelwriter/guimain.py +++ b/novelwriter/guimain.py @@ -1422,8 +1422,8 @@ class GuiMain(QMainWindow): self.addAction(self.mainMenu.aReplaceNext) # Format - self.addAction(self.mainMenu.aFmtEmph) - self.addAction(self.mainMenu.aFmtStrong) + self.addAction(self.mainMenu.aFmtItalic) + self.addAction(self.mainMenu.aFmtBold) self.addAction(self.mainMenu.aFmtStrike) self.addAction(self.mainMenu.aFmtDQuote) self.addAction(self.mainMenu.aFmtSQuote) diff --git a/tests/test_gui/test_gui_doceditor.py b/tests/test_gui/test_gui_doceditor.py index ebbc2e84..dc99614e 100644 --- a/tests/test_gui/test_gui_doceditor.py +++ b/tests/test_gui/test_gui_doceditor.py @@ -432,21 +432,21 @@ def testGuiEditor_Actions(qtbot, nwGUI, projPath, ipsumText, mockRnd): # Emphasis nwGUI.docEditor.setCursorPosition(50) - assert nwGUI.docEditor.docAction(nwDocAction.EMPH) is True + assert nwGUI.docEditor.docAction(nwDocAction.MD_ITALIC) is True assert nwGUI.docEditor.getText() == text.replace("consectetur", "_consectetur_") assert nwGUI.docEditor.docAction(nwDocAction.UNDO) is True assert nwGUI.docEditor.getText() == text # Strong nwGUI.docEditor.setCursorPosition(50) - assert nwGUI.docEditor.docAction(nwDocAction.STRONG) is True + assert nwGUI.docEditor.docAction(nwDocAction.MD_BOLD) is True assert nwGUI.docEditor.getText() == text.replace("consectetur", "**consectetur**") assert nwGUI.docEditor.docAction(nwDocAction.UNDO) is True assert nwGUI.docEditor.getText() == text # Strikeout nwGUI.docEditor.setCursorPosition(50) - assert nwGUI.docEditor.docAction(nwDocAction.STRIKE) is True + assert nwGUI.docEditor.docAction(nwDocAction.MD_STRIKE) is True assert nwGUI.docEditor.getText() == text.replace("consectetur", "~~consectetur~~") assert nwGUI.docEditor.docAction(nwDocAction.UNDO) is True assert nwGUI.docEditor.getText() == text diff --git a/tests/test_gui/test_gui_mainmenu.py b/tests/test_gui/test_gui_mainmenu.py index 95eec7b8..7d2ef53c 100644 --- a/tests/test_gui/test_gui_mainmenu.py +++ b/tests/test_gui/test_gui_mainmenu.py @@ -50,17 +50,17 @@ def testGuiMenu_EditFormat(qtbot, monkeypatch, nwGUI, prjLipsum): cleanText = nwGUI.docEditor.getText()[39:86] # Bold - nwGUI.mainMenu.aFmtStrong.activate(QAction.Trigger) + nwGUI.mainMenu.aFmtBold.activate(QAction.Trigger) fmtStr = "**Pellentesque** nec erat ut nulla posuere commodo." assert nwGUI.docEditor.getText()[39:90] == fmtStr - nwGUI.mainMenu.aFmtStrong.activate(QAction.Trigger) + nwGUI.mainMenu.aFmtBold.activate(QAction.Trigger) assert nwGUI.docEditor.getText()[39:86] == cleanText # Italic - nwGUI.mainMenu.aFmtEmph.activate(QAction.Trigger) + nwGUI.mainMenu.aFmtItalic.activate(QAction.Trigger) fmtStr = "_Pellentesque_ nec erat ut nulla posuere commodo." assert nwGUI.docEditor.getText()[39:88] == fmtStr - nwGUI.mainMenu.aFmtEmph.activate(QAction.Trigger) + nwGUI.mainMenu.aFmtItalic.activate(QAction.Trigger) assert nwGUI.docEditor.getText()[39:86] == cleanText # Strikethrough @@ -71,10 +71,10 @@ def testGuiMenu_EditFormat(qtbot, monkeypatch, nwGUI, prjLipsum): assert nwGUI.docEditor.getText()[39:86] == cleanText # Should get us back to plain - nwGUI.mainMenu.aFmtStrong.activate(QAction.Trigger) - nwGUI.mainMenu.aFmtEmph.activate(QAction.Trigger) - nwGUI.mainMenu.aFmtEmph.activate(QAction.Trigger) - nwGUI.mainMenu.aFmtStrong.activate(QAction.Trigger) + nwGUI.mainMenu.aFmtBold.activate(QAction.Trigger) + nwGUI.mainMenu.aFmtItalic.activate(QAction.Trigger) + nwGUI.mainMenu.aFmtItalic.activate(QAction.Trigger) + nwGUI.mainMenu.aFmtBold.activate(QAction.Trigger) assert nwGUI.docEditor.getText()[39:86] == cleanText # Double Quotes