summaryrefslogtreecommitdiff
path: root/src/plugins/cppeditor
diff options
context:
space:
mode:
authorhjk <qtc-committer@nokia.com>2011-02-21 14:02:00 +0100
committerhjk <qtc-committer@nokia.com>2011-02-21 14:04:43 +0100
commit9a6c4a42f7455467d8905853e4dc3fd98923d507 (patch)
tree139490dea4c11921709a58028e63858d18f16832 /src/plugins/cppeditor
parent43c980e6a34ccf0e23812c1a4f79e5c8a48756f6 (diff)
downloadqt-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.cpp15
-rw-r--r--src/plugins/cppeditor/cppquickfixcollector.cpp2
-rw-r--r--src/plugins/cppeditor/cppquickfixcollector.h2
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;