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" />
+
+
+
+
+
+
+
+
+
+