diff options
author | Eike Ziller <eike.ziller@theqtcompany.com> | 2016-04-12 10:43:10 +0200 |
---|---|---|
committer | Eike Ziller <eike.ziller@theqtcompany.com> | 2016-04-12 11:34:46 +0200 |
commit | 5c874322603444ef02bd578ae302c03a9b1cd034 (patch) | |
tree | 6339db7c3a2683e18208e75895444f2d2d251ebe /src/libs | |
parent | 04acb9d643060811dbba8f66d807b2a7574c3a6f (diff) | |
parent | 8dadafb9e0a2fbb49ab08b9eea0ff307088ba3f8 (diff) | |
download | qt-creator-5c874322603444ef02bd578ae302c03a9b1cd034.tar.gz |
Merge remote-tracking branch 'origin/4.0'
Conflicts:
src/plugins/qmldesigner/components/propertyeditor/propertyeditorqmlbackend.cpp
Change-Id: I6ae2d37290643d69390f679a54f7596782f3d97f
Diffstat (limited to 'src/libs')
73 files changed, 280 insertions, 209 deletions
diff --git a/src/libs/cplusplus/Icons.cpp b/src/libs/cplusplus/Icons.cpp index 6141840c30..7a539c67eb 100644 --- a/src/libs/cplusplus/Icons.cpp +++ b/src/libs/cplusplus/Icons.cpp @@ -30,49 +30,24 @@ #include <cplusplus/Symbols.h> #include <cplusplus/Type.h> +#include <utils/icon.h> + using namespace CPlusPlus; 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")), - _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")), - _slotPrivateIcon(QLatin1String(":/codemodel/images/slot_priv.png")), - _keywordIcon(QLatin1String(":/codemodel/images/keyword.png")), - _macroIcon(QLatin1String(":/codemodel/images/macro.png")) -{ -} - -QIcon Icons::iconForSymbol(const Symbol *symbol) const +QIcon Icons::iconForSymbol(const Symbol *symbol) { return iconForType(iconTypeForSymbol(symbol)); } -QIcon Icons::keywordIcon() const +QIcon Icons::keywordIcon() { - return _keywordIcon; + return iconForType(KeywordIconType); } -QIcon Icons::macroIcon() const +QIcon Icons::macroIcon() { - return _macroIcon; + return iconForType(MacroIconType); } Icons::IconType Icons::iconTypeForSymbol(const Symbol *symbol) @@ -141,55 +116,181 @@ Icons::IconType Icons::iconTypeForSymbol(const Symbol *symbol) return UnknownIconType; } -QIcon Icons::iconForType(IconType type) const +QIcon Icons::iconForType(IconType type) { + using namespace Utils; + + static const IconMaskAndColor classRelationIcon { + QLatin1String(":/codemodel/images/classrelation.png"), Theme::IconsCodeModelOverlayForegroundColor}; + static const IconMaskAndColor classRelationBackgroundIcon { + QLatin1String(":/codemodel/images/classrelationbackground.png"), Theme::IconsCodeModelOverlayBackgroundColor}; + static const IconMaskAndColor classMemberFunctionIcon { + QLatin1String(":/codemodel/images/classmemberfunction.png"), Theme::IconsCodeModelFunctionColor}; + static const IconMaskAndColor classMemberVariableIcon { + QLatin1String(":/codemodel/images/classmembervariable.png"), Theme::IconsCodeModelVariableColor}; + static const IconMaskAndColor functionIcon { + QLatin1String(":/codemodel/images/member.png"), Theme::IconsCodeModelFunctionColor}; + static const IconMaskAndColor variableIcon { + QLatin1String(":/codemodel/images/member.png"), Theme::IconsCodeModelVariableColor}; + static const IconMaskAndColor signalIcon { + QLatin1String(":/codemodel/images/signal.png"), Theme::IconsCodeModelFunctionColor}; + static const IconMaskAndColor slotIcon { + QLatin1String(":/codemodel/images/slot.png"), Theme::IconsCodeModelFunctionColor}; + static const IconMaskAndColor protectedIcon { + QLatin1String(":/codemodel/images/protected.png"), Theme::IconsCodeModelOverlayForegroundColor}; + static const IconMaskAndColor protectedBackgroundIcon { + QLatin1String(":/codemodel/images/protectedbackground.png"), Theme::IconsCodeModelOverlayBackgroundColor}; + static const IconMaskAndColor privateIcon { + QLatin1String(":/codemodel/images/private.png"), Theme::IconsCodeModelOverlayForegroundColor}; + static const IconMaskAndColor privateBackgroundIcon { + QLatin1String(":/codemodel/images/privatebackground.png"), Theme::IconsCodeModelOverlayBackgroundColor}; + static const IconMaskAndColor staticIcon { + QLatin1String(":/codemodel/images/static.png"), Theme::IconsCodeModelOverlayForegroundColor}; + static const IconMaskAndColor staticBackgroundIcon { + QLatin1String(":/codemodel/images/staticbackground.png"), Theme::IconsCodeModelOverlayBackgroundColor}; + switch (type) { - case ClassIconType: - return _classIcon; - case StructIconType: - return _structIcon; - case EnumIconType: - return _enumIcon; - case EnumeratorIconType: - return _enumeratorIcon; - case FuncPublicIconType: - return _funcPublicIcon; - case FuncProtectedIconType: - return _funcProtectedIcon; - case FuncPrivateIconType: - return _funcPrivateIcon; - case FuncPublicStaticIconType: - return _funcPublicStaticIcon; - case FuncProtectedStaticIconType: - return _funcProtectedStaticIcon; - case FuncPrivateStaticIconType: - return _funcPrivateStaticIcon; - case NamespaceIconType: - return _namespaceIcon; - case VarPublicIconType: - return _varPublicIcon; - case VarProtectedIconType: - return _varProtectedIcon; - case VarPrivateIconType: - return _varPrivateIcon; - case VarPublicStaticIconType: - return _varPublicStaticIcon; - case VarProtectedStaticIconType: - return _varProtectedStaticIcon; - case VarPrivateStaticIconType: - return _varPrivateStaticIcon; - case SignalIconType: - return _signalIcon; - case SlotPublicIconType: - return _slotPublicIcon; - case SlotProtectedIconType: - return _slotProtectedIcon; - case SlotPrivateIconType: - return _slotPrivateIcon; - case KeywordIconType: - return _keywordIcon; - case MacroIconType: - return _macroIcon; + case ClassIconType: { + const static QIcon icon(Icon({ + classRelationBackgroundIcon, classRelationIcon, + {QLatin1String(":/codemodel/images/classparent.png"), Theme::IconsCodeModelClassColor}, + classMemberFunctionIcon, classMemberVariableIcon + }, Icon::Tint).icon()); + return icon; + } + case StructIconType: { + const static QIcon icon(Icon({ + classRelationBackgroundIcon, classRelationIcon, + {QLatin1String(":/codemodel/images/classparent.png"), Theme::IconsCodeModelStructColor}, + classMemberFunctionIcon, classMemberVariableIcon + }, Icon::Tint).icon()); + return icon; + } + case EnumIconType: { + const static QIcon icon(Icon({ + {QLatin1String(":/codemodel/images/enum.png"), Theme::IconsCodeModelEnumColor} + }, Icon::Tint).icon()); + return icon; + } + case EnumeratorIconType: { + const static QIcon icon(Icon({ + {QLatin1String(":/codemodel/images/enumerator.png"), Theme::IconsCodeModelEnumColor} + }, Icon::Tint).icon()); + return icon; + } + case FuncPublicIconType: { + const static QIcon icon(Icon({ + functionIcon}, Icon::Tint).icon()); + return icon; + } + case FuncProtectedIconType: { + const static QIcon icon(Icon({ + functionIcon, protectedBackgroundIcon, protectedIcon + }, Icon::Tint).icon()); + return icon; + } + case FuncPrivateIconType: { + const static QIcon icon(Icon({ + functionIcon, privateBackgroundIcon, privateIcon + }, Icon::Tint).icon()); + return icon; + } + case FuncPublicStaticIconType: { + const static QIcon icon(Icon({ + functionIcon, staticBackgroundIcon, staticIcon + }, Icon::Tint).icon()); + return icon; + } + case FuncProtectedStaticIconType: { + const static QIcon icon(Icon({ + functionIcon, staticBackgroundIcon, staticIcon, protectedBackgroundIcon, protectedIcon + }, Icon::Tint).icon()); + return icon; + } + case FuncPrivateStaticIconType: { + const static QIcon icon(Icon({ + functionIcon, staticBackgroundIcon, staticIcon, privateBackgroundIcon, privateIcon + }, Icon::Tint).icon()); + return icon; + } + case NamespaceIconType: { + const static QIcon icon(Icon({ + {QLatin1String(":/codemodel/images/namespace.png"), Theme::IconsCodeModelKeywordColor} + }, Icon::Tint).icon()); + return icon; + } + case VarPublicIconType: { + const static QIcon icon(Icon({ + variableIcon + }, Icon::Tint).icon()); + return icon; + } + case VarProtectedIconType: { + const static QIcon icon(Icon({ + variableIcon, protectedBackgroundIcon, protectedIcon + }, Icon::Tint).icon()); + return icon; + } + case VarPrivateIconType: { + const static QIcon icon(Icon({ + variableIcon, privateBackgroundIcon, privateIcon + }, Icon::Tint).icon()); + return icon; + } + case VarPublicStaticIconType: { + const static QIcon icon(Icon({ + variableIcon, staticBackgroundIcon, staticIcon + }, Icon::Tint).icon()); + return icon; + } + case VarProtectedStaticIconType: { + const static QIcon icon(Icon({ + variableIcon, staticBackgroundIcon, staticIcon, protectedBackgroundIcon, protectedIcon + }, Icon::Tint).icon()); + return icon; + } + case VarPrivateStaticIconType: { + const static QIcon icon(Icon({ + variableIcon, staticBackgroundIcon, staticIcon, privateBackgroundIcon, privateIcon + }, Icon::Tint).icon()); + return icon; + } + case SignalIconType: { + const static QIcon icon(Icon({ + signalIcon + }, Icon::Tint).icon()); + return icon; + } + case SlotPublicIconType: { + const static QIcon icon(Icon({ + slotIcon + }, Icon::Tint).icon()); + return icon; + } + case SlotProtectedIconType: { + const static QIcon icon(Icon({ + slotIcon, protectedBackgroundIcon, protectedIcon + }, Icon::Tint).icon()); + return icon; + } + case SlotPrivateIconType: { + const static QIcon icon(Icon({ + slotIcon, privateBackgroundIcon, privateIcon + }, Icon::Tint).icon()); + return icon; + } + case KeywordIconType: { + const static QIcon icon(Icon({ + {QLatin1String(":/codemodel/images/keyword.png"), Theme::IconsCodeModelKeywordColor} + }, Icon::Tint).icon()); + return icon; + } + case MacroIconType: { + const static QIcon icon(Icon({ + {QLatin1String(":/codemodel/images/macro.png"), Theme::IconsCodeModelMacroColor} + }, Icon::Tint).icon()); + return icon; + } default: break; } diff --git a/src/libs/cplusplus/Icons.h b/src/libs/cplusplus/Icons.h index 51c550aae7..2b8ce0beee 100644 --- a/src/libs/cplusplus/Icons.h +++ b/src/libs/cplusplus/Icons.h @@ -36,12 +36,10 @@ class Symbol; class CPLUSPLUS_EXPORT Icons { public: - Icons(); + static QIcon iconForSymbol(const Symbol *symbol); - QIcon iconForSymbol(const Symbol *symbol) const; - - QIcon keywordIcon() const; - QIcon macroIcon() const; + static QIcon keywordIcon(); + static QIcon macroIcon(); enum IconType { ClassIconType = 0, @@ -71,32 +69,10 @@ public: }; static IconType iconTypeForSymbol(const Symbol *symbol); - QIcon iconForType(IconType type) const; + static QIcon iconForType(IconType type); private: - QIcon _classIcon; - QIcon _structIcon; - QIcon _enumIcon; - QIcon _enumeratorIcon; - 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; - QIcon _slotPrivateIcon; - QIcon _keywordIcon; - QIcon _macroIcon; + Icons() {} }; } // namespace CPlusPlus diff --git a/src/libs/cplusplus/OverviewModel.cpp b/src/libs/cplusplus/OverviewModel.cpp index be389ab5fb..f37d5456ef 100644 --- a/src/libs/cplusplus/OverviewModel.cpp +++ b/src/libs/cplusplus/OverviewModel.cpp @@ -27,6 +27,7 @@ #include "Overview.h" +#include <cplusplus/Icons.h> #include <cplusplus/Scope.h> #include <cplusplus/Literals.h> #include <cplusplus/Symbols.h> @@ -210,7 +211,7 @@ QVariant OverviewModel::data(const QModelIndex &index, int role) const case Qt::DecorationRole: { Symbol *symbol = static_cast<Symbol *>(index.internalPointer()); - return _icons.iconForSymbol(symbol); + return Icons::iconForSymbol(symbol); } break; case FileNameRole: { diff --git a/src/libs/cplusplus/OverviewModel.h b/src/libs/cplusplus/OverviewModel.h index bd558b8244..5b958e0ef5 100644 --- a/src/libs/cplusplus/OverviewModel.h +++ b/src/libs/cplusplus/OverviewModel.h @@ -27,7 +27,6 @@ #include "CppDocument.h" #include "Overview.h" -#include "Icons.h" #include <QAbstractItemModel> @@ -72,7 +71,6 @@ private: private: Document::Ptr _cppDocument; Overview _overview; - Icons _icons; }; } // namespace CPlusPlus diff --git a/src/libs/cplusplus/cplusplus.qbs b/src/libs/cplusplus/cplusplus.qbs index dd4012d633..8d7c38c883 100644 --- a/src/libs/cplusplus/cplusplus.qbs +++ b/src/libs/cplusplus/cplusplus.qbs @@ -126,30 +126,6 @@ QtcLibrary { ] } - Group { - name: "Images" - prefix: "images/" - files: [ - "class.png", - "struct.png", - "enum.png", - "enumerator.png", - "func.png", - "func_priv.png", - "func_prot.png", - "keyword.png", - "macro.png", - "namespace.png", - "signal.png", - "slot.png", - "slot_priv.png", - "slot_prot.png", - "var.png", - "var_priv.png", - "var_prot.png", - ] - } - Export { cpp.includePaths: [ "../3rdparty" diff --git a/src/libs/cplusplus/cplusplus.qrc b/src/libs/cplusplus/cplusplus.qrc index 9b5812d83c..d0135fdee8 100644 --- a/src/libs/cplusplus/cplusplus.qrc +++ b/src/libs/cplusplus/cplusplus.qrc @@ -1,27 +1,42 @@ <RCC> <qresource prefix="/codemodel"> - <file>images/class.png</file> - <file>images/struct.png</file> <file>images/enum.png</file> + <file>images/enum@2x.png</file> <file>images/enumerator.png</file> - <file>images/func.png</file> - <file>images/func_priv.png</file> - <file>images/func_prot.png</file> + <file>images/enumerator@2x.png</file> <file>images/keyword.png</file> + <file>images/keyword@2x.png</file> <file>images/macro.png</file> + <file>images/macro@2x.png</file> <file>images/namespace.png</file> + <file>images/namespace@2x.png</file> <file>images/signal.png</file> + <file>images/signal@2x.png</file> <file>images/slot.png</file> - <file>images/slot_priv.png</file> - <file>images/slot_prot.png</file> - <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> + <file>images/slot@2x.png</file> + <file>images/member.png</file> + <file>images/member@2x.png</file> + <file>images/private.png</file> + <file>images/private@2x.png</file> + <file>images/privatebackground.png</file> + <file>images/privatebackground@2x.png</file> + <file>images/protected.png</file> + <file>images/protected@2x.png</file> + <file>images/protectedbackground.png</file> + <file>images/protectedbackground@2x.png</file> + <file>images/static.png</file> + <file>images/static@2x.png</file> + <file>images/staticbackground.png</file> + <file>images/staticbackground@2x.png</file> + <file>images/classmemberfunction.png</file> + <file>images/classmemberfunction@2x.png</file> + <file>images/classmembervariable.png</file> + <file>images/classmembervariable@2x.png</file> + <file>images/classparent.png</file> + <file>images/classparent@2x.png</file> + <file>images/classrelation.png</file> + <file>images/classrelation@2x.png</file> + <file>images/classrelationbackground.png</file> + <file>images/classrelationbackground@2x.png</file> </qresource> </RCC> diff --git a/src/libs/cplusplus/images/class.png b/src/libs/cplusplus/images/class.png Binary files differdeleted file mode 100644 index 88432d2cb1..0000000000 --- a/src/libs/cplusplus/images/class.png +++ /dev/null diff --git a/src/libs/cplusplus/images/classmemberfunction.png b/src/libs/cplusplus/images/classmemberfunction.png Binary files differnew file mode 100644 index 0000000000..f97d706e7f --- /dev/null +++ b/src/libs/cplusplus/images/classmemberfunction.png diff --git a/src/libs/cplusplus/images/classmemberfunction@2x.png b/src/libs/cplusplus/images/classmemberfunction@2x.png Binary files differnew file mode 100644 index 0000000000..f30e61336b --- /dev/null +++ b/src/libs/cplusplus/images/classmemberfunction@2x.png diff --git a/src/libs/cplusplus/images/classmembervariable.png b/src/libs/cplusplus/images/classmembervariable.png Binary files differnew file mode 100644 index 0000000000..82f8024b2e --- /dev/null +++ b/src/libs/cplusplus/images/classmembervariable.png diff --git a/src/libs/cplusplus/images/classmembervariable@2x.png b/src/libs/cplusplus/images/classmembervariable@2x.png Binary files differnew file mode 100644 index 0000000000..6f426c3a41 --- /dev/null +++ b/src/libs/cplusplus/images/classmembervariable@2x.png diff --git a/src/libs/cplusplus/images/classparent.png b/src/libs/cplusplus/images/classparent.png Binary files differnew file mode 100644 index 0000000000..19bb952842 --- /dev/null +++ b/src/libs/cplusplus/images/classparent.png diff --git a/src/libs/cplusplus/images/classparent@2x.png b/src/libs/cplusplus/images/classparent@2x.png Binary files differnew file mode 100644 index 0000000000..5ae4e36890 --- /dev/null +++ b/src/libs/cplusplus/images/classparent@2x.png diff --git a/src/libs/cplusplus/images/classrelation.png b/src/libs/cplusplus/images/classrelation.png Binary files differnew file mode 100644 index 0000000000..acf3c8e269 --- /dev/null +++ b/src/libs/cplusplus/images/classrelation.png diff --git a/src/libs/cplusplus/images/classrelation@2x.png b/src/libs/cplusplus/images/classrelation@2x.png Binary files differnew file mode 100644 index 0000000000..6da54dd223 --- /dev/null +++ b/src/libs/cplusplus/images/classrelation@2x.png diff --git a/src/libs/cplusplus/images/classrelationbackground.png b/src/libs/cplusplus/images/classrelationbackground.png Binary files differnew file mode 100644 index 0000000000..601c8b3321 --- /dev/null +++ b/src/libs/cplusplus/images/classrelationbackground.png diff --git a/src/libs/cplusplus/images/classrelationbackground@2x.png b/src/libs/cplusplus/images/classrelationbackground@2x.png Binary files differnew file mode 100644 index 0000000000..530e3d4c1e --- /dev/null +++ b/src/libs/cplusplus/images/classrelationbackground@2x.png diff --git a/src/libs/cplusplus/images/enum.png b/src/libs/cplusplus/images/enum.png Binary files differindex 42a9e83bc7..c769846370 100644 --- a/src/libs/cplusplus/images/enum.png +++ b/src/libs/cplusplus/images/enum.png diff --git a/src/libs/cplusplus/images/enum@2x.png b/src/libs/cplusplus/images/enum@2x.png Binary files differnew file mode 100644 index 0000000000..562ac461d3 --- /dev/null +++ b/src/libs/cplusplus/images/enum@2x.png diff --git a/src/libs/cplusplus/images/enumerator.png b/src/libs/cplusplus/images/enumerator.png Binary files differindex 25fc49c659..292f387ff5 100644 --- a/src/libs/cplusplus/images/enumerator.png +++ b/src/libs/cplusplus/images/enumerator.png diff --git a/src/libs/cplusplus/images/enumerator@2x.png b/src/libs/cplusplus/images/enumerator@2x.png Binary files differnew file mode 100644 index 0000000000..705e86be9e --- /dev/null +++ b/src/libs/cplusplus/images/enumerator@2x.png diff --git a/src/libs/cplusplus/images/func.png b/src/libs/cplusplus/images/func.png Binary files differdeleted file mode 100644 index e515e76e61..0000000000 --- a/src/libs/cplusplus/images/func.png +++ /dev/null diff --git a/src/libs/cplusplus/images/func_priv.png b/src/libs/cplusplus/images/func_priv.png Binary files differdeleted file mode 100644 index 49dda7dfea..0000000000 --- a/src/libs/cplusplus/images/func_priv.png +++ /dev/null diff --git a/src/libs/cplusplus/images/func_priv_st.png b/src/libs/cplusplus/images/func_priv_st.png Binary files differdeleted file mode 100644 index 1d6fa2da79..0000000000 --- a/src/libs/cplusplus/images/func_priv_st.png +++ /dev/null diff --git a/src/libs/cplusplus/images/func_prot.png b/src/libs/cplusplus/images/func_prot.png Binary files differdeleted file mode 100644 index f8add65e07..0000000000 --- a/src/libs/cplusplus/images/func_prot.png +++ /dev/null diff --git a/src/libs/cplusplus/images/func_prot_st.png b/src/libs/cplusplus/images/func_prot_st.png Binary files differdeleted file mode 100644 index d023fe1fd2..0000000000 --- a/src/libs/cplusplus/images/func_prot_st.png +++ /dev/null diff --git a/src/libs/cplusplus/images/func_st.png b/src/libs/cplusplus/images/func_st.png Binary files differdeleted file mode 100644 index 05119102ed..0000000000 --- a/src/libs/cplusplus/images/func_st.png +++ /dev/null diff --git a/src/libs/cplusplus/images/keyword.png b/src/libs/cplusplus/images/keyword.png Binary files differindex e5a51858d9..335e63eeaf 100644 --- a/src/libs/cplusplus/images/keyword.png +++ b/src/libs/cplusplus/images/keyword.png diff --git a/src/libs/cplusplus/images/keyword@2x.png b/src/libs/cplusplus/images/keyword@2x.png Binary files differnew file mode 100644 index 0000000000..bfbe3c49cb --- /dev/null +++ b/src/libs/cplusplus/images/keyword@2x.png diff --git a/src/libs/cplusplus/images/macro.png b/src/libs/cplusplus/images/macro.png Binary files differindex 4477647069..aa621fce04 100644 --- a/src/libs/cplusplus/images/macro.png +++ b/src/libs/cplusplus/images/macro.png diff --git a/src/libs/cplusplus/images/macro@2x.png b/src/libs/cplusplus/images/macro@2x.png Binary files differnew file mode 100644 index 0000000000..67b5938fc9 --- /dev/null +++ b/src/libs/cplusplus/images/macro@2x.png diff --git a/src/libs/cplusplus/images/member.png b/src/libs/cplusplus/images/member.png Binary files differnew file mode 100644 index 0000000000..e974865e93 --- /dev/null +++ b/src/libs/cplusplus/images/member.png diff --git a/src/libs/cplusplus/images/member@2x.png b/src/libs/cplusplus/images/member@2x.png Binary files differnew file mode 100644 index 0000000000..d0a22156c0 --- /dev/null +++ b/src/libs/cplusplus/images/member@2x.png diff --git a/src/libs/cplusplus/images/namespace.png b/src/libs/cplusplus/images/namespace.png Binary files differindex 18d2941572..b36b2a4acf 100644 --- a/src/libs/cplusplus/images/namespace.png +++ b/src/libs/cplusplus/images/namespace.png diff --git a/src/libs/cplusplus/images/namespace@2x.png b/src/libs/cplusplus/images/namespace@2x.png Binary files differnew file mode 100644 index 0000000000..81109db2b3 --- /dev/null +++ b/src/libs/cplusplus/images/namespace@2x.png diff --git a/src/libs/cplusplus/images/private.png b/src/libs/cplusplus/images/private.png Binary files differnew file mode 100644 index 0000000000..8e25668d80 --- /dev/null +++ b/src/libs/cplusplus/images/private.png diff --git a/src/libs/cplusplus/images/private@2x.png b/src/libs/cplusplus/images/private@2x.png Binary files differnew file mode 100644 index 0000000000..348785c1ba --- /dev/null +++ b/src/libs/cplusplus/images/private@2x.png diff --git a/src/libs/cplusplus/images/privatebackground.png b/src/libs/cplusplus/images/privatebackground.png Binary files differnew file mode 100644 index 0000000000..0c482e5e3b --- /dev/null +++ b/src/libs/cplusplus/images/privatebackground.png diff --git a/src/libs/cplusplus/images/privatebackground@2x.png b/src/libs/cplusplus/images/privatebackground@2x.png Binary files differnew file mode 100644 index 0000000000..e29934552e --- /dev/null +++ b/src/libs/cplusplus/images/privatebackground@2x.png diff --git a/src/libs/cplusplus/images/protected.png b/src/libs/cplusplus/images/protected.png Binary files differnew file mode 100644 index 0000000000..2c87cf2c09 --- /dev/null +++ b/src/libs/cplusplus/images/protected.png diff --git a/src/libs/cplusplus/images/protected@2x.png b/src/libs/cplusplus/images/protected@2x.png Binary files differnew file mode 100644 index 0000000000..ad1c62356c --- /dev/null +++ b/src/libs/cplusplus/images/protected@2x.png diff --git a/src/libs/cplusplus/images/protectedbackground.png b/src/libs/cplusplus/images/protectedbackground.png Binary files differnew file mode 100644 index 0000000000..d3c1b51334 --- /dev/null +++ b/src/libs/cplusplus/images/protectedbackground.png diff --git a/src/libs/cplusplus/images/protectedbackground@2x.png b/src/libs/cplusplus/images/protectedbackground@2x.png Binary files differnew file mode 100644 index 0000000000..3f129b5ce0 --- /dev/null +++ b/src/libs/cplusplus/images/protectedbackground@2x.png diff --git a/src/libs/cplusplus/images/signal.png b/src/libs/cplusplus/images/signal.png Binary files differindex 062b626182..ff712b8619 100644 --- a/src/libs/cplusplus/images/signal.png +++ b/src/libs/cplusplus/images/signal.png diff --git a/src/libs/cplusplus/images/signal@2x.png b/src/libs/cplusplus/images/signal@2x.png Binary files differnew file mode 100644 index 0000000000..241e3d7634 --- /dev/null +++ b/src/libs/cplusplus/images/signal@2x.png diff --git a/src/libs/cplusplus/images/slot.png b/src/libs/cplusplus/images/slot.png Binary files differindex f1591d2fdb..1c06b59727 100644 --- a/src/libs/cplusplus/images/slot.png +++ b/src/libs/cplusplus/images/slot.png diff --git a/src/libs/cplusplus/images/slot@2x.png b/src/libs/cplusplus/images/slot@2x.png Binary files differnew file mode 100644 index 0000000000..f1a96a773a --- /dev/null +++ b/src/libs/cplusplus/images/slot@2x.png diff --git a/src/libs/cplusplus/images/slot_priv.png b/src/libs/cplusplus/images/slot_priv.png Binary files differdeleted file mode 100644 index 3f5f62a5f6..0000000000 --- a/src/libs/cplusplus/images/slot_priv.png +++ /dev/null diff --git a/src/libs/cplusplus/images/slot_prot.png b/src/libs/cplusplus/images/slot_prot.png Binary files differdeleted file mode 100644 index 92a8682663..0000000000 --- a/src/libs/cplusplus/images/slot_prot.png +++ /dev/null diff --git a/src/libs/cplusplus/images/static.png b/src/libs/cplusplus/images/static.png Binary files differindex 12c244780d..988d55d825 100644 --- a/src/libs/cplusplus/images/static.png +++ b/src/libs/cplusplus/images/static.png diff --git a/src/libs/cplusplus/images/static@2x.png b/src/libs/cplusplus/images/static@2x.png Binary files differnew file mode 100644 index 0000000000..93b9d17751 --- /dev/null +++ b/src/libs/cplusplus/images/static@2x.png diff --git a/src/libs/cplusplus/images/staticbackground.png b/src/libs/cplusplus/images/staticbackground.png Binary files differnew file mode 100644 index 0000000000..314bace86a --- /dev/null +++ b/src/libs/cplusplus/images/staticbackground.png diff --git a/src/libs/cplusplus/images/staticbackground@2x.png b/src/libs/cplusplus/images/staticbackground@2x.png Binary files differnew file mode 100644 index 0000000000..912032dcae --- /dev/null +++ b/src/libs/cplusplus/images/staticbackground@2x.png diff --git a/src/libs/cplusplus/images/struct.png b/src/libs/cplusplus/images/struct.png Binary files differdeleted file mode 100644 index 4b613f68f9..0000000000 --- a/src/libs/cplusplus/images/struct.png +++ /dev/null diff --git a/src/libs/cplusplus/images/var.png b/src/libs/cplusplus/images/var.png Binary files differdeleted file mode 100644 index 089cfb45e5..0000000000 --- a/src/libs/cplusplus/images/var.png +++ /dev/null diff --git a/src/libs/cplusplus/images/var_priv.png b/src/libs/cplusplus/images/var_priv.png Binary files differdeleted file mode 100644 index 8c6cf64fe7..0000000000 --- a/src/libs/cplusplus/images/var_priv.png +++ /dev/null diff --git a/src/libs/cplusplus/images/var_priv_st.png b/src/libs/cplusplus/images/var_priv_st.png Binary files differdeleted file mode 100644 index 81ef73f3f9..0000000000 --- a/src/libs/cplusplus/images/var_priv_st.png +++ /dev/null diff --git a/src/libs/cplusplus/images/var_prot.png b/src/libs/cplusplus/images/var_prot.png Binary files differdeleted file mode 100644 index a7496aada0..0000000000 --- a/src/libs/cplusplus/images/var_prot.png +++ /dev/null diff --git a/src/libs/cplusplus/images/var_prot_st.png b/src/libs/cplusplus/images/var_prot_st.png Binary files differdeleted file mode 100644 index f078b2fd34..0000000000 --- a/src/libs/cplusplus/images/var_prot_st.png +++ /dev/null diff --git a/src/libs/cplusplus/images/var_st.png b/src/libs/cplusplus/images/var_st.png Binary files differdeleted file mode 100644 index 2070ca71b6..0000000000 --- a/src/libs/cplusplus/images/var_st.png +++ /dev/null diff --git a/src/libs/qmljs/images/element.png b/src/libs/qmljs/images/element.png Binary files differdeleted file mode 100644 index 88432d2cb1..0000000000 --- a/src/libs/qmljs/images/element.png +++ /dev/null diff --git a/src/libs/qmljs/images/func.png b/src/libs/qmljs/images/func.png Binary files differdeleted file mode 100644 index e515e76e61..0000000000 --- a/src/libs/qmljs/images/func.png +++ /dev/null diff --git a/src/libs/qmljs/images/property.png b/src/libs/qmljs/images/property.png Binary files differdeleted file mode 100644 index 089cfb45e5..0000000000 --- a/src/libs/qmljs/images/property.png +++ /dev/null diff --git a/src/libs/qmljs/images/publicmember.png b/src/libs/qmljs/images/publicmember.png Binary files differdeleted file mode 100644 index e515e76e61..0000000000 --- a/src/libs/qmljs/images/publicmember.png +++ /dev/null diff --git a/src/libs/qmljs/qmljs-lib.pri b/src/libs/qmljs/qmljs-lib.pri index bcdd88ef3f..020d402349 100644 --- a/src/libs/qmljs/qmljs-lib.pri +++ b/src/libs/qmljs/qmljs-lib.pri @@ -77,10 +77,6 @@ SOURCES += \ $$PWD/qmljsdescribevalue.cpp \ $$PWD/qmljsdialect.cpp - -RESOURCES += \ - $$PWD/qmljs.qrc - DISTFILES += \ $$PWD/parser/qmljs.g diff --git a/src/libs/qmljs/qmljs.qbs b/src/libs/qmljs/qmljs.qbs index a60c092b83..f8b89cc311 100644 --- a/src/libs/qmljs/qmljs.qbs +++ b/src/libs/qmljs/qmljs.qbs @@ -19,7 +19,6 @@ QtcLibrary { files: [ "jsoncheck.cpp", "jsoncheck.h", "persistenttrie.cpp", "persistenttrie.h", - "qmljs.qrc", "qmljs_global.h", "qmljsbind.cpp", "qmljsbind.h", "qmljsbundle.cpp", "qmljsbundle.h", @@ -60,17 +59,6 @@ QtcLibrary { } Group { - name: "Images" - prefix: "images/" - files: [ - "element.png", - "func.png", - "property.png", - "publicmember.png", - ] - } - - Group { name: "Parser" prefix: "parser/" files: [ diff --git a/src/libs/qmljs/qmljs.qrc b/src/libs/qmljs/qmljs.qrc deleted file mode 100644 index f7b88c2b24..0000000000 --- a/src/libs/qmljs/qmljs.qrc +++ /dev/null @@ -1,8 +0,0 @@ -<RCC> - <qresource prefix="/qmljs"> - <file>images/element.png</file> - <file>images/property.png</file> - <file>images/publicmember.png</file> - <file>images/func.png</file> - </qresource> -</RCC> diff --git a/src/libs/qmljs/qmljsicons.cpp b/src/libs/qmljs/qmljsicons.cpp index 2a2e8f3518..411c0d2c37 100644 --- a/src/libs/qmljs/qmljsicons.cpp +++ b/src/libs/qmljs/qmljsicons.cpp @@ -25,6 +25,8 @@ #include "qmljsicons.h" +#include <cplusplus/Icons.h> + #include <QDir> #include <QHash> #include <QIcon> @@ -47,10 +49,6 @@ Icons *Icons::m_instance = 0; class IconsPrivate { public: - QIcon elementIcon; - QIcon propertyIcon; - QIcon publicMemberIcon; - QIcon functionDeclarationIcon; QHash<QPair<QString,QString>,QIcon> iconHash; QString resourcePath; }; @@ -60,10 +58,6 @@ public: Icons::Icons() : d(new IconsPrivate) { - d->elementIcon = QIcon(QLatin1String(":/qmljs/images/element.png")); - d->propertyIcon = QIcon(QLatin1String(":/qmljs/images/property.png")); - d->publicMemberIcon = QIcon(QLatin1String(":/qmljs/images/publicmember.png")); - d->functionDeclarationIcon = QIcon(QLatin1String(":/qmljs/images/func.png")); } Icons::~Icons() @@ -117,7 +111,7 @@ QIcon Icons::icon(const QString &packageName, const QString typeName) const return d->iconHash.value(element); } -QIcon Icons::icon(Node *node) const +QIcon Icons::icon(Node *node) { if (dynamic_cast<AST::UiObjectDefinition*>(node)) return objectDefinitionIcon(); @@ -127,22 +121,22 @@ QIcon Icons::icon(Node *node) const return QIcon(); } -QIcon Icons::objectDefinitionIcon() const +QIcon Icons::objectDefinitionIcon() { - return d->elementIcon; + return CPlusPlus::Icons::iconForType(CPlusPlus::Icons::ClassIconType); } -QIcon Icons::scriptBindingIcon() const +QIcon Icons::scriptBindingIcon() { - return d->propertyIcon; + return CPlusPlus::Icons::iconForType(CPlusPlus::Icons::VarPublicIconType); } -QIcon Icons::publicMemberIcon() const +QIcon Icons::publicMemberIcon() { - return d->publicMemberIcon; + return CPlusPlus::Icons::iconForType(CPlusPlus::Icons::FuncPublicIconType); } -QIcon Icons::functionDeclarationIcon() const +QIcon Icons::functionDeclarationIcon() { - return d->functionDeclarationIcon; + return CPlusPlus::Icons::iconForType(CPlusPlus::Icons::FuncPublicIconType); } diff --git a/src/libs/qmljs/qmljsicons.h b/src/libs/qmljs/qmljsicons.h index 989e088ad1..1ff4cadf9d 100644 --- a/src/libs/qmljs/qmljsicons.h +++ b/src/libs/qmljs/qmljsicons.h @@ -44,12 +44,12 @@ public: void setIconFilesPath(const QString &iconPath); QIcon icon(const QString &packageName, const QString typeName) const; - QIcon icon(AST::Node *node) const; + static QIcon icon(AST::Node *node); - QIcon objectDefinitionIcon() const; - QIcon scriptBindingIcon() const; - QIcon publicMemberIcon() const; - QIcon functionDeclarationIcon() const; + static QIcon objectDefinitionIcon(); + static QIcon scriptBindingIcon(); + static QIcon publicMemberIcon(); + static QIcon functionDeclarationIcon(); private: Icons(); diff --git a/src/libs/qtcreatorcdbext/containers.cpp b/src/libs/qtcreatorcdbext/containers.cpp index f4446ea39d..e61fbd68e6 100644 --- a/src/libs/qtcreatorcdbext/containers.cpp +++ b/src/libs/qtcreatorcdbext/containers.cpp @@ -192,6 +192,7 @@ int containerSize(KnownType kt, const SymbolGroupValue &v) case KT_StdSet: case KT_StdMap: case KT_StdMultiMap: + case KT_StdValArray: case KT_StdList: if (const SymbolGroupValue size = SymbolGroupValue::findMember(v, "_Mysize")) return size.intValue(); @@ -349,29 +350,42 @@ static inline AbstractSymbolGroupNodePtrVector return AbstractSymbolGroupNodePtrVector(); } -// std::vector<T> + static inline AbstractSymbolGroupNodePtrVector - stdVectorChildList(SymbolGroupNode *n, unsigned count, const SymbolGroupValueContext &ctx) + arrayChildListHelper(SymbolGroupNode *n, unsigned count, const SymbolGroupValueContext &ctx, + std::string arrayMember) { if (!count) return AbstractSymbolGroupNodePtrVector(); - // MSVC2012 has 2 base classes, MSVC2010 1, MSVC2008 none - const SymbolGroupValue vec = SymbolGroupValue(n, ctx); - SymbolGroupValue myFirst = SymbolGroupValue::findMember(vec, "_Myfirst"); - if (!myFirst) + const SymbolGroupValue val = SymbolGroupValue(n, ctx); + SymbolGroupValue arrayPtr = SymbolGroupValue::findMember(val, arrayMember.c_str()); + if (!arrayPtr) return AbstractSymbolGroupNodePtrVector(); - // std::vector<T>: _Myfirst is a pointer of T*. Get address - // element to obtain address. - const ULONG64 address = myFirst.pointerValue(); + // arrayMember is a pointer of T*. Get address element to obtain address. + const ULONG64 address = arrayPtr.pointerValue(); if (!address) return AbstractSymbolGroupNodePtrVector(); - const std::string firstType = myFirst.type(); - const std::string innerType = fixInnerType(SymbolGroupValue::stripPointerType(firstType), vec); + const std::string firstType = arrayPtr.type(); + const std::string innerType = fixInnerType(SymbolGroupValue::stripPointerType(firstType), val); if (SymbolGroupValue::verbose) DebugPrint() << n->name() << " inner type: '" << innerType << "' from '" << firstType << '\''; return arrayChildList(n->symbolGroup(), address, n->module(), innerType, count); } +// std::vector<T> +static inline AbstractSymbolGroupNodePtrVector + stdVectorChildList(SymbolGroupNode *n, unsigned count, const SymbolGroupValueContext &ctx) +{ + return arrayChildListHelper(n, count, ctx, "_Myfirst"); +} + +// std::valarray<T> +static inline AbstractSymbolGroupNodePtrVector stdValArrayChildList( + SymbolGroupNode *n, unsigned count, const SymbolGroupValueContext &ctx) +{ + return arrayChildListHelper(n, count, ctx, "_Myptr"); +} + // Helper for std::deque<>: From the array of deque blocks, read out the values. template<class AddressType> AbstractSymbolGroupNodePtrVector @@ -1142,6 +1156,8 @@ AbstractSymbolGroupNodePtrVector containerChildren(SymbolGroupNode *node, int ty return stdListChildList(node, size , ctx); case KT_StdArray: return stdArrayChildList(node, size , ctx); + case KT_StdValArray: + return stdValArrayChildList(node, size , ctx); case KT_StdDeque: return stdDequeChildList(SymbolGroupValue(node, ctx), size); case KT_StdStack: diff --git a/src/libs/qtcreatorcdbext/knowntype.h b/src/libs/qtcreatorcdbext/knowntype.h index 6e4d9bf799..4b9f00099e 100644 --- a/src/libs/qtcreatorcdbext/knowntype.h +++ b/src/libs/qtcreatorcdbext/knowntype.h @@ -175,5 +175,6 @@ enum KnownType KT_StdSet = KT_STL_Type + KT_ContainerType + KT_HasSimpleDumper + 5, KT_StdMap = KT_STL_Type + KT_ContainerType + KT_HasSimpleDumper + 6, KT_StdMultiMap = KT_STL_Type + KT_ContainerType + KT_HasSimpleDumper + 7, - KT_StdArray = KT_STL_Type + KT_ContainerType + KT_HasSimpleDumper + 8 + KT_StdArray = KT_STL_Type + KT_ContainerType + KT_HasSimpleDumper + 8, + KT_StdValArray = KT_STL_Type + KT_ContainerType + KT_HasSimpleDumper + 9 }; diff --git a/src/libs/qtcreatorcdbext/symbolgroupvalue.cpp b/src/libs/qtcreatorcdbext/symbolgroupvalue.cpp index 8f829cc207..9fde18be18 100644 --- a/src/libs/qtcreatorcdbext/symbolgroupvalue.cpp +++ b/src/libs/qtcreatorcdbext/symbolgroupvalue.cpp @@ -1112,6 +1112,8 @@ static KnownType knownClassTypeHelper(const std::string &type, case 8: if (!type.compare(hPos, 8, "multimap")) return KT_StdMultiMap; + if (!type.compare(hPos, 8, "valarray")) + return KT_StdValArray; break; } } diff --git a/src/libs/utils/theme/theme.h b/src/libs/utils/theme/theme.h index e9727bb999..e25e2e7db6 100644 --- a/src/libs/utils/theme/theme.h +++ b/src/libs/utils/theme/theme.h @@ -150,6 +150,21 @@ public: IconsModeAnalyzeActiveColor, IconsModeHelpActiveColor, + /* Code model Icons */ + + IconsCodeModelKeywordColor, + IconsCodeModelClassColor, + IconsCodeModelStructColor, + IconsCodeModelFunctionColor, + IconsCodeModelVariableColor, + IconsCodeModelEnumColor, + IconsCodeModelMacroColor, + IconsCodeModelAttributeColor, + IconsCodeModelUniformColor, + IconsCodeModelVaryingColor, + IconsCodeModelOverlayBackgroundColor, + IconsCodeModelOverlayForegroundColor, + /* Output panes */ OutputPanes_DebugTextColor, |