From 920967d90108608e2721d3197ad684a7cd8450fa Mon Sep 17 00:00:00 2001 From: Leandro Melo Date: Wed, 3 Nov 2010 10:05:37 +0100 Subject: [PATCH] Snippets: Make text snippets available to all groups. And mark the completion item as a snippet. --- .../texteditor/snippets/snippetprovider.cpp | 42 ++++++++++++++-------- 1 file changed, 28 insertions(+), 14 deletions(-) diff --git a/src/plugins/texteditor/snippets/snippetprovider.cpp b/src/plugins/texteditor/snippets/snippetprovider.cpp index 26361d1989..37c94380d0 100644 --- a/src/plugins/texteditor/snippets/snippetprovider.cpp +++ b/src/plugins/texteditor/snippets/snippetprovider.cpp @@ -34,29 +34,43 @@ using namespace TextEditor; using namespace Internal; -SnippetProvider::SnippetProvider(Snippet::Group group, const QIcon &icon, int order) : - m_group(group), m_icon(icon), m_order(order) -{} - -SnippetProvider::~SnippetProvider() -{} +namespace { -QList SnippetProvider::getSnippets(ICompletionCollector *collector) const +void appendSnippets(ICompletionCollector *collector, + QList *completionItems, + Snippet::Group group, + const QIcon &icon, + int order) { - QList completionItems; QSharedPointer collection = SnippetsManager::instance()->snippetsCollection(); - const int size = collection->totalActiveSnippets(m_group); + const int size = collection->totalActiveSnippets(group); for (int i = 0; i < size; ++i) { - const Snippet &snippet = collection->snippet(i, m_group); + const Snippet &snippet = collection->snippet(i, group); CompletionItem item(collector); item.text = snippet.trigger() + QLatin1Char(' ') + snippet.complement(); item.data = snippet.content(); item.details = snippet.generateTip(); - item.icon = m_icon; - item.order = m_order; - - completionItems.append(item); + item.icon = icon; + item.order = order; + item.isSnippet = true; + completionItems->append(item); } +} + +} // anonymous + +SnippetProvider::SnippetProvider(Snippet::Group group, const QIcon &icon, int order) : + m_group(group), m_icon(icon), m_order(order) +{} + +SnippetProvider::~SnippetProvider() +{} + +QList SnippetProvider::getSnippets(ICompletionCollector *collector) const +{ + QList completionItems; + appendSnippets(collector, &completionItems, m_group, m_icon, m_order); + appendSnippets(collector, &completionItems, Snippet::PlainText, m_icon, m_order); return completionItems; } -- 2.11.0