diff --git a/src/libs/cplusplus/Icons.cpp b/src/libs/cplusplus/Icons.cpp index 27e4b92d09f..5e5297b4030 100644 --- a/src/libs/cplusplus/Icons.cpp +++ b/src/libs/cplusplus/Icons.cpp @@ -107,6 +107,8 @@ Icons::IconType Icons::iconTypeForSymbol(const Symbol *symbol) return NamespaceIconType; } else if (symbol->isTypenameArgument()) { return ClassIconType; + } else if (symbol->isQtPropertyDeclaration() || symbol->isObjCPropertyDeclaration()) { + return PropertyIconType; } else if (symbol->isUsingNamespaceDirective() || symbol->isUsingDeclaration()) { // TODO: Might be nice to have a different icons for these things @@ -136,6 +138,10 @@ QIcon Icons::iconForType(IconType type) QLatin1String(":/codemodel/images/signal.png"), Theme::IconsCodeModelFunctionColor}; static const IconMaskAndColor slotIcon { QLatin1String(":/codemodel/images/slot.png"), Theme::IconsCodeModelFunctionColor}; + static const IconMaskAndColor propertyIcon { + QLatin1String(":/codemodel/images/property.png"), Theme::IconsCodeModelOverlayForegroundColor}; + static const IconMaskAndColor propertyBackgroundIcon { + QLatin1String(":/codemodel/images/propertybackground.png"), Theme::IconsCodeModelOverlayBackgroundColor}; static const IconMaskAndColor protectedIcon { QLatin1String(":/codemodel/images/protected.png"), Theme::IconsCodeModelOverlayForegroundColor}; static const IconMaskAndColor protectedBackgroundIcon { @@ -291,6 +297,12 @@ QIcon Icons::iconForType(IconType type) }, Icon::Tint).icon()); return icon; } + case PropertyIconType: { + const static QIcon icon(Icon({ + variableIcon, propertyBackgroundIcon, propertyIcon + }, Icon::Tint).icon()); + return icon; + } default: break; } diff --git a/src/libs/cplusplus/Icons.h b/src/libs/cplusplus/Icons.h index 2b8ce0beeed..a5aaa33d601 100644 --- a/src/libs/cplusplus/Icons.h +++ b/src/libs/cplusplus/Icons.h @@ -65,6 +65,7 @@ public: SlotPrivateIconType, KeywordIconType, MacroIconType, + PropertyIconType, UnknownIconType }; diff --git a/src/libs/cplusplus/cplusplus.qrc b/src/libs/cplusplus/cplusplus.qrc index 32d9a712495..357db691c0b 100644 --- a/src/libs/cplusplus/cplusplus.qrc +++ b/src/libs/cplusplus/cplusplus.qrc @@ -18,6 +18,10 @@ images/private@2x.png images/privatebackground.png images/privatebackground@2x.png + images/property.png + images/property@2x.png + images/propertybackground.png + images/propertybackground@2x.png images/protected.png images/protected@2x.png images/protectedbackground.png diff --git a/src/libs/cplusplus/images/property.png b/src/libs/cplusplus/images/property.png new file mode 100644 index 00000000000..e3f2244ca58 Binary files /dev/null and b/src/libs/cplusplus/images/property.png differ diff --git a/src/libs/cplusplus/images/property@2x.png b/src/libs/cplusplus/images/property@2x.png new file mode 100644 index 00000000000..9e5b80909eb Binary files /dev/null and b/src/libs/cplusplus/images/property@2x.png differ diff --git a/src/libs/cplusplus/images/propertybackground.png b/src/libs/cplusplus/images/propertybackground.png new file mode 100644 index 00000000000..7766b9fe82d Binary files /dev/null and b/src/libs/cplusplus/images/propertybackground.png differ diff --git a/src/libs/cplusplus/images/propertybackground@2x.png b/src/libs/cplusplus/images/propertybackground@2x.png new file mode 100644 index 00000000000..05572902186 Binary files /dev/null and b/src/libs/cplusplus/images/propertybackground@2x.png differ diff --git a/src/tools/icons/qtcreatoricons.svg b/src/tools/icons/qtcreatoricons.svg index 48323465c79..cbdb3ed0a53 100644 --- a/src/tools/icons/qtcreatoricons.svg +++ b/src/tools/icons/qtcreatoricons.svg @@ -6017,6 +6017,55 @@ id="rect5183-16" style="opacity:1;fill:#b3b3b3;fill-opacity:1;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" /> + + + + + + + + + +