From 9e89f36cd93633c02f7767a589921bc7c4da8e23 Mon Sep 17 00:00:00 2001 From: Roberto Raggi <roberto.raggi@nokia.com> Date: Wed, 26 May 2010 12:46:41 +0200 Subject: [PATCH] There's no need to sort after filtering the completion. --- src/plugins/cpptools/cppcodecompletion.cpp | 8 +++++++- src/plugins/cpptools/cppcodecompletion.h | 1 + 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/src/plugins/cpptools/cppcodecompletion.cpp b/src/plugins/cpptools/cppcodecompletion.cpp index 09166ef0528..f89d5df1057 100644 --- a/src/plugins/cpptools/cppcodecompletion.cpp +++ b/src/plugins/cpptools/cppcodecompletion.cpp @@ -445,6 +445,7 @@ CppCodeCompletion::CppCodeCompletion(CppModelManager *manager) m_completionOperator(T_EOF_SYMBOL), m_objcEnabled(true) { + m_sorted = false; } QIcon CppCodeCompletion::iconForSymbol(Symbol *symbol) const @@ -654,6 +655,7 @@ bool CppCodeCompletion::triggersCompletion(TextEditor::ITextEditable *editor) int CppCodeCompletion::startCompletion(TextEditor::ITextEditable *editor) { + m_sorted = false; TextEditor::BaseTextEditor *edit = qobject_cast<TextEditor::BaseTextEditor *>(editor->widget()); if (! edit) return -1; @@ -1590,7 +1592,10 @@ QList<TextEditor::CompletionItem> CppCodeCompletion::getCompletions() completions(&completionItems); - qStableSort(completionItems.begin(), completionItems.end(), completionItemLessThan); + if (! m_sorted) { + qStableSort(completionItems.begin(), completionItems.end(), completionItemLessThan); + m_sorted = true; + } // Remove duplicates QString lastKey; @@ -1736,6 +1741,7 @@ 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 diff --git a/src/plugins/cpptools/cppcodecompletion.h b/src/plugins/cpptools/cppcodecompletion.h index 39d23adf68b..432f1f298ab 100644 --- a/src/plugins/cpptools/cppcodecompletion.h +++ b/src/plugins/cpptools/cppcodecompletion.h @@ -147,6 +147,7 @@ private: QPointer<FunctionArgumentWidget> m_functionArgumentWidget; QList<TextEditor::CompletionItem> m_completions; + bool m_sorted; }; } // namespace Internal -- GitLab