From aa5899ad40ba47c03861c193aab3ccfe33e3b3b4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Thorbj=C3=B8rn=20Lindeijer?= <thorbjorn.lindeijer@nokia.com> Date: Thu, 25 Mar 2010 16:44:41 +0100 Subject: [PATCH] Fixed Delete and Backspace in specific cases when renaming in-place The Delete and Backspace keys are blocked when the cursor is respectively at the end or beginning of a word that is being renamed in-place. However, when there is a selection, the removal of this selection is still supposed to be allowed. Reviewed-by: Robert Loehning --- src/plugins/cppeditor/cppeditor.cpp | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/src/plugins/cppeditor/cppeditor.cpp b/src/plugins/cppeditor/cppeditor.cpp index 0074c8f5588..37772f4b8ca 100644 --- a/src/plugins/cppeditor/cppeditor.cpp +++ b/src/plugins/cppeditor/cppeditor.cpp @@ -1795,16 +1795,18 @@ void CPPEditor::keyPressEvent(QKeyEvent *e) break; } case Qt::Key_Backspace: { - if (cursor.position() == m_currentRenameSelectionBegin.position()) { - // Eat backspace at start of name + if (cursor.position() == m_currentRenameSelectionBegin.position() + && !cursor.hasSelection()) { + // Eat backspace at start of name when there is no selection e->accept(); return; } break; } case Qt::Key_Delete: { - if (cursor.position() == m_currentRenameSelectionEnd.position()) { - // Eat delete at end of name + if (cursor.position() == m_currentRenameSelectionEnd.position() + && !cursor.hasSelection()) { + // Eat delete at end of name when there is no selection e->accept(); return; } -- GitLab