forked from qt-creator/qt-creator
CodeAssistant: block suggestions while proposal is visible
Change-Id: I78068306252c5c32304ea97e3abb2d87fdee7832 Reviewed-by: Marcus Tillmanns <marcus.tillmanns@qt.io>
This commit is contained in:
@@ -81,6 +81,7 @@ private:
|
|||||||
IAssistProcessor *m_processor = nullptr;
|
IAssistProcessor *m_processor = nullptr;
|
||||||
AssistKind m_assistKind = TextEditor::Completion;
|
AssistKind m_assistKind = TextEditor::Completion;
|
||||||
IAssistProposalWidget *m_proposalWidget = nullptr;
|
IAssistProposalWidget *m_proposalWidget = nullptr;
|
||||||
|
TextEditorWidget::SuggestionBlocker m_suggestionBlocker;
|
||||||
bool m_receivedContentWhileWaiting = false;
|
bool m_receivedContentWhileWaiting = false;
|
||||||
QTimer m_automaticProposalTimer;
|
QTimer m_automaticProposalTimer;
|
||||||
CompletionSettings m_settings;
|
CompletionSettings m_settings;
|
||||||
@@ -295,6 +296,7 @@ void CodeAssistantPrivate::displayProposal(IAssistProposal *newProposal, AssistR
|
|||||||
m_proposalWidget->setDisplayRect(m_editorWidget->cursorRect(basePosition));
|
m_proposalWidget->setDisplayRect(m_editorWidget->cursorRect(basePosition));
|
||||||
m_proposalWidget->setIsSynchronized(!m_receivedContentWhileWaiting);
|
m_proposalWidget->setIsSynchronized(!m_receivedContentWhileWaiting);
|
||||||
m_proposalWidget->showProposal(prefix);
|
m_proposalWidget->showProposal(prefix);
|
||||||
|
m_suggestionBlocker = m_editorWidget->blockSuggestions();
|
||||||
}
|
}
|
||||||
|
|
||||||
void CodeAssistantPrivate::processProposalItem(AssistProposalItemInterface *proposalItem)
|
void CodeAssistantPrivate::processProposalItem(AssistProposalItemInterface *proposalItem)
|
||||||
@@ -337,6 +339,7 @@ void CodeAssistantPrivate::handlePrefixExpansion(const QString &newPrefix)
|
|||||||
void CodeAssistantPrivate::finalizeProposal()
|
void CodeAssistantPrivate::finalizeProposal()
|
||||||
{
|
{
|
||||||
stopAutomaticProposalTimer();
|
stopAutomaticProposalTimer();
|
||||||
|
m_suggestionBlocker.reset();
|
||||||
m_proposalWidget = nullptr;
|
m_proposalWidget = nullptr;
|
||||||
if (m_receivedContentWhileWaiting)
|
if (m_receivedContentWhileWaiting)
|
||||||
m_receivedContentWhileWaiting = false;
|
m_receivedContentWhileWaiting = false;
|
||||||
|
|||||||
Reference in New Issue
Block a user