From a1d4b63f8d13cd7afe676c3673b752a50820d614 Mon Sep 17 00:00:00 2001 From: Alessandro Portale Date: Mon, 12 Jun 2017 18:27:57 +0200 Subject: [PATCH] CPlusPlus: Add a property icon Properties have been so useful in Qt for Years, and they will continue being so. Properties deserve a proper icon. Change-Id: Ifd19c97470a48a033bbe4017855f7b150befb365 Reviewed-by: Nikolai Kosjar Reviewed-by: Ivan Donchevskii --- src/libs/cplusplus/Icons.cpp | 12 +++++ src/libs/cplusplus/Icons.h | 1 + src/libs/cplusplus/cplusplus.qrc | 4 ++ src/libs/cplusplus/images/property.png | Bin 0 -> 148 bytes src/libs/cplusplus/images/property@2x.png | Bin 0 -> 133 bytes .../cplusplus/images/propertybackground.png | Bin 0 -> 131 bytes .../images/propertybackground@2x.png | Bin 0 -> 187 bytes src/tools/icons/qtcreatoricons.svg | 49 ++++++++++++++++++ 8 files changed, 66 insertions(+) create mode 100644 src/libs/cplusplus/images/property.png create mode 100644 src/libs/cplusplus/images/property@2x.png create mode 100644 src/libs/cplusplus/images/propertybackground.png create mode 100644 src/libs/cplusplus/images/propertybackground@2x.png 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 0000000000000000000000000000000000000000..e3f2244ca587f5b401068e2e319c4adc2ff015cc GIT binary patch literal 148 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd7G?$phPQVgfdte8d_r6q7#NtDnR$44L`6ld ztgNi9tz%kUho5_ooqY)VpKU`VrwssG>GmCnGxz~JfX=d#Wzp$Py7U@sQ{ literal 0 HcmV?d00001 diff --git a/src/libs/cplusplus/images/property@2x.png b/src/libs/cplusplus/images/property@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..9e5b80909eb09eefbcccf6846569dffdd5b2a587 GIT binary patch literal 133 zcmeAS@N?(olHy`uVBq!ia0y~yU{C;I4h9AWhA=@@4F(1VA5Ry@5R22vKl~XCdbA`$ z9r#(}rLJ0BmD>Lx-P6_2Wt~$(6953HDZ~H( literal 0 HcmV?d00001 diff --git a/src/libs/cplusplus/images/propertybackground@2x.png b/src/libs/cplusplus/images/propertybackground@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..05572902186067607fc106a58e04eff555f00644 GIT binary patch literal 187 zcmeAS@N?(olHy`uVBq!ia0y~yU{C;I4h9AWhA=@@4F(2=CQlc~5R21qFP;``P~c&? z@O6!&cc4_@>yN<`dcHbvX9!kxR(P^;8>qA0W4QU?lt|r&W}S}U=xKLlOg9KJFg!`w zAo@TnhH0PrlDAu$EG2%h73uO+J(ZDVzQpjfA<^K;JdRuH*O#9)kXm{6*OaEB{D9pu oTOZ$k6)Syhzopr09`6aHvj+t literal 0 HcmV?d00001 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" /> + + + + + + + + + +