From 525c9c8fd835989f95d4f7e277b21341795bd622 Mon Sep 17 00:00:00 2001 From: "Veronica K. B. Olsen" <1619840+vkbo@users.noreply.github.com> Date: Thu, 11 Feb 2021 19:27:35 +0100 Subject: [PATCH] Revert last commit and instead change delete item shortcut --- docs/source/usage_interface.rst | 4 +++- nw/constants/enum.py | 1 - nw/gui/doceditor.py | 7 ++----- nw/gui/mainmenu.py | 14 ++------------ nw/gui/projtree.py | 2 +- 5 files changed, 8 insertions(+), 20 deletions(-) diff --git a/docs/source/usage_interface.rst b/docs/source/usage_interface.rst index f8c419a1..e9d9c4ae 100644 --- a/docs/source/usage_interface.rst +++ b/docs/source/usage_interface.rst @@ -377,9 +377,10 @@ Most features are available as keyboard shortcuts. These are as follows: ":kbd:`Ctrl`:kbd:`Z`", "Undo latest changes." ":kbd:`Ctrl`:kbd:`F7`", "Toggle spell checking." ":kbd:`Ctrl`:kbd:`F10`", "Toggle automatic updating of project outline." - ":kbd:`Ctrl`:kbd:`Del`", "If in the project tree, move a document to trash, or delete a folder." ":kbd:`Ctrl`:kbd:`Up`", "Move item one step up in the project tree." ":kbd:`Ctrl`:kbd:`Down`", "Move item one step down in the project tree." + ":kbd:`Ctrl`:kbd:`Del`", "Delete next word in editor." + ":kbd:`Ctrl`:kbd:`Backspace`", "Delete previous word in editor." ":kbd:`Ctrl`:kbd:`'`", "Wrap selected text, or word under cursor, in single quotes." ":kbd:`Ctrl`:kbd:`""`", "Wrap selected text, or word under cursor, in double quotes." ":kbd:`Ctrl`:kbd:`Enter`", "Open the tag or reference under the cursor in the Viewer." @@ -395,6 +396,7 @@ Most features are available as keyboard shortcuts. These are as follows: ":kbd:`Ctrl`:kbd:`Shift`:kbd:`S`", "Save the current project." ":kbd:`Ctrl`:kbd:`Shift`:kbd:`W`", "Close the current project." ":kbd:`Ctrl`:kbd:`Shift`:kbd:`Z`", "Undo move of project tree item." + ":kbd:`Ctrl`:kbd:`Shift`:kbd:`Del`", "If in the project tree, move a document to trash, or delete a folder." ":kbd:`F1`", "Open the documentation. This will either open the Qt Assistant, if available, or send you to the documentation website." ":kbd:`F2`", "If in the project tree, edit a document or folder settings. (Same as :kbd:`Ctrl`:kbd:`E`)" ":kbd:`F3`", "Find next occurrence of search word in current document. (Same as :kbd:`Ctrl`:kbd:`G`)" diff --git a/nw/constants/enum.py b/nw/constants/enum.py index 74d0e9f4..539c0ae0 100644 --- a/nw/constants/enum.py +++ b/nw/constants/enum.py @@ -94,7 +94,6 @@ class nwDocAction(Enum): BLOCK_TXT = 23 REPL_SNG = 24 REPL_DBL = 25 - DEL_WORD = 26 # END Enum nwDocAction diff --git a/nw/gui/doceditor.py b/nw/gui/doceditor.py index b70e113f..abafc6fb 100644 --- a/nw/gui/doceditor.py +++ b/nw/gui/doceditor.py @@ -37,11 +37,11 @@ from time import time from PyQt5.QtCore import ( Qt, QSize, QTimer, pyqtSlot, pyqtSignal, QRegExp, QRegularExpression, - QPointF, QObject, QRunnable, QPropertyAnimation, QEvent + QPointF, QObject, QRunnable, QPropertyAnimation ) from PyQt5.QtGui import ( QTextCursor, QTextOption, QKeySequence, QFont, QColor, QPalette, - QTextDocument, QCursor, QPixmap, QKeyEvent + QTextDocument, QCursor, QPixmap ) from PyQt5.QtWidgets import ( qApp, QTextEdit, QAction, QMenu, QShortcut, QMessageBox, QWidget, QLabel, @@ -719,8 +719,6 @@ class GuiDocEditor(QTextEdit): self._replaceQuotes("'", self.typSQOpen, self.typSQClose) elif theAction == nwDocAction.REPL_DBL: self._replaceQuotes("\"", self.typDQOpen, self.typDQClose) - elif theAction == nwDocAction.DEL_WORD: - self.keyPressEvent(QKeyEvent(QEvent.KeyPress, Qt.Key_Delete, Qt.ControlModifier)) else: logger.debug("Unknown or unsupported document action %s" % str(theAction)) self._allowAutoReplace(True) @@ -845,7 +843,6 @@ class GuiDocEditor(QTextEdit): * The undo/redo/select all sequences bypasses the docAction pathway from the menu, so we redirect them back from here. """ - print(keyEvent.type()) self.lastActive = time() isReturn = keyEvent.key() == Qt.Key_Return isReturn |= keyEvent.key() == Qt.Key_Enter diff --git a/nw/gui/mainmenu.py b/nw/gui/mainmenu.py index c44b2214..4cf4960a 100644 --- a/nw/gui/mainmenu.py +++ b/nw/gui/mainmenu.py @@ -172,16 +172,6 @@ class GuiMainMenu(QMenuBar): QDesktopServices.openUrl(QUrl(theUrl)) return True - def _handleCtrlDel(self): - """Direct the Ctrl+Del key press to the correct widget. - """ - if self.theParent.treeView.hasFocus(): - self.theParent.treeView.deleteItem(None) - elif self.theParent.docEditor.hasFocus(): - self.theParent.docEditor.docAction(nwDocAction.DEL_WORD) - - return - ## # Menu Builders ## @@ -279,8 +269,8 @@ class GuiMainMenu(QMenuBar): # Project > Delete self.aDeleteItem = QAction("Delete Item", self) self.aDeleteItem.setStatusTip("Delete selected project item") - self.aDeleteItem.setShortcut("Ctrl+Del") - self.aDeleteItem.triggered.connect(self._handleCtrlDel) + self.aDeleteItem.setShortcut("Ctrl+Shift+Del") + self.aDeleteItem.triggered.connect(lambda: self.theParent.treeView.deleteItem(None)) self.projMenu.addAction(self.aDeleteItem) # Project > Move Up diff --git a/nw/gui/projtree.py b/nw/gui/projtree.py index a2e7c7b0..eff1ae7c 100644 --- a/nw/gui/projtree.py +++ b/nw/gui/projtree.py @@ -451,7 +451,7 @@ class GuiProjectTree(QTreeWidget): for tHandle in self.getTreeFromHandle(trashHandle): if tHandle == trashHandle: continue - self.deleteItem(tHandle, True) + self.deleteItem(tHandle, alreadyAsked=True) if nTrash > 0: self._setTreeChanged(True)