diff --git a/src/plugins/cppeditor/cppeditor.cpp b/src/plugins/cppeditor/cppeditor.cpp index a19081e5240..c04630a0793 100644 --- a/src/plugins/cppeditor/cppeditor.cpp +++ b/src/plugins/cppeditor/cppeditor.cpp @@ -723,6 +723,14 @@ FollowSymbolUnderCursor *CppEditorWidget::followSymbolUnderCursorDelegate() return d->m_followSymbolUnderCursor.data(); } +void CppEditorWidget::encourageApply() +{ + if (d->m_localRenaming.encourageApply()) + return; + + TextEditorWidget::encourageApply(); +} + void CppEditorWidget::abortDeclDefLink() { if (!d->m_declDefLink) diff --git a/src/plugins/cppeditor/cppeditor.h b/src/plugins/cppeditor/cppeditor.h index 41002e77790..489a04216d7 100644 --- a/src/plugins/cppeditor/cppeditor.h +++ b/src/plugins/cppeditor/cppeditor.h @@ -83,6 +83,8 @@ public: FollowSymbolUnderCursor *followSymbolUnderCursorDelegate(); // exposed for tests + void encourageApply() override; + public slots: void paste() override; void cut() override; diff --git a/src/plugins/cppeditor/cpplocalrenaming.cpp b/src/plugins/cppeditor/cpplocalrenaming.cpp index ab267df0b82..733005b8d66 100644 --- a/src/plugins/cppeditor/cpplocalrenaming.cpp +++ b/src/plugins/cppeditor/cpplocalrenaming.cpp @@ -210,6 +210,14 @@ bool CppLocalRenaming::handleKeyPressEvent(QKeyEvent *e) return true; } +bool CppLocalRenaming::encourageApply() +{ + if (!isActive()) + return false; + finishRenameChange(); + return true; +} + QTextEdit::ExtraSelection &CppLocalRenaming::renameSelection() { return m_selections[m_renameSelectionIndex]; diff --git a/src/plugins/cppeditor/cpplocalrenaming.h b/src/plugins/cppeditor/cpplocalrenaming.h index de6fd9ecf94..b23e4c5f5db 100644 --- a/src/plugins/cppeditor/cpplocalrenaming.h +++ b/src/plugins/cppeditor/cpplocalrenaming.h @@ -61,6 +61,8 @@ public: // to BaseTextEditorWidget::keyPressEvent() bool handleKeyPressEvent(QKeyEvent *e); + bool encourageApply(); + public slots: void updateSelectionsForVariableUnderCursor(const QList &selections);