diff --git a/docs/source/int_interface.rst b/docs/source/int_interface.rst index e6b35c84..3427895f 100644 --- a/docs/source/int_interface.rst +++ b/docs/source/int_interface.rst @@ -429,6 +429,7 @@ a key or key combination for the inserted content. ":kbd:`Ctrl`:kbd:`K`, :kbd:`−`", "Insert a short dash (en dash)." ":kbd:`Ctrl`:kbd:`K`, :kbd:`_`", "Insert a long dash (em dash)." + ":kbd:`Ctrl`:kbd:`K`, :kbd:`Ctrl`:kbd:`_`", "Insert a horizontal bar (quotation dash)." ":kbd:`Ctrl`:kbd:`K`, :kbd:`~`", "Insert a figure dash (same width as a number)." ":kbd:`Ctrl`:kbd:`K`, :kbd:`1`", "Insert a left single quote." ":kbd:`Ctrl`:kbd:`K`, :kbd:`2`", "Insert a right single quote." diff --git a/nw/constants/constants.py b/nw/constants/constants.py index fc095fa1..5b961e10 100644 --- a/nw/constants/constants.py +++ b/nw/constants/constants.py @@ -271,6 +271,7 @@ class nwUnicode: U_FGDASH = "\u2012" # Figure dash U_ENDASH = "\u2013" # Short dash U_EMDASH = "\u2014" # Long dash + U_HBAR = "\u2015" # Horizontal bar U_HELLIP = "\u2026" # Ellipsis U_MAPOSS = "\u02bc" # Modifier letter single apostrophe U_PRIME = "\u2032" # Prime @@ -336,6 +337,7 @@ class nwUnicode: H_FGDASH = "‒" H_ENDASH = "–" H_EMDASH = "—" + H_HBAR = "―" H_HELLIP = "…" H_MAPOSS = "ʼ" H_PRIME = "′" diff --git a/nw/gui/mainmenu.py b/nw/gui/mainmenu.py index da42d269..d7332a93 100644 --- a/nw/gui/mainmenu.py +++ b/nw/gui/mainmenu.py @@ -517,18 +517,25 @@ class GuiMainMenu(QMenuBar): # Insert > Short Dash self.aInsENDash = QAction("Short Dash", self) - self.aInsENDash.setStatusTip("Insert short dash") + self.aInsENDash.setStatusTip("Insert short dash (en dash)") self.aInsENDash.setShortcut("Ctrl+K, -") self.aInsENDash.triggered.connect(lambda: self._docInsert(nwUnicode.U_ENDASH)) self.mInsDashes.addAction(self.aInsENDash) # Insert > Long Dash self.aInsEMDash = QAction("Long Dash", self) - self.aInsEMDash.setStatusTip("Insert long dash") + self.aInsEMDash.setStatusTip("Insert long dash (em dash)") self.aInsEMDash.setShortcut("Ctrl+K, _") self.aInsEMDash.triggered.connect(lambda: self._docInsert(nwUnicode.U_EMDASH)) self.mInsDashes.addAction(self.aInsEMDash) + # Insert > Long Dash + self.aInsHorBar = QAction("Horizontal Bar", self) + self.aInsHorBar.setStatusTip("Insert a horizontal bar (quotation dash)") + self.aInsHorBar.setShortcut("Ctrl+K, Ctrl+_") + self.aInsHorBar.triggered.connect(lambda: self._docInsert(nwUnicode.U_HBAR)) + self.mInsDashes.addAction(self.aInsHorBar) + # Insert > Figure Dash self.aInsFigDash = QAction("Figure Dash", self) self.aInsFigDash.setStatusTip("Insert figure dash (same width as a number character)") diff --git a/nw/guimain.py b/nw/guimain.py index f38b378e..6996f6ad 100644 --- a/nw/guimain.py +++ b/nw/guimain.py @@ -1240,6 +1240,7 @@ class GuiMain(QMainWindow): # Insert self.addAction(self.mainMenu.aInsENDash) self.addAction(self.mainMenu.aInsEMDash) + self.addAction(self.mainMenu.aInsHorBar) self.addAction(self.mainMenu.aInsFigDash) self.addAction(self.mainMenu.aInsQuoteLS) self.addAction(self.mainMenu.aInsQuoteRS) diff --git a/tests/test_gui/test_gui_mainmenu.py b/tests/test_gui/test_gui_mainmenu.py index ae61e14c..dcd32e91 100644 --- a/tests/test_gui/test_gui_mainmenu.py +++ b/tests/test_gui/test_gui_mainmenu.py @@ -392,6 +392,10 @@ def testGuiMenu_Insert(qtbot, monkeypatch, nwGUI, fncDir, fncProj): assert nwGUI.docEditor.getText() == nwUnicode.U_EMDASH nwGUI.docEditor.clear() + nwGUI.mainMenu.aInsHorBar.activate(QAction.Trigger) + assert nwGUI.docEditor.getText() == nwUnicode.U_HBAR + nwGUI.docEditor.clear() + nwGUI.mainMenu.aInsFigDash.activate(QAction.Trigger) assert nwGUI.docEditor.getText() == nwUnicode.U_FGDASH nwGUI.docEditor.clear()