diff options
author | David Schulz <david.schulz@qt.io> | 2022-11-10 14:38:34 +0100 |
---|---|---|
committer | David Schulz <david.schulz@qt.io> | 2022-11-16 05:24:06 +0000 |
commit | f297b3f1b54ac2c4326ca1f55bdd0705c626ec35 (patch) | |
tree | 6cd83218b2973d7f6992bdbce355018aade858af /src/plugins/texteditor/codeassist | |
parent | be3a781581344d25bfd9381e1c02f9fc5409e4c5 (diff) |
Editor: always configured assistant
A code assistant is not usable without a text editor widget and is
always created as part of one, so make the dependency obvious by require
it in the construction of the code assistant. This removes a bunch of
functions and cheks.
Change-Id: I96556430082ff729d99d2ae2516599f9b8cbc704
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
Diffstat (limited to 'src/plugins/texteditor/codeassist')
-rw-r--r-- | src/plugins/texteditor/codeassist/codeassistant.cpp | 32 | ||||
-rw-r--r-- | src/plugins/texteditor/codeassist/codeassistant.h | 4 |
2 files changed, 6 insertions, 30 deletions
diff --git a/src/plugins/texteditor/codeassist/codeassistant.cpp b/src/plugins/texteditor/codeassist/codeassistant.cpp index 75c81efb53..5f4ac8ac90 100644 --- a/src/plugins/texteditor/codeassist/codeassistant.cpp +++ b/src/plugins/texteditor/codeassist/codeassistant.cpp @@ -34,10 +34,7 @@ namespace TextEditor { class CodeAssistantPrivate : public QObject { public: - CodeAssistantPrivate(CodeAssistant *assistant); - - void configure(TextEditorWidget *editorWidget); - bool isConfigured() const; + CodeAssistantPrivate(CodeAssistant *assistant, TextEditorWidget *editorWidget); void invoke(AssistKind kind, IAssistProvider *provider = nullptr); void process(); @@ -99,8 +96,9 @@ private: // -------------------- const QChar CodeAssistantPrivate::m_null; -CodeAssistantPrivate::CodeAssistantPrivate(CodeAssistant *assistant) +CodeAssistantPrivate::CodeAssistantPrivate(CodeAssistant *assistant, TextEditorWidget *editorWidget) : q(assistant) + , m_editorWidget(editorWidget) { m_automaticProposalTimer.setSingleShot(true); connect(&m_automaticProposalTimer, &QTimer::timeout, @@ -112,24 +110,11 @@ CodeAssistantPrivate::CodeAssistantPrivate(CodeAssistant *assistant) connect(Core::EditorManager::instance(), &Core::EditorManager::currentEditorChanged, this, &CodeAssistantPrivate::clearAbortedPosition); -} - -void CodeAssistantPrivate::configure(TextEditorWidget *editorWidget) -{ - m_editorWidget = editorWidget; m_editorWidget->installEventFilter(this); } -bool CodeAssistantPrivate::isConfigured() const -{ - return m_editorWidget != nullptr; -} - void CodeAssistantPrivate::invoke(AssistKind kind, IAssistProvider *provider) { - if (!isConfigured()) - return; - stopAutomaticProposalTimer(); if (isDisplayingProposal() && m_assistKind == kind && !m_proposal->isFragile() @@ -159,9 +144,6 @@ bool CodeAssistantPrivate::requestActivationCharProposal() void CodeAssistantPrivate::process() { - if (!isConfigured()) - return; - stopAutomaticProposalTimer(); if (m_assistKind == TextEditor::Completion) { @@ -552,7 +534,8 @@ bool CodeAssistantPrivate::eventFilter(QObject *o, QEvent *e) // ------------- // CodeAssistant // ------------- -CodeAssistant::CodeAssistant() : d(new CodeAssistantPrivate(this)) +CodeAssistant::CodeAssistant(TextEditorWidget *editorWidget) + : d(new CodeAssistantPrivate(this, editorWidget)) { } @@ -562,11 +545,6 @@ CodeAssistant::~CodeAssistant() delete d; } -void CodeAssistant::configure(TextEditorWidget *editorWidget) -{ - d->configure(editorWidget); -} - void CodeAssistant::process() { d->process(); diff --git a/src/plugins/texteditor/codeassist/codeassistant.h b/src/plugins/texteditor/codeassist/codeassistant.h index 0518777557..2faeb21be7 100644 --- a/src/plugins/texteditor/codeassist/codeassistant.h +++ b/src/plugins/texteditor/codeassist/codeassistant.h @@ -20,11 +20,9 @@ class CodeAssistant : public QObject Q_OBJECT public: - CodeAssistant(); + CodeAssistant(TextEditorWidget *editorWidget); ~CodeAssistant() override; - void configure(TextEditorWidget *editorWidget); - void process(); void notifyChange(); bool hasContext() const; |