diff --git a/src/plugins/cppeditor/cpplocalrenaming.cpp b/src/plugins/cppeditor/cpplocalrenaming.cpp index 5713a02fdda..cce808e4af1 100644 --- a/src/plugins/cppeditor/cpplocalrenaming.cpp +++ b/src/plugins/cppeditor/cpplocalrenaming.cpp @@ -243,9 +243,15 @@ void CppLocalRenaming::forgetRenamingSelection() m_renameSelectionIndex = -1; } +bool CppLocalRenaming::isWithinSelection(const QTextEdit::ExtraSelection &selection, int position) +{ + return selection.cursor.selectionStart() <= position + && position <= selection.cursor.selectionEnd(); +} + bool CppLocalRenaming::isWithinRenameSelection(int position) { - return renameSelectionBegin() <= position && position <= renameSelectionEnd(); + return isWithinSelection(renameSelection(), position); } bool CppLocalRenaming::isSameSelection(int cursorPosition) const @@ -254,14 +260,14 @@ bool CppLocalRenaming::isSameSelection(int cursorPosition) const return false; const QTextEdit::ExtraSelection &sel = m_selections[m_renameSelectionIndex]; - return (sel.cursor.position() <= cursorPosition && cursorPosition <= sel.cursor.anchor()); + return isWithinSelection(sel, cursorPosition); } bool CppLocalRenaming::findRenameSelection(int cursorPosition) { for (int i = 0, total = m_selections.size(); i < total; ++i) { const QTextEdit::ExtraSelection &sel = m_selections.at(i); - if (sel.cursor.position() <= cursorPosition && cursorPosition <= sel.cursor.anchor()) { + if (isWithinSelection(sel, cursorPosition)) { m_renameSelectionIndex = i; return true; } diff --git a/src/plugins/cppeditor/cpplocalrenaming.h b/src/plugins/cppeditor/cpplocalrenaming.h index 61c1d1ca11c..5571977c503 100644 --- a/src/plugins/cppeditor/cpplocalrenaming.h +++ b/src/plugins/cppeditor/cpplocalrenaming.h @@ -72,11 +72,12 @@ private: // The "rename selection" is the local use selection on which the user started the renaming bool findRenameSelection(int cursorPosition); void forgetRenamingSelection(); + static bool isWithinSelection(const QTextEdit::ExtraSelection &selection, int position); bool isWithinRenameSelection(int position); QTextEdit::ExtraSelection &renameSelection(); - int renameSelectionBegin() { return renameSelection().cursor.position(); } - int renameSelectionEnd() { return renameSelection().cursor.anchor(); } + int renameSelectionBegin() { return renameSelection().cursor.selectionStart(); } + int renameSelectionEnd() { return renameSelection().cursor.selectionEnd(); } void updateRenamingSelectionCursor(const QTextCursor &cursor); void updateRenamingSelectionFormat(const QTextCharFormat &format);