From b11d3606c274c46783917b51fc9f7f979f52a1f1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Thorbj=C3=B8rn=20Lindeijer?= <thorbjorn.lindeijer@nokia.com> Date: Thu, 2 Jul 2009 12:21:00 +0200 Subject: [PATCH] Fixed behaviour of Home and End while renaming Also allow starting to rename with the cursor at the end of the name. --- src/plugins/cppeditor/cppeditor.cpp | 26 +++++++++++++++++--------- 1 file changed, 17 insertions(+), 9 deletions(-) diff --git a/src/plugins/cppeditor/cppeditor.cpp b/src/plugins/cppeditor/cppeditor.cpp index 5295a013507..4be02ac067a 100644 --- a/src/plugins/cppeditor/cppeditor.cpp +++ b/src/plugins/cppeditor/cppeditor.cpp @@ -805,7 +805,7 @@ void CPPEditor::renameInPlace() for (int i = 0; i < m_renameSelections.size(); ++i) { QTextEdit::ExtraSelection s = m_renameSelections.at(i); if (c.position() >= s.cursor.anchor() - && c.position() < s.cursor.position()) { + && c.position() <= s.cursor.position()) { m_currentRenameSelection = i; m_renameSelections[i].format.setBackground(QColor(255, 200, 200)); setExtraSelections(CodeSemanticsSelection, m_renameSelections); @@ -1471,17 +1471,25 @@ void CPPEditor::keyPressEvent(QKeyEvent *e) return; case Qt::Key_Home: { QTextCursor c = textCursor(); - c.setPosition(currentRenameSelection.cursor.anchor(), moveMode); - setTextCursor(c); - e->accept(); - return; + if (c.position() > currentRenameSelection.cursor.anchor() + && c.position() <= currentRenameSelection.cursor.position()) { + c.setPosition(currentRenameSelection.cursor.anchor(), moveMode); + setTextCursor(c); + e->accept(); + return; + } + break; } case Qt::Key_End: { QTextCursor c = textCursor(); - c.setPosition(currentRenameSelection.cursor.position(), moveMode); - setTextCursor(c); - e->accept(); - return; + if (c.position() >= currentRenameSelection.cursor.anchor() + && c.position() < currentRenameSelection.cursor.position()) { + c.setPosition(currentRenameSelection.cursor.position(), moveMode); + setTextCursor(c); + e->accept(); + return; + } + break; } case Qt::Key_Backspace: { QTextCursor c = textCursor(); -- GitLab