summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorErik Verbruggen <erik.verbruggen@digia.com>2013-08-30 12:55:06 +0200
committerErik Verbruggen <erik.verbruggen@digia.com>2013-09-09 10:15:55 +0200
commit7516ef49694187a1344b5f24fe6d22eea02220a2 (patch)
treee7d046f48d1ca44ebee9626f35bd7d885e43ae44 /src
parent33fd157b341215804f36105c91706ae07b5b26e1 (diff)
downloadqt-creator-7516ef49694187a1344b5f24fe6d22eea02220a2.tar.gz
TextEditor: get CompletionAssistProvider from editor.
And not from the global object pool. This way, the editors that have different highlighters for various language dialects, or editors that support multiple languages in a single editor, can decide themselves on what CompletionAssistProvider to provide. Change-Id: Ieebc4a8e7b3de6470fdb8103035aa3b8b2ba6598 Reviewed-by: Nikolai Kosjar <nikolai.kosjar@digia.com>
Diffstat (limited to 'src')
-rw-r--r--src/plugins/cmakeprojectmanager/cmakeeditor.cpp7
-rw-r--r--src/plugins/cmakeprojectmanager/cmakeeditor.h2
-rw-r--r--src/plugins/cmakeprojectmanager/cmakefilecompletionassist.h2
-rw-r--r--src/plugins/cppeditor/cppeditor.cpp6
-rw-r--r--src/plugins/cppeditor/cppeditor.h2
-rw-r--r--src/plugins/cpptools/cppmodelmanager.cpp7
-rw-r--r--src/plugins/cpptools/cppmodelmanager.h1
-rw-r--r--src/plugins/cpptools/cppmodelmanagerinterface.h1
-rw-r--r--src/plugins/cpptools/cpptoolseditorsupport.cpp6
-rw-r--r--src/plugins/cpptools/cpptoolseditorsupport.h7
-rw-r--r--src/plugins/glsleditor/glslcompletionassist.h2
-rw-r--r--src/plugins/glsleditor/glsleditor.cpp5
-rw-r--r--src/plugins/glsleditor/glsleditoreditable.h1
-rw-r--r--src/plugins/qmljseditor/qmljscompletionassist.h2
-rw-r--r--src/plugins/qmljseditor/qmljseditoreditable.cpp8
-rw-r--r--src/plugins/qmljseditor/qmljseditoreditable.h2
-rw-r--r--src/plugins/qt4projectmanager/profileeditor.cpp8
-rw-r--r--src/plugins/qt4projectmanager/profileeditor.h1
-rw-r--r--src/plugins/texteditor/basetexteditor.cpp7
-rw-r--r--src/plugins/texteditor/basetexteditor.h3
-rw-r--r--src/plugins/texteditor/codeassist/codeassistant.cpp59
-rw-r--r--src/plugins/texteditor/codeassist/codeassistant.h3
22 files changed, 116 insertions, 26 deletions
diff --git a/src/plugins/cmakeprojectmanager/cmakeeditor.cpp b/src/plugins/cmakeprojectmanager/cmakeeditor.cpp
index 5b2a527339..bc11f9bc59 100644
--- a/src/plugins/cmakeprojectmanager/cmakeeditor.cpp
+++ b/src/plugins/cmakeprojectmanager/cmakeeditor.cpp
@@ -29,6 +29,7 @@
#include "cmakeeditor.h"
+#include "cmakefilecompletionassist.h"
#include "cmakehighlighter.h"
#include "cmakeeditorfactory.h"
#include "cmakeprojectconstants.h"
@@ -38,6 +39,7 @@
#include <coreplugin/infobar.h>
#include <coreplugin/actionmanager/actioncontainer.h>
#include <coreplugin/actionmanager/actionmanager.h>
+#include <extensionsystem/pluginmanager.h>
#include <projectexplorer/projectexplorer.h>
#include <projectexplorer/session.h>
#include <texteditor/texteditoractionhandler.h>
@@ -77,6 +79,11 @@ Core::Id CMakeEditor::id() const
return Core::Id(CMakeProjectManager::Constants::CMAKE_EDITOR_ID);
}
+TextEditor::CompletionAssistProvider *CMakeEditor::completionAssistProvider()
+{
+ return ExtensionSystem::PluginManager::getObject<CMakeFileCompletionAssistProvider>();
+}
+
void CMakeEditor::markAsChanged()
{
if (!document()->isModified())
diff --git a/src/plugins/cmakeprojectmanager/cmakeeditor.h b/src/plugins/cmakeprojectmanager/cmakeeditor.h
index 9d9f542b4b..c35eebb26d 100644
--- a/src/plugins/cmakeprojectmanager/cmakeeditor.h
+++ b/src/plugins/cmakeprojectmanager/cmakeeditor.h
@@ -34,6 +34,7 @@
#include <texteditor/basetextdocument.h>
#include <texteditor/basetexteditor.h>
+#include <texteditor/codeassist/completionassistprovider.h>
#include <utils/uncommentselection.h>
@@ -58,6 +59,7 @@ public:
bool duplicateSupported() const { return true; }
Core::IEditor *duplicate(QWidget *parent);
Core::Id id() const;
+ TextEditor::CompletionAssistProvider *completionAssistProvider();
private slots:
void markAsChanged();
diff --git a/src/plugins/cmakeprojectmanager/cmakefilecompletionassist.h b/src/plugins/cmakeprojectmanager/cmakefilecompletionassist.h
index 3f261d594a..5d0c3d76a1 100644
--- a/src/plugins/cmakeprojectmanager/cmakefilecompletionassist.h
+++ b/src/plugins/cmakeprojectmanager/cmakefilecompletionassist.h
@@ -39,6 +39,8 @@ class CMakeSettingsPage;
class CMakeFileCompletionAssistProvider : public TextEditor::CompletionAssistProvider
{
+ Q_OBJECT
+
public:
CMakeFileCompletionAssistProvider(CMakeSettingsPage *settingsPage);
~CMakeFileCompletionAssistProvider();
diff --git a/src/plugins/cppeditor/cppeditor.cpp b/src/plugins/cppeditor/cppeditor.cpp
index 6ea76ada1c..39e4d7575b 100644
--- a/src/plugins/cppeditor/cppeditor.cpp
+++ b/src/plugins/cppeditor/cppeditor.cpp
@@ -44,6 +44,7 @@
#include <cpptools/cppchecksymbols.h>
#include <cpptools/cppcodeformatter.h>
#include <cpptools/cppcompletionsupport.h>
+#include <cpptools/cppcompletionassistprovider.h>
#include <cpptools/cpphighlightingsupport.h>
#include <cpptools/cpplocalsymbols.h>
#include <cpptools/cppqtstyleindenter.h>
@@ -1879,6 +1880,11 @@ const Utils::CommentDefinition *CPPEditor::commentDefinition() const
return &m_commentDefinition;
}
+TextEditor::CompletionAssistProvider *CPPEditor::completionAssistProvider()
+{
+ return CppModelManagerInterface::instance()->cppEditorSupport(this)->completionAssistProvider();
+}
+
void CPPEditorWidget::setFontSettings(const TextEditor::FontSettings &fs)
{
TextEditor::BaseTextEditorWidget::setFontSettings(fs);
diff --git a/src/plugins/cppeditor/cppeditor.h b/src/plugins/cppeditor/cppeditor.h
index 22d43c4da9..5bc92c9196 100644
--- a/src/plugins/cppeditor/cppeditor.h
+++ b/src/plugins/cppeditor/cppeditor.h
@@ -82,6 +82,8 @@ public:
bool open(QString *errorString, const QString &fileName, const QString &realFileName);
const Utils::CommentDefinition *commentDefinition() const;
+ TextEditor::CompletionAssistProvider *completionAssistProvider();
+
private:
Utils::CommentDefinition m_commentDefinition;
};
diff --git a/src/plugins/cpptools/cppmodelmanager.cpp b/src/plugins/cpptools/cppmodelmanager.cpp
index ffaf06383d..cb2f887074 100644
--- a/src/plugins/cpptools/cppmodelmanager.cpp
+++ b/src/plugins/cpptools/cppmodelmanager.cpp
@@ -907,6 +907,13 @@ CppCompletionSupport *CppModelManager::completionSupport(Core::IEditor *editor)
return 0;
}
+CppCompletionAssistProvider *CppModelManager::completionAssistProvider(Core::IEditor *editor) const
+{
+ Q_UNUSED(editor);
+
+ return m_completionAssistProvider;
+}
+
void CppModelManager::setCppCompletionAssistProvider(CppCompletionAssistProvider *completionAssistProvider)
{
ExtensionSystem::PluginManager::removeObject(m_completionAssistProvider);
diff --git a/src/plugins/cpptools/cppmodelmanager.h b/src/plugins/cpptools/cppmodelmanager.h
index 2351576953..5778d0f9ce 100644
--- a/src/plugins/cpptools/cppmodelmanager.h
+++ b/src/plugins/cpptools/cppmodelmanager.h
@@ -105,6 +105,7 @@ public:
void finishedRefreshingSourceFiles(const QStringList &files);
virtual CppCompletionSupport *completionSupport(Core::IEditor *editor) const;
+ virtual CppCompletionAssistProvider *completionAssistProvider(Core::IEditor *editor) const;
virtual void setCppCompletionAssistProvider(CppCompletionAssistProvider *completionAssistProvider);
virtual CppHighlightingSupport *highlightingSupport(Core::IEditor *editor) const;
diff --git a/src/plugins/cpptools/cppmodelmanagerinterface.h b/src/plugins/cpptools/cppmodelmanagerinterface.h
index 0d89fef91f..7dafdef8f0 100644
--- a/src/plugins/cpptools/cppmodelmanagerinterface.h
+++ b/src/plugins/cpptools/cppmodelmanagerinterface.h
@@ -242,6 +242,7 @@ public:
const QList<TextEditor::BlockRange> &ifdeffedOutBlocks) = 0;
virtual CppTools::CppCompletionSupport *completionSupport(Core::IEditor *editor) const = 0;
+ virtual CppCompletionAssistProvider *completionAssistProvider(Core::IEditor *editor) const = 0;
virtual void setCppCompletionAssistProvider(CppTools::CppCompletionAssistProvider *completionAssistProvider) = 0;
virtual CppTools::CppHighlightingSupport *highlightingSupport(Core::IEditor *editor) const = 0;
diff --git a/src/plugins/cpptools/cpptoolseditorsupport.cpp b/src/plugins/cpptools/cpptoolseditorsupport.cpp
index 6bb8bfbc04..cc1a0e74c8 100644
--- a/src/plugins/cpptools/cpptoolseditorsupport.cpp
+++ b/src/plugins/cpptools/cpptoolseditorsupport.cpp
@@ -27,6 +27,7 @@
**
****************************************************************************/
+#include "cppcompletionassistprovider.h"
#include "cpptoolseditorsupport.h"
#include "cppmodelmanager.h"
#include "cpplocalsymbols.h"
@@ -229,6 +230,11 @@ void CppEditorSupport::recalculateSemanticInfoDetached(bool force)
startHighlighting();
}
+CppCompletionAssistProvider *CppEditorSupport::completionAssistProvider() const
+{
+ return m_completionAssistProvider.data();
+}
+
void CppEditorSupport::updateDocument()
{
m_revision = editorRevision();
diff --git a/src/plugins/cpptools/cpptoolseditorsupport.h b/src/plugins/cpptools/cpptoolseditorsupport.h
index b8f066174a..8a9f50b1c6 100644
--- a/src/plugins/cpptools/cpptoolseditorsupport.h
+++ b/src/plugins/cpptools/cpptoolseditorsupport.h
@@ -50,6 +50,8 @@ class ITextMark;
namespace CppTools {
+class CppCompletionAssistProvider;
+
/**
* \brief The CppEditorSupport class oversees the actions that happen when a C++ text editor updates
* its document.
@@ -115,6 +117,8 @@ public:
/// \param force do not check if the old semantic info is still valid
void recalculateSemanticInfoDetached(bool force = false);
+ CppCompletionAssistProvider *completionAssistProvider() const;
+
signals:
void documentUpdated();
void diagnosticsChanged();
@@ -189,6 +193,9 @@ private:
unsigned m_lastHighlightRevision;
QFuture<TextEditor::HighlightingResult> m_highlighter;
QScopedPointer<CppTools::CppHighlightingSupport> m_highlightingSupport;
+
+ // Completion:
+ QScopedPointer<CppCompletionAssistProvider> m_completionAssistProvider;
};
} // namespace CppTools
diff --git a/src/plugins/glsleditor/glslcompletionassist.h b/src/plugins/glsleditor/glslcompletionassist.h
index 81d5c0a547..bf75cfe31f 100644
--- a/src/plugins/glsleditor/glslcompletionassist.h
+++ b/src/plugins/glsleditor/glslcompletionassist.h
@@ -55,6 +55,8 @@ class GLSLCompletionAssistInterface;
class GLSLCompletionAssistProvider : public TextEditor::CompletionAssistProvider
{
+ Q_OBJECT
+
public:
virtual bool supportsEditor(const Core::Id &editorId) const;
virtual TextEditor::IAssistProcessor *createProcessor() const;
diff --git a/src/plugins/glsleditor/glsleditor.cpp b/src/plugins/glsleditor/glsleditor.cpp
index dd507e89d8..bd39628b52 100644
--- a/src/plugins/glsleditor/glsleditor.cpp
+++ b/src/plugins/glsleditor/glsleditor.cpp
@@ -207,6 +207,11 @@ bool GLSLEditorEditable::open(QString *errorString, const QString &fileName, con
return b;
}
+TextEditor::CompletionAssistProvider *GLSLEditorEditable::completionAssistProvider()
+{
+ return ExtensionSystem::PluginManager::getObject<GLSLCompletionAssistProvider>();
+}
+
QString GLSLTextEditorWidget::wordUnderCursor() const
{
QTextCursor tc = textCursor();
diff --git a/src/plugins/glsleditor/glsleditoreditable.h b/src/plugins/glsleditor/glsleditoreditable.h
index b9c891232b..d358af3d73 100644
--- a/src/plugins/glsleditor/glsleditoreditable.h
+++ b/src/plugins/glsleditor/glsleditoreditable.h
@@ -48,6 +48,7 @@ public:
Core::IEditor *duplicate(QWidget *parent);
Core::Id id() const;
bool open(QString *errorString, const QString &fileName, const QString &realFileName);
+ TextEditor::CompletionAssistProvider *completionAssistProvider();
};
} // namespace Internal
diff --git a/src/plugins/qmljseditor/qmljscompletionassist.h b/src/plugins/qmljseditor/qmljscompletionassist.h
index 828d556ba1..a8437211e3 100644
--- a/src/plugins/qmljseditor/qmljscompletionassist.h
+++ b/src/plugins/qmljseditor/qmljscompletionassist.h
@@ -77,6 +77,8 @@ public:
class QmlJSCompletionAssistProvider : public TextEditor::CompletionAssistProvider
{
+ Q_OBJECT
+
public:
virtual bool supportsEditor(const Core::Id &editorId) const;
virtual TextEditor::IAssistProcessor *createProcessor() const;
diff --git a/src/plugins/qmljseditor/qmljseditoreditable.cpp b/src/plugins/qmljseditor/qmljseditoreditable.cpp
index 4bdf978ac8..f30b3426f5 100644
--- a/src/plugins/qmljseditor/qmljseditoreditable.cpp
+++ b/src/plugins/qmljseditor/qmljseditoreditable.cpp
@@ -30,6 +30,7 @@
#include "qmljseditoreditable.h"
#include "qmljseditor.h"
#include "qmljseditorconstants.h"
+#include "qmljscompletionassist.h"
#include <qmljstools/qmljstoolsconstants.h>
#include <texteditor/texteditorconstants.h>
@@ -41,6 +42,8 @@
#include <coreplugin/modemanager.h>
#include <coreplugin/coreconstants.h>
+#include <extensionsystem/pluginmanager.h>
+
namespace QmlJSEditor {
QmlJSEditor::QmlJSEditor(QmlJSTextEditorWidget *editor)
@@ -65,4 +68,9 @@ const Utils::CommentDefinition *QmlJSEditor::commentDefinition() const
return &m_commentDefinition;
}
+TextEditor::CompletionAssistProvider *QmlJSEditor::completionAssistProvider()
+{
+ return ExtensionSystem::PluginManager::getObject<Internal::QmlJSCompletionAssistProvider>();
+}
+
} // namespace QmlJSEditor
diff --git a/src/plugins/qmljseditor/qmljseditoreditable.h b/src/plugins/qmljseditor/qmljseditoreditable.h
index 367c3a1e38..874e2cf4cf 100644
--- a/src/plugins/qmljseditor/qmljseditoreditable.h
+++ b/src/plugins/qmljseditor/qmljseditoreditable.h
@@ -51,6 +51,8 @@ public:
bool isDesignModePreferred() const;
const Utils::CommentDefinition *commentDefinition() const;
+
+ TextEditor::CompletionAssistProvider *completionAssistProvider();
private:
Utils::CommentDefinition m_commentDefinition;
};
diff --git a/src/plugins/qt4projectmanager/profileeditor.cpp b/src/plugins/qt4projectmanager/profileeditor.cpp
index 3ce4692ca2..6d880ad890 100644
--- a/src/plugins/qt4projectmanager/profileeditor.cpp
+++ b/src/plugins/qt4projectmanager/profileeditor.cpp
@@ -32,6 +32,9 @@
#include "profilehighlighter.h"
#include "qt4projectmanagerconstants.h"
#include "profileeditorfactory.h"
+#include "profilecompletionassist.h"
+
+#include <extensionsystem/pluginmanager.h>
#include <texteditor/fontsettings.h>
#include <texteditor/texteditoractionhandler.h>
@@ -70,6 +73,11 @@ Core::Id ProFileEditor::id() const
return Core::Id(Constants::PROFILE_EDITOR_ID);
}
+TextEditor::CompletionAssistProvider *ProFileEditor::completionAssistProvider()
+{
+ return ExtensionSystem::PluginManager::getObject<ProFileCompletionAssistProvider>();
+}
+
//
// ProFileEditorWidget
//
diff --git a/src/plugins/qt4projectmanager/profileeditor.h b/src/plugins/qt4projectmanager/profileeditor.h
index 4c86dfbf3b..e8a8fb3ad0 100644
--- a/src/plugins/qt4projectmanager/profileeditor.h
+++ b/src/plugins/qt4projectmanager/profileeditor.h
@@ -55,6 +55,7 @@ public:
bool duplicateSupported() const { return true; }
Core::IEditor *duplicate(QWidget *parent);
Core::Id id() const;
+ TextEditor::CompletionAssistProvider *completionAssistProvider();
};
class ProFileEditorWidget : public TextEditor::BaseTextEditorWidget
diff --git a/src/plugins/texteditor/basetexteditor.cpp b/src/plugins/texteditor/basetexteditor.cpp
index a21959cdd6..ffbbdecafe 100644
--- a/src/plugins/texteditor/basetexteditor.cpp
+++ b/src/plugins/texteditor/basetexteditor.cpp
@@ -500,6 +500,8 @@ BaseTextEditor *BaseTextEditorWidget::editor() const
d->m_editor, SIGNAL(contentsChanged()));
connect(this, SIGNAL(changed()),
d->m_editor->document(), SIGNAL(changed()));
+ connect(qobject_cast<BaseTextDocument *>(d->m_editor->document()),SIGNAL(mimeTypeChanged()),
+ d->m_codeAssistant.data(), SLOT(reconfigure()));
}
return d->m_editor;
}
@@ -6311,6 +6313,11 @@ const CommentDefinition *BaseTextEditor::commentDefinition() const
return 0;
}
+CompletionAssistProvider *BaseTextEditor::completionAssistProvider()
+{
+ return 0;
+}
+
void BaseTextEditor::updateCursorPosition()
{
const QTextCursor cursor = m_editorWidget->textCursor();
diff --git a/src/plugins/texteditor/basetexteditor.h b/src/plugins/texteditor/basetexteditor.h
index 5f886b9c6b..bebb89d80a 100644
--- a/src/plugins/texteditor/basetexteditor.h
+++ b/src/plugins/texteditor/basetexteditor.h
@@ -58,6 +58,7 @@ class IAssistMonitorInterface;
class IAssistInterface;
class IAssistProvider;
class ICodeStylePreferences;
+class CompletionAssistProvider;
typedef QList<RefactorMarker> RefactorMarkers;
namespace Internal {
@@ -633,6 +634,8 @@ public:
void select(int toPos);
const Utils::CommentDefinition *commentDefinition() const;
+ virtual CompletionAssistProvider *completionAssistProvider();
+
private slots:
void updateCursorPosition();
void openGotoLocator();
diff --git a/src/plugins/texteditor/codeassist/codeassistant.cpp b/src/plugins/texteditor/codeassist/codeassistant.cpp
index 5d4429ce61..76f5467ba9 100644
--- a/src/plugins/texteditor/codeassist/codeassistant.cpp
+++ b/src/plugins/texteditor/codeassist/codeassistant.cpp
@@ -79,6 +79,7 @@ public:
virtual ~CodeAssistantPrivate();
void configure(BaseTextEditor *textEditor);
+ void reconfigure();
bool isConfigured() const;
void invoke(AssistKind kind, IAssistProvider *provider = 0);
@@ -116,7 +117,7 @@ private slots:
private:
CodeAssistant *m_q;
BaseTextEditor *m_textEditor;
- QList<CompletionAssistProvider *> m_completionProviders;
+ CompletionAssistProvider *m_completionProvider;
QList<QuickFixAssistProvider *> m_quickFixProviders;
Internal::ProcessorRunner *m_requestRunner;
CompletionAssistProvider *m_requestProvider;
@@ -169,9 +170,7 @@ void CodeAssistantPrivate::configure(BaseTextEditor *textEditor)
// completion and quick-fix provider (getting rid of the list).
m_textEditor = textEditor;
- m_completionProviders =
- ExtensionSystem::PluginManager::getObjects<CompletionAssistProvider>();
- filterEditorSpecificProviders(&m_completionProviders, m_textEditor->id());
+ m_completionProvider = textEditor->completionAssistProvider();
m_quickFixProviders =
ExtensionSystem::PluginManager::getObjects<QuickFixAssistProvider>();
filterEditorSpecificProviders(&m_quickFixProviders, m_textEditor->id());
@@ -179,6 +178,12 @@ void CodeAssistantPrivate::configure(BaseTextEditor *textEditor)
m_textEditor->editorWidget()->installEventFilter(this);
}
+void CodeAssistantPrivate::reconfigure()
+{
+ if (isConfigured())
+ m_completionProvider = m_textEditor->completionAssistProvider();
+}
+
bool CodeAssistantPrivate::isConfigured() const
{
return m_textEditor != 0;
@@ -229,12 +234,10 @@ void CodeAssistantPrivate::requestProposal(AssistReason reason,
QTC_ASSERT(!isWaitingForProposal(), return);
if (!provider) {
- if (kind == Completion) {
- if (!m_completionProviders.isEmpty())
- provider = m_completionProviders.at(0);
- } else if (!m_quickFixProviders.isEmpty()) {
+ if (kind == Completion)
+ provider = m_completionProvider;
+ else if (!m_quickFixProviders.isEmpty())
provider = m_quickFixProviders.at(0);
- }
if (!provider)
return;
@@ -382,23 +385,22 @@ void CodeAssistantPrivate::invalidateCurrentRequestData()
CompletionAssistProvider *CodeAssistantPrivate::identifyActivationSequence()
{
- for (int i = 0; i < m_completionProviders.size(); ++i) {
- CompletionAssistProvider *provider = m_completionProviders.at(i);
- const int length = provider->activationCharSequenceLength();
- if (length == 0)
- continue;
- QString sequence = m_textEditor->textDocument()->textAt(m_textEditor->position() - length, length);
- // In pretty much all cases the sequence will have the appropriate length. Only in the
- // case of typing the very first characters in the document for providers that request a
- // length greater than 1 (currently only C++, which specifies 3), the sequence needs to
- // be preprended so it has the expected length.
- const int lengthDiff = length - sequence.length();
- for (int j = 0; j < lengthDiff; ++j)
- sequence.prepend(m_null);
- if (provider->isActivationCharSequence(sequence))
- return provider;
- }
- return 0;
+ if (!m_completionProvider)
+ return 0;
+
+ const int length = m_completionProvider->activationCharSequenceLength();
+ if (length == 0)
+ return 0;
+ QString sequence = m_textEditor->textDocument()->textAt(m_textEditor->position() - length,
+ length);
+ // In pretty much all cases the sequence will have the appropriate length. Only in the
+ // case of typing the very first characters in the document for providers that request a
+ // length greater than 1 (currently only C++, which specifies 3), the sequence needs to
+ // be preprended so it has the expected length.
+ const int lengthDiff = length - sequence.length();
+ for (int j = 0; j < lengthDiff; ++j)
+ sequence.prepend(m_null);
+ return m_completionProvider->isActivationCharSequence(sequence) ? m_completionProvider : 0;
}
void CodeAssistantPrivate::notifyChange()
@@ -532,4 +534,9 @@ void CodeAssistant::invoke(AssistKind kind, IAssistProvider *provider)
d->invoke(kind, provider);
}
+void CodeAssistant::reconfigure()
+{
+ d->reconfigure();
+}
+
#include "codeassistant.moc"
diff --git a/src/plugins/texteditor/codeassist/codeassistant.h b/src/plugins/texteditor/codeassist/codeassistant.h
index 5041ff9cfb..70a588c478 100644
--- a/src/plugins/texteditor/codeassist/codeassistant.h
+++ b/src/plugins/texteditor/codeassist/codeassistant.h
@@ -62,6 +62,9 @@ public:
signals:
void finished();
+public slots:
+ void reconfigure();
+
private:
CodeAssistantPrivate *d;
};