diff options
author | Alessandro Portale <alessandro.portale@theqtcompany.com> | 2016-04-06 23:16:17 +0200 |
---|---|---|
committer | Alessandro Portale <alessandro.portale@theqtcompany.com> | 2016-04-11 13:31:25 +0000 |
commit | 0788ec7f48cff1313b216d694f9753d2c9087390 (patch) | |
tree | 3f31ca49614c2ec30976cd5c134e605662b20b5e /src/plugins/glsleditor | |
parent | 01f4e4a8c6eff3bb31948169dc10c75c4338183d (diff) |
GlslEditor: Remove duplicated icons
This change makes GlslCompletionAssist reuse the equivalent icons
from CPlusPlus, and adds specific ones for "Attribute", "Uniform"
and "Varying".
Change-Id: Ic8860274a9f421d28cfec86ed0d1badb7e1cf92e
Reviewed-by: Alessandro Portale <alessandro.portale@theqtcompany.com>
Diffstat (limited to 'src/plugins/glsleditor')
-rw-r--r-- | src/plugins/glsleditor/glslcompletionassist.cpp | 86 | ||||
-rw-r--r-- | src/plugins/glsleditor/glslcompletionassist.h | 11 | ||||
-rw-r--r-- | src/plugins/glsleditor/glsleditor.qrc | 9 | ||||
-rw-r--r-- | src/plugins/glsleditor/images/attribute.png | bin | 456 -> 0 bytes | |||
-rw-r--r-- | src/plugins/glsleditor/images/const.png | bin | 478 -> 0 bytes | |||
-rw-r--r-- | src/plugins/glsleditor/images/func.png | bin | 583 -> 0 bytes | |||
-rw-r--r-- | src/plugins/glsleditor/images/keyword.png | bin | 341 -> 0 bytes | |||
-rw-r--r-- | src/plugins/glsleditor/images/other.png | bin | 377 -> 0 bytes | |||
-rw-r--r-- | src/plugins/glsleditor/images/type.png | bin | 573 -> 0 bytes | |||
-rw-r--r-- | src/plugins/glsleditor/images/uniform.png | bin | 461 -> 0 bytes | |||
-rw-r--r-- | src/plugins/glsleditor/images/var.png | bin | 530 -> 0 bytes | |||
-rw-r--r-- | src/plugins/glsleditor/images/varying.png | bin | 457 -> 0 bytes |
12 files changed, 65 insertions, 41 deletions
diff --git a/src/plugins/glsleditor/glslcompletionassist.cpp b/src/plugins/glsleditor/glslcompletionassist.cpp index e75bfb97a2..9be913279e 100644 --- a/src/plugins/glsleditor/glslcompletionassist.cpp +++ b/src/plugins/glsleditor/glslcompletionassist.cpp @@ -41,7 +41,9 @@ #include <texteditor/codeassist/genericproposal.h> #include <texteditor/codeassist/functionhintproposal.h> #include <cplusplus/ExpressionUnderCursor.h> +#include <cplusplus/Icons.h> +#include <utils/icon.h> #include <utils/faketooltip.h> #include <QIcon> @@ -138,6 +140,57 @@ static bool checkStartOfIdentifier(const QString &word) return false; } +enum IconTypes { + IconTypeAttribute, + IconTypeUniform, + IconTypeKeyword, + IconTypeVarying, + IconTypeConst, + IconTypeVariable, + IconTypeType, + IconTypeFunction, + IconTypeOther +}; + +static QIcon glslIcon(IconTypes iconType) +{ + using namespace CPlusPlus; + using namespace Utils; + + const QString member = QLatin1String(":/codemodel/images/member.png"); + + switch (iconType) { + case IconTypeType: + return Icons::iconForType(Icons::ClassIconType); + case IconTypeConst: + return Icons::iconForType(Icons::EnumeratorIconType); + case IconTypeKeyword: + return Icons::iconForType(Icons::KeywordIconType); + case IconTypeFunction: + return Icons::iconForType(Icons::FuncPublicIconType); + case IconTypeVariable: + return Icons::iconForType(Icons::VarPublicIconType); + case IconTypeAttribute: { + static const QIcon icon = + Icon({{member, Theme::IconsCodeModelAttributeColor}}, Icon::Tint).icon(); + return icon; + } + case IconTypeUniform: { + static const QIcon icon = + Icon({{member, Theme::IconsCodeModelUniformColor}}, Icon::Tint).icon(); + return icon; + } + case IconTypeVarying: { + static const QIcon icon = + Icon({{member, Theme::IconsCodeModelVaryingColor}}, Icon::Tint).icon(); + return icon; + } + case IconTypeOther: + default: + return Icons::iconForType(Icons::NamespaceIconType); + } +} + // ---------------------------- // GlslCompletionAssistProvider // ---------------------------- @@ -223,15 +276,6 @@ int GlslFunctionHintProposalModel::activeArgument(const QString &prefix) const // ----------------------------- GlslCompletionAssistProcessor::GlslCompletionAssistProcessor() : m_startPosition(0) - , m_keywordIcon(QLatin1String(":/glsleditor/images/keyword.png")) - , m_varIcon(QLatin1String(":/glsleditor/images/var.png")) - , m_functionIcon(QLatin1String(":/glsleditor/images/func.png")) - , m_typeIcon(QLatin1String(":/glsleditor/images/type.png")) - , m_constIcon(QLatin1String(":/glsleditor/images/const.png")) - , m_attributeIcon(QLatin1String(":/glsleditor/images/attribute.png")) - , m_uniformIcon(QLatin1String(":/glsleditor/images/uniform.png")) - , m_varyingIcon(QLatin1String(":/glsleditor/images/varying.png")) - , m_otherIcon(QLatin1String(":/glsleditor/images/other.png")) {} GlslCompletionAssistProcessor::~GlslCompletionAssistProcessor() @@ -385,9 +429,9 @@ IAssistProposal *GlslCompletionAssistProcessor::perform(const AssistInterface *i 0 }; for (int index = 0; attributeNames[index]; ++index) - m_completions << createCompletionItem(QString::fromLatin1(attributeNames[index]), m_attributeIcon); + m_completions << createCompletionItem(QString::fromLatin1(attributeNames[index]), glslIcon(IconTypeAttribute)); for (int index = 0; uniformNames[index]; ++index) - m_completions << createCompletionItem(QString::fromLatin1(uniformNames[index]), m_uniformIcon); + m_completions << createCompletionItem(QString::fromLatin1(uniformNames[index]), glslIcon(IconTypeUniform)); } } @@ -395,7 +439,7 @@ IAssistProposal *GlslCompletionAssistProcessor::perform(const AssistInterface *i QStringList keywords = GLSL::Lexer::keywords(languageVariant(m_interface->mimeType())); // m_keywordCompletions.clear(); for (int index = 0; index < keywords.size(); ++index) - m_completions << createCompletionItem(keywords.at(index), m_keywordIcon); + m_completions << createCompletionItem(keywords.at(index), glslIcon(IconTypeKeyword)); // m_keywordVariant = languageVariant(m_interface->mimeType()); // } @@ -408,23 +452,23 @@ IAssistProposal *GlslCompletionAssistProcessor::perform(const AssistInterface *i if (var) { int storageType = var->qualifiers() & GLSL::QualifiedTypeAST::StorageMask; if (storageType == GLSL::QualifiedTypeAST::Attribute) - icon = m_attributeIcon; + icon = glslIcon(IconTypeAttribute); else if (storageType == GLSL::QualifiedTypeAST::Uniform) - icon = m_uniformIcon; + icon = glslIcon(IconTypeUniform); else if (storageType == GLSL::QualifiedTypeAST::Varying) - icon = m_varyingIcon; + icon = glslIcon(IconTypeVarying); else if (storageType == GLSL::QualifiedTypeAST::Const) - icon = m_constIcon; + icon = glslIcon(IconTypeConst); else - icon = m_varIcon; + icon = glslIcon(IconTypeVariable); } else if (s->asArgument()) { - icon = m_varIcon; + icon = glslIcon(IconTypeVariable); } else if (s->asFunction() || s->asOverloadSet()) { - icon = m_functionIcon; + icon = glslIcon(IconTypeFunction); } else if (s->asStruct()) { - icon = m_typeIcon; + icon = glslIcon(IconTypeType); } else { - icon = m_otherIcon; + icon = glslIcon(IconTypeOther); } if (specialMembers.contains(s->name())) m_completions << createCompletionItem(s->name(), icon, SpecialMemberOrder); diff --git a/src/plugins/glsleditor/glslcompletionassist.h b/src/plugins/glsleditor/glslcompletionassist.h index 8cc29e6c77..ca1bd84a44 100644 --- a/src/plugins/glsleditor/glslcompletionassist.h +++ b/src/plugins/glsleditor/glslcompletionassist.h @@ -34,7 +34,6 @@ #include <texteditor/codeassist/ifunctionhintproposalmodel.h> -#include <QIcon> #include <QScopedPointer> #include <QSharedPointer> @@ -107,16 +106,6 @@ private: int m_startPosition; QScopedPointer<const GlslCompletionAssistInterface> m_interface; - - QIcon m_keywordIcon; - QIcon m_varIcon; - QIcon m_functionIcon; - QIcon m_typeIcon; - QIcon m_constIcon; - QIcon m_attributeIcon; - QIcon m_uniformIcon; - QIcon m_varyingIcon; - QIcon m_otherIcon; }; class GlslCompletionAssistInterface : public TextEditor::AssistInterface diff --git a/src/plugins/glsleditor/glsleditor.qrc b/src/plugins/glsleditor/glsleditor.qrc index 3455048e00..cb1c737c9a 100644 --- a/src/plugins/glsleditor/glsleditor.qrc +++ b/src/plugins/glsleditor/glsleditor.qrc @@ -2,14 +2,5 @@ <qresource prefix="/glsleditor"> <file>GLSLEditor.mimetypes.xml</file> <file>images/glslfile.png</file> - <file>images/keyword.png</file> - <file>images/var.png</file> - <file>images/func.png</file> - <file>images/type.png</file> - <file>images/const.png</file> - <file>images/attribute.png</file> - <file>images/uniform.png</file> - <file>images/varying.png</file> - <file>images/other.png</file> </qresource> </RCC> diff --git a/src/plugins/glsleditor/images/attribute.png b/src/plugins/glsleditor/images/attribute.png Binary files differdeleted file mode 100644 index fe2bdc36fd..0000000000 --- a/src/plugins/glsleditor/images/attribute.png +++ /dev/null diff --git a/src/plugins/glsleditor/images/const.png b/src/plugins/glsleditor/images/const.png Binary files differdeleted file mode 100644 index 25fc49c659..0000000000 --- a/src/plugins/glsleditor/images/const.png +++ /dev/null diff --git a/src/plugins/glsleditor/images/func.png b/src/plugins/glsleditor/images/func.png Binary files differdeleted file mode 100644 index e515e76e61..0000000000 --- a/src/plugins/glsleditor/images/func.png +++ /dev/null diff --git a/src/plugins/glsleditor/images/keyword.png b/src/plugins/glsleditor/images/keyword.png Binary files differdeleted file mode 100644 index e5a51858d9..0000000000 --- a/src/plugins/glsleditor/images/keyword.png +++ /dev/null diff --git a/src/plugins/glsleditor/images/other.png b/src/plugins/glsleditor/images/other.png Binary files differdeleted file mode 100644 index 18d2941572..0000000000 --- a/src/plugins/glsleditor/images/other.png +++ /dev/null diff --git a/src/plugins/glsleditor/images/type.png b/src/plugins/glsleditor/images/type.png Binary files differdeleted file mode 100644 index 88432d2cb1..0000000000 --- a/src/plugins/glsleditor/images/type.png +++ /dev/null diff --git a/src/plugins/glsleditor/images/uniform.png b/src/plugins/glsleditor/images/uniform.png Binary files differdeleted file mode 100644 index 075e875dd2..0000000000 --- a/src/plugins/glsleditor/images/uniform.png +++ /dev/null diff --git a/src/plugins/glsleditor/images/var.png b/src/plugins/glsleditor/images/var.png Binary files differdeleted file mode 100644 index 089cfb45e5..0000000000 --- a/src/plugins/glsleditor/images/var.png +++ /dev/null diff --git a/src/plugins/glsleditor/images/varying.png b/src/plugins/glsleditor/images/varying.png Binary files differdeleted file mode 100644 index a6e3e12c6d..0000000000 --- a/src/plugins/glsleditor/images/varying.png +++ /dev/null |