Don't remove snippets.

This commit is contained in:
Roberto Raggi
2010-01-21 12:15:18 +01:00
parent 320ae1bfbc
commit 24876bfa73
2 changed files with 27 additions and 0 deletions

View File

@@ -399,3 +399,28 @@ void QmlCodeCompletion::updateSnippets()
qWarning() << qmlsnippets << xml.errorString(); qWarning() << qmlsnippets << xml.errorString();
file.close(); file.close();
} }
QList<TextEditor::CompletionItem> QmlCodeCompletion::getCompletions()
{
QList<TextEditor::CompletionItem> completionItems;
completions(&completionItems);
qStableSort(completionItems.begin(), completionItems.end(), completionItemLessThan);
// Remove duplicates
QString lastKey;
QList<TextEditor::CompletionItem> uniquelist;
foreach (const TextEditor::CompletionItem &item, completionItems) {
if (item.text != lastKey) {
uniquelist.append(item);
lastKey = item.text;
} else {
if (item.data.canConvert<QString>())
uniquelist.append(item);
}
}
return uniquelist;
}

View File

@@ -61,6 +61,8 @@ public:
virtual void completions(QList<TextEditor::CompletionItem> *completions); virtual void completions(QList<TextEditor::CompletionItem> *completions);
virtual void complete(const TextEditor::CompletionItem &item); virtual void complete(const TextEditor::CompletionItem &item);
virtual bool partiallyComplete(const QList<TextEditor::CompletionItem> &completionItems); virtual bool partiallyComplete(const QList<TextEditor::CompletionItem> &completionItems);
virtual QList<TextEditor::CompletionItem> getCompletions();
virtual void cleanup(); virtual void cleanup();
private: private: