diff --git a/share/qtcreator/themes/dark.creatortheme b/share/qtcreator/themes/dark.creatortheme index 0935680bde876ba369d17375be3fe273515c519e..bc94ac1e19f3166e21cd2c17a268a1d4037ed794 100644 --- a/share/qtcreator/themes/dark.creatortheme +++ b/share/qtcreator/themes/dark.creatortheme @@ -78,6 +78,9 @@ IconsCodeModelFunctionColor=ffd34373 IconsCodeModelVariableColor=ff2bbbcc IconsCodeModelEnumColor=ffc0b550 IconsCodeModelMacroColor=ff477ba0 +IconsCodeModelAttributeColor=ff316511 +IconsCodeModelUniformColor=ff994899 +IconsCodeModelVaryingColor=ffa08833 IconsCodeModelOverlayBackgroundColor=88000000 IconsCodeModelOverlayForegroundColor=ffdcdcdc InfoBarBackground=ff505000 diff --git a/share/qtcreator/themes/default.creatortheme b/share/qtcreator/themes/default.creatortheme index 690f4407d7283e59bd34c29a8b4f41c72ed43f8d..b6dcbcca1241bfc96774f17e3899ae66ce683deb 100644 --- a/share/qtcreator/themes/default.creatortheme +++ b/share/qtcreator/themes/default.creatortheme @@ -72,6 +72,9 @@ IconsCodeModelFunctionColor=fff36393 IconsCodeModelVariableColor=ff2bbbcc IconsCodeModelEnumColor=ffc0b550 IconsCodeModelMacroColor=ff476ba0 +IconsCodeModelAttributeColor=ff316511 +IconsCodeModelUniformColor=ff994899 +IconsCodeModelVaryingColor=ffa08833 IconsCodeModelOverlayBackgroundColor=70ffffff IconsCodeModelOverlayForegroundColor=ff232425 InfoBarBackground=ffffffe1 diff --git a/share/qtcreator/themes/defaultflat.creatortheme b/share/qtcreator/themes/defaultflat.creatortheme index a3bc13a82041c9adf9bd2709c291b3a7a6bcd4c4..c8d51b6ca7b5ce6f968e198fd59bc0e2d430d24c 100644 --- a/share/qtcreator/themes/defaultflat.creatortheme +++ b/share/qtcreator/themes/defaultflat.creatortheme @@ -82,6 +82,9 @@ IconsCodeModelFunctionColor=ffd34373 IconsCodeModelVariableColor=ff2bbbcc IconsCodeModelEnumColor=ffc0b550 IconsCodeModelMacroColor=ff476ba0 +IconsCodeModelAttributeColor=ff316511 +IconsCodeModelUniformColor=ff994899 +IconsCodeModelVaryingColor=ffa08833 IconsCodeModelOverlayBackgroundColor=70ffffff IconsCodeModelOverlayForegroundColor=ff232425 InfoBarBackground=ffffffe1 diff --git a/src/libs/utils/theme/theme.h b/src/libs/utils/theme/theme.h index 8dd54e5a79cb994d210c11174c5bc0fcb8f05c52..a3a9861d561904adee11e710f0fd575b1025ac1b 100644 --- a/src/libs/utils/theme/theme.h +++ b/src/libs/utils/theme/theme.h @@ -160,6 +160,9 @@ public: IconsCodeModelVariableColor, IconsCodeModelEnumColor, IconsCodeModelMacroColor, + IconsCodeModelAttributeColor, + IconsCodeModelUniformColor, + IconsCodeModelVaryingColor, IconsCodeModelOverlayBackgroundColor, IconsCodeModelOverlayForegroundColor, diff --git a/src/plugins/glsleditor/glslcompletionassist.cpp b/src/plugins/glsleditor/glslcompletionassist.cpp index e75bfb97a212e9ddb134bd785f0ec2c49a2cdcaa..9be913279e73eb30f6df3a01a49719b2c99382ad 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 8cc29e6c772436b5e8dc154b5fdbdb8a501ab820..ca1bd84a4410dfc95918649e68967ea0f8082768 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 3455048e006772ad7c05992bc870749bf6e6cf36..cb1c737c9a1602fc40b70e4f5267b8275765b559 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 deleted file mode 100644 index fe2bdc36fddf0d90445e2e8031bf0f08bda4eaaa..0000000000000000000000000000000000000000 Binary files a/src/plugins/glsleditor/images/attribute.png and /dev/null differ diff --git a/src/plugins/glsleditor/images/const.png b/src/plugins/glsleditor/images/const.png deleted file mode 100644 index 25fc49c6598a8a99c11ec688b4dc1d3153427507..0000000000000000000000000000000000000000 Binary files a/src/plugins/glsleditor/images/const.png and /dev/null differ diff --git a/src/plugins/glsleditor/images/func.png b/src/plugins/glsleditor/images/func.png deleted file mode 100644 index e515e76e61f64cd285a4c67aaf1feaca38e84f8b..0000000000000000000000000000000000000000 Binary files a/src/plugins/glsleditor/images/func.png and /dev/null differ diff --git a/src/plugins/glsleditor/images/keyword.png b/src/plugins/glsleditor/images/keyword.png deleted file mode 100644 index e5a51858d9ed96ab65bf6544891cb48730607fa4..0000000000000000000000000000000000000000 Binary files a/src/plugins/glsleditor/images/keyword.png and /dev/null differ diff --git a/src/plugins/glsleditor/images/other.png b/src/plugins/glsleditor/images/other.png deleted file mode 100644 index 18d2941572e8a62e65954c4900aa9b1bdf21766f..0000000000000000000000000000000000000000 Binary files a/src/plugins/glsleditor/images/other.png and /dev/null differ diff --git a/src/plugins/glsleditor/images/type.png b/src/plugins/glsleditor/images/type.png deleted file mode 100644 index 88432d2cb10c43de91fdb7ec7989285090747b0a..0000000000000000000000000000000000000000 Binary files a/src/plugins/glsleditor/images/type.png and /dev/null differ diff --git a/src/plugins/glsleditor/images/uniform.png b/src/plugins/glsleditor/images/uniform.png deleted file mode 100644 index 075e875dd217093d383b0346a2c3919f59e3103f..0000000000000000000000000000000000000000 Binary files a/src/plugins/glsleditor/images/uniform.png and /dev/null differ diff --git a/src/plugins/glsleditor/images/var.png b/src/plugins/glsleditor/images/var.png deleted file mode 100644 index 089cfb45e5fc0f9629c508538ffc5886f79f84c1..0000000000000000000000000000000000000000 Binary files a/src/plugins/glsleditor/images/var.png and /dev/null differ diff --git a/src/plugins/glsleditor/images/varying.png b/src/plugins/glsleditor/images/varying.png deleted file mode 100644 index a6e3e12c6d55b7f951598ae2e5d3961a3b994ee7..0000000000000000000000000000000000000000 Binary files a/src/plugins/glsleditor/images/varying.png and /dev/null differ