From 2404974176ad7aef48e3b6cf12c42426b7a0be23 Mon Sep 17 00:00:00 2001 From: Libor Tomsik Date: Tue, 24 Feb 2015 11:33:39 +0100 Subject: [PATCH] Showing different icon for class and struct in classview Adding new slightly different icon for Struct to make it different from Class. Task-number: QTCREATORBUG-8574 Change-Id: I3da655adeaa05d7a590d4ec00f9749b5d86e0340 Reviewed-by: Orgad Shaneh Reviewed-by: Nikolai Kosjar Reviewed-by: Alessandro Portale --- src/libs/cplusplus/Icons.cpp | 9 +++++++-- src/libs/cplusplus/Icons.h | 2 ++ src/libs/cplusplus/cplusplus.qbs | 1 + src/libs/cplusplus/cplusplus.qrc | 1 + src/libs/cplusplus/images/struct.png | Bin 0 -> 641 bytes 5 files changed, 11 insertions(+), 2 deletions(-) create mode 100644 src/libs/cplusplus/images/struct.png diff --git a/src/libs/cplusplus/Icons.cpp b/src/libs/cplusplus/Icons.cpp index fd49c6c8354..3d60574808f 100644 --- a/src/libs/cplusplus/Icons.cpp +++ b/src/libs/cplusplus/Icons.cpp @@ -40,6 +40,7 @@ using CPlusPlus::Icons; Icons::Icons() : _classIcon(QLatin1String(":/codemodel/images/class.png")), + _structIcon(QLatin1String(":/codemodel/images/struct.png")), _enumIcon(QLatin1String(":/codemodel/images/enum.png")), _enumeratorIcon(QLatin1String(":/codemodel/images/enumerator.png")), _funcPublicIcon(QLatin1String(":/codemodel/images/func.png")), @@ -115,8 +116,10 @@ Icons::IconType Icons::iconTypeForSymbol(const Symbol *symbol) return VarPrivateIconType; } else if (symbol->isEnum()) { return EnumIconType; - } else if (symbol->isClass() || symbol->isForwardClassDeclaration()) { - return ClassIconType; + } else if (symbol->isForwardClassDeclaration()) { + return ClassIconType; // TODO: Store class key in ForwardClassDeclaration + } else if (const Class *klass = symbol->asClass()) { + return klass->isStruct() ? StructIconType : ClassIconType; } else if (symbol->isObjCClass() || symbol->isObjCForwardClassDeclaration()) { return ClassIconType; } else if (symbol->isObjCProtocol() || symbol->isObjCForwardProtocolDeclaration()) { @@ -141,6 +144,8 @@ QIcon Icons::iconForType(IconType type) const switch (type) { case ClassIconType: return _classIcon; + case StructIconType: + return _structIcon; case EnumIconType: return _enumIcon; case EnumeratorIconType: diff --git a/src/libs/cplusplus/Icons.h b/src/libs/cplusplus/Icons.h index cf793856d2e..f042f901500 100644 --- a/src/libs/cplusplus/Icons.h +++ b/src/libs/cplusplus/Icons.h @@ -51,6 +51,7 @@ public: enum IconType { ClassIconType = 0, + StructIconType, EnumIconType, EnumeratorIconType, FuncPublicIconType, @@ -74,6 +75,7 @@ public: private: QIcon _classIcon; + QIcon _structIcon; QIcon _enumIcon; QIcon _enumeratorIcon; QIcon _funcPublicIcon; diff --git a/src/libs/cplusplus/cplusplus.qbs b/src/libs/cplusplus/cplusplus.qbs index 7b2f3120f28..de6f93eb5dc 100644 --- a/src/libs/cplusplus/cplusplus.qbs +++ b/src/libs/cplusplus/cplusplus.qbs @@ -132,6 +132,7 @@ QtcLibrary { prefix: "images/" files: [ "class.png", + "struct.png", "enum.png", "enumerator.png", "func.png", diff --git a/src/libs/cplusplus/cplusplus.qrc b/src/libs/cplusplus/cplusplus.qrc index 73d4c6395ec..577d35cb45d 100644 --- a/src/libs/cplusplus/cplusplus.qrc +++ b/src/libs/cplusplus/cplusplus.qrc @@ -1,6 +1,7 @@ images/class.png + images/struct.png images/enum.png images/enumerator.png images/func.png diff --git a/src/libs/cplusplus/images/struct.png b/src/libs/cplusplus/images/struct.png new file mode 100644 index 0000000000000000000000000000000000000000..4b613f68f94b82d6fc7a7be9b6d5641226a31a2d GIT binary patch literal 641 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7*pj^6T^Rm@;DWu&Co?cG za29w(7Bet#3xhBt!>lFwFJsx{YT#a$NXmR6$x0o`bp#wPA^-CJqK(i<}pW=#@v zoAOjGVAm9(tR5CsBjbMy&h-2Fecqb!&b2kA>fwQhGV`W?pYvTNFtkitNG$ub)zrL* zpPd=161~~em{Z=gU%zd2*?W4P=Ywy~frghRZiq0I{1Ur*bGY>`<80ZxOdA4DT&#M& zZ-vJ%1!my~Zt;&dPCd8!bnCOQdgYpmwwgqC=BXYLJsC0D41X^rG0w|0FxYQ+YtCMQ zs9Rj~zCG;b?GEvB4cf@kAlsW=XMSgPjmp7YYMy6n_GRa7nfE_1%j(@>_g*RWdBo_6@H%hOP*GsSPOUmqXEsji`&El0JSmsPEn8r8IWsJp16-ZS1B~Sq0uJx*kemsMx;u{sHe# z4?bD0j;PPLnavn#Td-yO_SNR>M1MkixMktrS)!5RQhDK``qrellZffRDRoY s>bU&d7SQ^AOF*^|gKy6d-@lA~Iy`N%%`;vyFfcH9y85}Sb4q9e0Gopm+yDRo literal 0 HcmV?d00001