summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlexander Izmailov <yarolig@gmail.com>2014-10-30 19:43:48 +0300
committerAlessandro Portale <alessandro.portale@theqtcompany.com>2015-06-22 11:27:48 +0000
commit398ad5a40a8d593a75f8e98df552bc49008dff88 (patch)
tree4f8fc17dd0fd4c12f5c666d911fd4db6628c0523
parentd6520122a2781e7ca54d255936c2e3f58797cb9c (diff)
downloadqt-creator-398ad5a40a8d593a75f8e98df552bc49008dff88.tar.gz
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 <alessandro.portale@theqtcompany.com>
-rw-r--r--src/libs/cplusplus/Icons.cpp37
-rw-r--r--src/libs/cplusplus/Icons.h12
-rw-r--r--src/libs/cplusplus/cplusplus.qrc8
-rw-r--r--src/libs/cplusplus/images/func_priv_st.pngbin0 -> 685 bytes
-rw-r--r--src/libs/cplusplus/images/func_prot_st.pngbin0 -> 679 bytes
-rw-r--r--src/libs/cplusplus/images/func_st.pngbin0 -> 651 bytes
-rw-r--r--src/libs/cplusplus/images/static.pngbin0 -> 164 bytes
-rw-r--r--src/libs/cplusplus/images/var_priv_st.pngbin0 -> 676 bytes
-rw-r--r--src/libs/cplusplus/images/var_prot_st.pngbin0 -> 658 bytes
-rw-r--r--src/libs/cplusplus/images/var_st.pngbin0 -> 629 bytes
-rw-r--r--src/plugins/classview/classviewutils.cpp6
11 files changed, 53 insertions, 10 deletions
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 @@
<RCC>
- <qresource prefix="/codemodel" >
+ <qresource prefix="/codemodel">
<file>images/class.png</file>
<file>images/struct.png</file>
<file>images/enum.png</file>
@@ -17,5 +17,11 @@
<file>images/var.png</file>
<file>images/var_priv.png</file>
<file>images/var_prot.png</file>
+ <file>images/func_priv_st.png</file>
+ <file>images/func_prot_st.png</file>
+ <file>images/func_st.png</file>
+ <file>images/var_priv_st.png</file>
+ <file>images/var_prot_st.png</file>
+ <file>images/var_st.png</file>
</qresource>
</RCC>
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
--- /dev/null
+++ b/src/libs/cplusplus/images/func_priv_st.png
Binary files 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
--- /dev/null
+++ b/src/libs/cplusplus/images/func_prot_st.png
Binary files 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
--- /dev/null
+++ b/src/libs/cplusplus/images/func_st.png
Binary files differ
diff --git a/src/libs/cplusplus/images/static.png b/src/libs/cplusplus/images/static.png
new file mode 100644
index 0000000000..12c244780d
--- /dev/null
+++ b/src/libs/cplusplus/images/static.png
Binary files 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
--- /dev/null
+++ b/src/libs/cplusplus/images/var_priv_st.png
Binary files 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
--- /dev/null
+++ b/src/libs/cplusplus/images/var_prot_st.png
Binary files 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
--- /dev/null
+++ b/src/libs/cplusplus/images/var_st.png
Binary files 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,