diff options
author | hjk <qtc-committer@nokia.com> | 2011-02-21 14:02:00 +0100 |
---|---|---|
committer | hjk <qtc-committer@nokia.com> | 2011-02-21 14:04:43 +0100 |
commit | 9a6c4a42f7455467d8905853e4dc3fd98923d507 (patch) | |
tree | 139490dea4c11921709a58028e63858d18f16832 /src/plugins/cppeditor | |
parent | 43c980e6a34ccf0e23812c1a4f79e5c8a48756f6 (diff) | |
download | qt-creator-9a6c4a42f7455467d8905853e4dc3fd98923d507.tar.gz |
completion: enable multiple completors for different use cases.
Introduce CompletionPolicy enum, use 'TextCompletion' for the new plain
text completion, and 'SemanticCompletion' or 'QuickFixCompletion' for
the existing cases.
Reviewed-by: Erik Verbruggen
Diffstat (limited to 'src/plugins/cppeditor')
-rw-r--r-- | src/plugins/cppeditor/cppplugin.cpp | 15 | ||||
-rw-r--r-- | src/plugins/cppeditor/cppquickfixcollector.cpp | 2 | ||||
-rw-r--r-- | src/plugins/cppeditor/cppquickfixcollector.h | 2 |
3 files changed, 9 insertions, 10 deletions
diff --git a/src/plugins/cppeditor/cppplugin.cpp b/src/plugins/cppeditor/cppplugin.cpp index 728ad24734..c10878bb37 100644 --- a/src/plugins/cppeditor/cppplugin.cpp +++ b/src/plugins/cppeditor/cppplugin.cpp @@ -178,13 +178,11 @@ void CppPlugin::initializeEditor(CPPEditor *editor) TextEditor::TextEditorSettings::instance()->initializeEditor(editor); - // auto completion - connect(editor, SIGNAL(requestAutoCompletion(TextEditor::ITextEditable*, bool)), - TextEditor::CompletionSupport::instance(), SLOT(autoComplete(TextEditor::ITextEditable*, bool))); - - // quick fix - connect(editor, SIGNAL(requestQuickFix(TextEditor::ITextEditable*)), - this, SLOT(quickFix(TextEditor::ITextEditable*))); + // semantic auto completion and quick fix + connect(editor, + SIGNAL(requestCompletion(TextEditor::ITextEditable*,TextEditor::CompletionPolicy,bool)), + TextEditor::CompletionSupport::instance(), + SLOT(complete(TextEditor::ITextEditable*,TextEditor::CompletionPolicy,bool))); // method combo box sorting connect(this, SIGNAL(outlineSortingChanged(bool)), @@ -408,7 +406,8 @@ void CppPlugin::quickFixNow() if (editor->isOutdated()) m_quickFixTimer->start(QUICKFIX_INTERVAL); else - TextEditor::CompletionSupport::instance()->quickFix(m_currentTextEditable); + TextEditor::CompletionSupport::instance()-> + complete(m_currentTextEditable, TextEditor::QuickFixCompletion, true); } } } diff --git a/src/plugins/cppeditor/cppquickfixcollector.cpp b/src/plugins/cppeditor/cppquickfixcollector.cpp index 19165df423..7c28157c79 100644 --- a/src/plugins/cppeditor/cppquickfixcollector.cpp +++ b/src/plugins/cppeditor/cppquickfixcollector.cpp @@ -54,7 +54,7 @@ CppQuickFixCollector::~CppQuickFixCollector() { } -bool CppQuickFixCollector::supportsEditor(TextEditor::ITextEditable *editor) +bool CppQuickFixCollector::supportsEditor(TextEditor::ITextEditable *editor) const { return CPlusPlus::CppModelManagerInterface::instance()->isCppEditor(editor); } diff --git a/src/plugins/cppeditor/cppquickfixcollector.h b/src/plugins/cppeditor/cppquickfixcollector.h index 9009fd0813..9f1160a1f8 100644 --- a/src/plugins/cppeditor/cppquickfixcollector.h +++ b/src/plugins/cppeditor/cppquickfixcollector.h @@ -54,7 +54,7 @@ public: CppQuickFixCollector(); virtual ~CppQuickFixCollector(); - virtual bool supportsEditor(TextEditor::ITextEditable *editor); + virtual bool supportsEditor(TextEditor::ITextEditable *editor) const; virtual TextEditor::QuickFixState *initializeCompletion(TextEditor::BaseTextEditor *editor); virtual QList<TextEditor::QuickFixFactory *> quickFixFactories() const; |