From 24876bfa7367581b18435cb1c65f56f6dc13ce8c Mon Sep 17 00:00:00 2001 From: Roberto Raggi Date: Thu, 21 Jan 2010 12:15:18 +0100 Subject: [PATCH] Don't remove snippets. --- src/plugins/qmljseditor/qmlcodecompletion.cpp | 25 +++++++++++++++++++ src/plugins/qmljseditor/qmlcodecompletion.h | 2 ++ 2 files changed, 27 insertions(+) diff --git a/src/plugins/qmljseditor/qmlcodecompletion.cpp b/src/plugins/qmljseditor/qmlcodecompletion.cpp index 5a97ffa77bf..0d9094608f2 100644 --- a/src/plugins/qmljseditor/qmlcodecompletion.cpp +++ b/src/plugins/qmljseditor/qmlcodecompletion.cpp @@ -399,3 +399,28 @@ void QmlCodeCompletion::updateSnippets() qWarning() << qmlsnippets << xml.errorString(); file.close(); } + +QList QmlCodeCompletion::getCompletions() +{ + QList completionItems; + + completions(&completionItems); + + qStableSort(completionItems.begin(), completionItems.end(), completionItemLessThan); + + // Remove duplicates + QString lastKey; + QList uniquelist; + + foreach (const TextEditor::CompletionItem &item, completionItems) { + if (item.text != lastKey) { + uniquelist.append(item); + lastKey = item.text; + } else { + if (item.data.canConvert()) + uniquelist.append(item); + } + } + + return uniquelist; +} diff --git a/src/plugins/qmljseditor/qmlcodecompletion.h b/src/plugins/qmljseditor/qmlcodecompletion.h index 8adc066fc9f..fc0721fd29e 100644 --- a/src/plugins/qmljseditor/qmlcodecompletion.h +++ b/src/plugins/qmljseditor/qmlcodecompletion.h @@ -61,6 +61,8 @@ public: virtual void completions(QList *completions); virtual void complete(const TextEditor::CompletionItem &item); virtual bool partiallyComplete(const QList &completionItems); + virtual QList getCompletions(); + virtual void cleanup(); private: