From c330411604f1c1d83cc6182d3012077043cc74d0 Mon Sep 17 00:00:00 2001
From: Christian Kamm <christian.d.kamm@nokia.com>
Date: Wed, 7 Apr 2010 10:16:31 +0200
Subject: [PATCH] QmlJSEditor: Show snippets before other completion options.

Reviewed-by: Erik Verbruggen
---
 src/plugins/qmljseditor/qmljscodecompletion.cpp | 9 +++++----
 1 file changed, 5 insertions(+), 4 deletions(-)

diff --git a/src/plugins/qmljseditor/qmljscodecompletion.cpp b/src/plugins/qmljseditor/qmljscodecompletion.cpp
index c4631c02d90..1f6c187d334 100644
--- a/src/plugins/qmljseditor/qmljscodecompletion.cpp
+++ b/src/plugins/qmljseditor/qmljscodecompletion.cpp
@@ -945,6 +945,8 @@ static bool qmlCompletionItemLessThan(const TextEditor::CompletionItem &l, const
         return true;
     else if (r.text.isEmpty())
         return false;
+    else if (l.data.isValid() != r.data.isValid())
+        return l.data.isValid();
     else if (l.text.at(0).isUpper() && r.text.at(0).isLower())
         return false;
     else if (l.text.at(0).isLower() && r.text.at(0).isUpper())
@@ -963,15 +965,14 @@ QList<TextEditor::CompletionItem> CodeCompletion::getCompletions()
 
     // Remove duplicates
     QString lastKey;
+    QVariant lastData;
     QList<TextEditor::CompletionItem> uniquelist;
 
     foreach (const TextEditor::CompletionItem &item, completionItems) {
-        if (item.text != lastKey) {
+        if (item.text != lastKey || item.data.type() != lastData.type()) {
             uniquelist.append(item);
             lastKey = item.text;
-        } else {
-            if (item.data.canConvert<QString>())
-                uniquelist.append(item);
+            lastData = item.data;
         }
     }
 
-- 
GitLab