From 398ad5a40a8d593a75f8e98df552bc49008dff88 Mon Sep 17 00:00:00 2001 From: Alexander Izmailov Date: Thu, 30 Oct 2014 19:43:48 +0300 Subject: Add icons for static fields and functions. Icons for static members in completion list now with S letter. Task-number: QTCREATORBUG-203 Change-Id: I6c997ad14eeb500936ffe73e2fc0ad8e552a46c9 Reviewed-by: Alessandro Portale --- src/libs/cplusplus/Icons.cpp | 37 ++++++++++++++++++++++------- src/libs/cplusplus/Icons.h | 12 ++++++++++ src/libs/cplusplus/cplusplus.qrc | 8 ++++++- src/libs/cplusplus/images/func_priv_st.png | Bin 0 -> 685 bytes src/libs/cplusplus/images/func_prot_st.png | Bin 0 -> 679 bytes src/libs/cplusplus/images/func_st.png | Bin 0 -> 651 bytes src/libs/cplusplus/images/static.png | Bin 0 -> 164 bytes src/libs/cplusplus/images/var_priv_st.png | Bin 0 -> 676 bytes src/libs/cplusplus/images/var_prot_st.png | Bin 0 -> 658 bytes src/libs/cplusplus/images/var_st.png | Bin 0 -> 629 bytes src/plugins/classview/classviewutils.cpp | 6 +++++ 11 files changed, 53 insertions(+), 10 deletions(-) create mode 100644 src/libs/cplusplus/images/func_priv_st.png create mode 100644 src/libs/cplusplus/images/func_prot_st.png create mode 100644 src/libs/cplusplus/images/func_st.png create mode 100644 src/libs/cplusplus/images/static.png create mode 100644 src/libs/cplusplus/images/var_priv_st.png create mode 100644 src/libs/cplusplus/images/var_prot_st.png create mode 100644 src/libs/cplusplus/images/var_st.png diff --git a/src/libs/cplusplus/Icons.cpp b/src/libs/cplusplus/Icons.cpp index 3d60574808..1405b178e6 100644 --- a/src/libs/cplusplus/Icons.cpp +++ b/src/libs/cplusplus/Icons.cpp @@ -46,10 +46,16 @@ Icons::Icons() _funcPublicIcon(QLatin1String(":/codemodel/images/func.png")), _funcProtectedIcon(QLatin1String(":/codemodel/images/func_prot.png")), _funcPrivateIcon(QLatin1String(":/codemodel/images/func_priv.png")), + _funcPublicStaticIcon(QLatin1String(":/codemodel/images/func_st.png")), + _funcProtectedStaticIcon(QLatin1String(":/codemodel/images/func_prot_st.png")), + _funcPrivateStaticIcon(QLatin1String(":/codemodel/images/func_priv_st.png")), _namespaceIcon(QLatin1String(":/codemodel/images/namespace.png")), _varPublicIcon(QLatin1String(":/codemodel/images/var.png")), _varProtectedIcon(QLatin1String(":/codemodel/images/var_prot.png")), _varPrivateIcon(QLatin1String(":/codemodel/images/var_priv.png")), + _varPublicStaticIcon(QLatin1String(":/codemodel/images/var_st.png")), + _varProtectedStaticIcon(QLatin1String(":/codemodel/images/var_prot_st.png")), + _varPrivateStaticIcon(QLatin1String(":/codemodel/images/var_priv_st.png")), _signalIcon(QLatin1String(":/codemodel/images/signal.png")), _slotPublicIcon(QLatin1String(":/codemodel/images/slot.png")), _slotProtectedIcon(QLatin1String(":/codemodel/images/slot_prot.png")), @@ -99,21 +105,22 @@ Icons::IconType Icons::iconTypeForSymbol(const Symbol *symbol) } else if (function->isSignal()) { return SignalIconType; } else if (symbol->isPublic()) { - return FuncPublicIconType; + return symbol->isStatic() ? FuncPublicStaticIconType : FuncPublicIconType; } else if (symbol->isProtected()) { - return FuncProtectedIconType; + return symbol->isStatic() ? FuncProtectedStaticIconType : FuncProtectedIconType; } else if (symbol->isPrivate()) { - return FuncPrivateIconType; + return symbol->isStatic() ? FuncPrivateStaticIconType : FuncPrivateIconType; } } else if (symbol->enclosingScope() && symbol->enclosingScope()->isEnum()) { return EnumeratorIconType; } else if (symbol->isDeclaration() || symbol->isArgument()) { - if (symbol->isPublic()) - return VarPublicIconType; - else if (symbol->isProtected()) - return VarProtectedIconType; - else if (symbol->isPrivate()) - return VarPrivateIconType; + if (symbol->isPublic()) { + return symbol->isStatic() ? VarPublicStaticIconType : VarPublicIconType; + } else if (symbol->isProtected()) { + return symbol->isStatic() ? VarProtectedStaticIconType : VarProtectedIconType; + } else if (symbol->isPrivate()) { + return symbol->isStatic() ? VarPrivateStaticIconType : VarPrivateIconType; + } } else if (symbol->isEnum()) { return EnumIconType; } else if (symbol->isForwardClassDeclaration()) { @@ -156,6 +163,12 @@ QIcon Icons::iconForType(IconType type) const return _funcProtectedIcon; case FuncPrivateIconType: return _funcPrivateIcon; + case FuncPublicStaticIconType: + return _funcPublicStaticIcon; + case FuncProtectedStaticIconType: + return _funcProtectedStaticIcon; + case FuncPrivateStaticIconType: + return _funcPrivateStaticIcon; case NamespaceIconType: return _namespaceIcon; case VarPublicIconType: @@ -164,6 +177,12 @@ QIcon Icons::iconForType(IconType type) const return _varProtectedIcon; case VarPrivateIconType: return _varPrivateIcon; + case VarPublicStaticIconType: + return _varPublicStaticIcon; + case VarProtectedStaticIconType: + return _varProtectedStaticIcon; + case VarPrivateStaticIconType: + return _varPrivateStaticIcon; case SignalIconType: return _signalIcon; case SlotPublicIconType: diff --git a/src/libs/cplusplus/Icons.h b/src/libs/cplusplus/Icons.h index f042f90150..1e6802c726 100644 --- a/src/libs/cplusplus/Icons.h +++ b/src/libs/cplusplus/Icons.h @@ -57,10 +57,16 @@ public: FuncPublicIconType, FuncProtectedIconType, FuncPrivateIconType, + FuncPublicStaticIconType, + FuncProtectedStaticIconType, + FuncPrivateStaticIconType, NamespaceIconType, VarPublicIconType, VarProtectedIconType, VarPrivateIconType, + VarPublicStaticIconType, + VarProtectedStaticIconType, + VarPrivateStaticIconType, SignalIconType, SlotPublicIconType, SlotProtectedIconType, @@ -81,10 +87,16 @@ private: QIcon _funcPublicIcon; QIcon _funcProtectedIcon; QIcon _funcPrivateIcon; + QIcon _funcPublicStaticIcon; + QIcon _funcProtectedStaticIcon; + QIcon _funcPrivateStaticIcon; QIcon _namespaceIcon; QIcon _varPublicIcon; QIcon _varProtectedIcon; QIcon _varPrivateIcon; + QIcon _varPublicStaticIcon; + QIcon _varProtectedStaticIcon; + QIcon _varPrivateStaticIcon; QIcon _signalIcon; QIcon _slotPublicIcon; QIcon _slotProtectedIcon; diff --git a/src/libs/cplusplus/cplusplus.qrc b/src/libs/cplusplus/cplusplus.qrc index 577d35cb45..9b5812d83c 100644 --- a/src/libs/cplusplus/cplusplus.qrc +++ b/src/libs/cplusplus/cplusplus.qrc @@ -1,5 +1,5 @@ - + images/class.png images/struct.png images/enum.png @@ -17,5 +17,11 @@ images/var.png images/var_priv.png images/var_prot.png + images/func_priv_st.png + images/func_prot_st.png + images/func_st.png + images/var_priv_st.png + images/var_prot_st.png + images/var_st.png diff --git a/src/libs/cplusplus/images/func_priv_st.png b/src/libs/cplusplus/images/func_priv_st.png new file mode 100644 index 0000000000..1d6fa2da79 Binary files /dev/null and b/src/libs/cplusplus/images/func_priv_st.png differ diff --git a/src/libs/cplusplus/images/func_prot_st.png b/src/libs/cplusplus/images/func_prot_st.png new file mode 100644 index 0000000000..d023fe1fd2 Binary files /dev/null and b/src/libs/cplusplus/images/func_prot_st.png differ diff --git a/src/libs/cplusplus/images/func_st.png b/src/libs/cplusplus/images/func_st.png new file mode 100644 index 0000000000..05119102ed Binary files /dev/null and b/src/libs/cplusplus/images/func_st.png differ diff --git a/src/libs/cplusplus/images/static.png b/src/libs/cplusplus/images/static.png new file mode 100644 index 0000000000..12c244780d Binary files /dev/null and b/src/libs/cplusplus/images/static.png differ diff --git a/src/libs/cplusplus/images/var_priv_st.png b/src/libs/cplusplus/images/var_priv_st.png new file mode 100644 index 0000000000..81ef73f3f9 Binary files /dev/null and b/src/libs/cplusplus/images/var_priv_st.png differ diff --git a/src/libs/cplusplus/images/var_prot_st.png b/src/libs/cplusplus/images/var_prot_st.png new file mode 100644 index 0000000000..f078b2fd34 Binary files /dev/null and b/src/libs/cplusplus/images/var_prot_st.png differ diff --git a/src/libs/cplusplus/images/var_st.png b/src/libs/cplusplus/images/var_st.png new file mode 100644 index 0000000000..2070ca71b6 Binary files /dev/null and b/src/libs/cplusplus/images/var_st.png differ diff --git a/src/plugins/classview/classviewutils.cpp b/src/plugins/classview/classviewutils.cpp index df84c47291..009a98d645 100644 --- a/src/plugins/classview/classviewutils.cpp +++ b/src/plugins/classview/classviewutils.cpp @@ -54,6 +54,9 @@ const int IconSortOrder[] = { CPlusPlus::Icons::FuncPublicIconType, CPlusPlus::Icons::FuncProtectedIconType, CPlusPlus::Icons::FuncPrivateIconType, + CPlusPlus::Icons::FuncPublicStaticIconType, + CPlusPlus::Icons::FuncProtectedStaticIconType, + CPlusPlus::Icons::FuncPrivateStaticIconType, CPlusPlus::Icons::SignalIconType, CPlusPlus::Icons::SlotPublicIconType, CPlusPlus::Icons::SlotProtectedIconType, @@ -61,6 +64,9 @@ const int IconSortOrder[] = { CPlusPlus::Icons::VarPublicIconType, CPlusPlus::Icons::VarProtectedIconType, CPlusPlus::Icons::VarPrivateIconType, + CPlusPlus::Icons::VarPublicStaticIconType, + CPlusPlus::Icons::VarProtectedStaticIconType, + CPlusPlus::Icons::VarPrivateStaticIconType, CPlusPlus::Icons::EnumeratorIconType, CPlusPlus::Icons::KeywordIconType, CPlusPlus::Icons::MacroIconType, -- cgit v1.2.3