summaryrefslogtreecommitdiff
path: root/src/plugins/cpptools/cppcodecompletion.cpp
diff options
context:
space:
mode:
authorRoberto Raggi <roberto.raggi@nokia.com>2010-05-26 14:25:01 +0200
committerRoberto Raggi <roberto.raggi@nokia.com>2010-05-26 14:25:45 +0200
commitdb7333e6bbbac53a144893965d1444a2e022f3b0 (patch)
tree841fd8f7335848d72f1839e0f63bc743127cfcdc /src/plugins/cpptools/cppcodecompletion.cpp
parentdfadb0d076816cc107799d2cae0f31e8b738d13e (diff)
downloadqt-creator-db7333e6bbbac53a144893965d1444a2e022f3b0.tar.gz
Sort the completion items as soon as we have them.
Diffstat (limited to 'src/plugins/cpptools/cppcodecompletion.cpp')
-rw-r--r--src/plugins/cpptools/cppcodecompletion.cpp16
1 files changed, 8 insertions, 8 deletions
diff --git a/src/plugins/cpptools/cppcodecompletion.cpp b/src/plugins/cpptools/cppcodecompletion.cpp
index f89d5df105..88ca3b7558 100644
--- a/src/plugins/cpptools/cppcodecompletion.cpp
+++ b/src/plugins/cpptools/cppcodecompletion.cpp
@@ -445,7 +445,6 @@ CppCodeCompletion::CppCodeCompletion(CppModelManager *manager)
m_completionOperator(T_EOF_SYMBOL),
m_objcEnabled(true)
{
- m_sorted = false;
}
QIcon CppCodeCompletion::iconForSymbol(Symbol *symbol) const
@@ -655,7 +654,14 @@ bool CppCodeCompletion::triggersCompletion(TextEditor::ITextEditable *editor)
int CppCodeCompletion::startCompletion(TextEditor::ITextEditable *editor)
{
- m_sorted = false;
+ int index = startCompletionHelper(editor);
+ if (index != -1)
+ qStableSort(m_completions.begin(), m_completions.end(), completionItemLessThan);
+ return index;
+}
+
+int CppCodeCompletion::startCompletionHelper(TextEditor::ITextEditable *editor)
+{
TextEditor::BaseTextEditor *edit = qobject_cast<TextEditor::BaseTextEditor *>(editor->widget());
if (! edit)
return -1;
@@ -1592,11 +1598,6 @@ QList<TextEditor::CompletionItem> CppCodeCompletion::getCompletions()
completions(&completionItems);
- if (! m_sorted) {
- qStableSort(completionItems.begin(), completionItems.end(), completionItemLessThan);
- m_sorted = true;
- }
-
// Remove duplicates
QString lastKey;
QList<TextEditor::CompletionItem> uniquelist;
@@ -1741,7 +1742,6 @@ bool CppCodeCompletion::partiallyComplete(const QList<TextEditor::CompletionItem
void CppCodeCompletion::cleanup()
{
- m_sorted = false;
m_completions.clear();
// Set empty map in order to avoid referencing old versions of the documents