cplusplus: Make functions of Icons static

This avoids multiple instatiations and reloading of the same image files.

Change-Id: I4d0bb955e23c1cb817671c25bff4e74fb7b3d0f4
Reviewed-by: David Schulz <david.schulz@theqtcompany.com>
This commit is contained in:
Alessandro Portale
2016-04-06 10:08:01 +02:00
parent 44aaec767f
commit 984a6eca73
13 changed files with 140 additions and 168 deletions

View File

@@ -1010,7 +1010,7 @@ int InternalCppCompletionAssistProcessor::startCompletionHelper()
if (m_model->m_completionOperator == T_DOXY_COMMENT) {
for (int i = 1; i < T_DOXY_LAST_TAG; ++i)
addCompletionItem(QString::fromLatin1(doxygenTagSpell(i)), m_icons.keywordIcon());
addCompletionItem(QString::fromLatin1(doxygenTagSpell(i)), Icons::keywordIcon());
return m_positionForProposal;
}
@@ -1193,7 +1193,7 @@ void InternalCppCompletionAssistProcessor::addCompletionItem(Symbol *symbol, int
ConvertToCompletionItem toCompletionItem;
AssistProposalItem *item = toCompletionItem(symbol);
if (item) {
item->setIcon(m_icons.iconForSymbol(symbol));
item->setIcon(Icons::iconForSymbol(symbol));
item->setOrder(order);
m_completions.append(item);
}
@@ -1300,7 +1300,7 @@ void InternalCppCompletionAssistProcessor::completeInclude(const QString &realPa
QString text = fileName.mid(realPath.length() + 1);
if (fileInfo.isDir())
text += QLatin1Char('/');
addCompletionItem(text, m_icons.keywordIcon());
addCompletionItem(text, Icons::keywordIcon());
}
}
}
@@ -1814,7 +1814,7 @@ bool InternalCppCompletionAssistProcessor::completeQtMethod(const QList<LookupIt
break;
signatures.insert(completionText);
ci->setText(completionText); // fix the completion item.
ci->setIcon(m_icons.iconForSymbol(fun));
ci->setIcon(Icons::iconForSymbol(fun));
if (wantQt5SignalOrSlot && fun->isSlot())
ci->setOrder(1);
m_completions.append(ci);
@@ -1841,7 +1841,7 @@ bool InternalCppCompletionAssistProcessor::completeQtMethodClassName(
return false;
const LookupContext &context = m_model->m_typeOfExpression->context();
const QIcon classIcon = m_icons.iconForType(Icons::ClassIconType);
const QIcon classIcon = Icons::iconForType(Icons::ClassIconType);
Overview overview;
foreach (const LookupItem &lookupItem, results) {
@@ -1866,16 +1866,16 @@ void InternalCppCompletionAssistProcessor::addKeywords()
// keyword completion items.
for (int i = T_FIRST_KEYWORD; i < keywordLimit; ++i)
addCompletionItem(QLatin1String(Token::name(i)), m_icons.keywordIcon(), KeywordsOrder);
addCompletionItem(QLatin1String(Token::name(i)), Icons::keywordIcon(), KeywordsOrder);
// primitive type completion items.
for (int i = T_FIRST_PRIMITIVE; i <= T_LAST_PRIMITIVE; ++i)
addCompletionItem(QLatin1String(Token::name(i)), m_icons.keywordIcon(), KeywordsOrder);
addCompletionItem(QLatin1String(Token::name(i)), Icons::keywordIcon(), KeywordsOrder);
// "Identifiers with special meaning"
if (m_interface->languageFeatures().cxx11Enabled) {
addCompletionItem(QLatin1String("override"), m_icons.keywordIcon(), KeywordsOrder);
addCompletionItem(QLatin1String("final"), m_icons.keywordIcon(), KeywordsOrder);
addCompletionItem(QLatin1String("override"), Icons::keywordIcon(), KeywordsOrder);
addCompletionItem(QLatin1String("final"), Icons::keywordIcon(), KeywordsOrder);
}
}
@@ -1888,7 +1888,7 @@ void InternalCppCompletionAssistProcessor::addMacros(const QString &fileName,
addMacros_helper(snapshot, fileName, &processed, &definedMacros);
foreach (const QString &macroName, definedMacros)
addCompletionItem(macroName, m_icons.macroIcon(), MacrosOrder);
addCompletionItem(macroName, Icons::macroIcon(), MacrosOrder);
}
void InternalCppCompletionAssistProcessor::addMacros_helper(const Snapshot &snapshot,

View File

@@ -31,8 +31,6 @@
#include <texteditor/codeassist/iassistprocessor.h>
#include <texteditor/snippets/snippetassistcollector.h>
#include <cplusplus/Icons.h>
#include <functional>
QT_BEGIN_NAMESPACE
@@ -67,7 +65,6 @@ protected:
QList<TextEditor::AssistProposalItemInterface *> m_completions;
QStringList m_preprocessorCompletions;
TextEditor::IAssistProposal *m_hintProposal;
CPlusPlus::Icons m_icons;
private:
TextEditor::SnippetAssistCollector m_snippetCollector;

View File

@@ -25,6 +25,7 @@
#include "searchsymbols.h"
#include <cplusplus/Icons.h>
#include <cplusplus/LookupContext.h>
#include <utils/qtcassert.h>
#include <utils/scopedswap.h>
@@ -292,7 +293,7 @@ IndexItem::Ptr SearchSymbols::addChildItem(const QString &symbolName, const QStr
m_paths.insert(symbol->fileId(), path);
}
const QIcon icon = icons.iconForSymbol(symbol);
const QIcon icon = Icons::iconForSymbol(symbol);
IndexItem::Ptr newItem = IndexItem::create(findOrInsert(symbolName),
findOrInsert(symbolType),
findOrInsert(symbolScope),

View File

@@ -32,7 +32,6 @@
#include "stringtable.h"
#include <cplusplus/CppDocument.h>
#include <cplusplus/Icons.h>
#include <cplusplus/Overview.h>
#include <QString>
@@ -108,7 +107,6 @@ private:
IndexItem::Ptr _parent;
QString _scope;
CPlusPlus::Overview overview;
CPlusPlus::Icons icons;
SymbolTypes symbolsToSearchFor;
QHash<const CPlusPlus::StringLiteral *, QString> m_paths;
};