From edeea10e6a4aa2eeec50f6974495099520a66a47 Mon Sep 17 00:00:00 2001 From: David Schulz Date: Wed, 10 May 2023 15:23:24 +0200 Subject: [PATCH] CodeAssistant: block suggestions while proposal is visible Change-Id: I78068306252c5c32304ea97e3abb2d87fdee7832 Reviewed-by: Marcus Tillmanns --- src/plugins/texteditor/codeassist/codeassistant.cpp | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/plugins/texteditor/codeassist/codeassistant.cpp b/src/plugins/texteditor/codeassist/codeassistant.cpp index bbcbb130be0..fce8d083856 100644 --- a/src/plugins/texteditor/codeassist/codeassistant.cpp +++ b/src/plugins/texteditor/codeassist/codeassistant.cpp @@ -81,6 +81,7 @@ private: IAssistProcessor *m_processor = nullptr; AssistKind m_assistKind = TextEditor::Completion; IAssistProposalWidget *m_proposalWidget = nullptr; + TextEditorWidget::SuggestionBlocker m_suggestionBlocker; bool m_receivedContentWhileWaiting = false; QTimer m_automaticProposalTimer; CompletionSettings m_settings; @@ -295,6 +296,7 @@ void CodeAssistantPrivate::displayProposal(IAssistProposal *newProposal, AssistR m_proposalWidget->setDisplayRect(m_editorWidget->cursorRect(basePosition)); m_proposalWidget->setIsSynchronized(!m_receivedContentWhileWaiting); m_proposalWidget->showProposal(prefix); + m_suggestionBlocker = m_editorWidget->blockSuggestions(); } void CodeAssistantPrivate::processProposalItem(AssistProposalItemInterface *proposalItem) @@ -337,6 +339,7 @@ void CodeAssistantPrivate::handlePrefixExpansion(const QString &newPrefix) void CodeAssistantPrivate::finalizeProposal() { stopAutomaticProposalTimer(); + m_suggestionBlocker.reset(); m_proposalWidget = nullptr; if (m_receivedContentWhileWaiting) m_receivedContentWhileWaiting = false;