aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins/texteditor/codeassist
diff options
context:
space:
mode:
authorDavid Schulz <david.schulz@qt.io>2022-11-10 14:38:34 +0100
committerDavid Schulz <david.schulz@qt.io>2022-11-16 05:24:06 +0000
commitf297b3f1b54ac2c4326ca1f55bdd0705c626ec35 (patch)
tree6cd83218b2973d7f6992bdbce355018aade858af /src/plugins/texteditor/codeassist
parentbe3a781581344d25bfd9381e1c02f9fc5409e4c5 (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.cpp32
-rw-r--r--src/plugins/texteditor/codeassist/codeassistant.h4
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;