From f2e24ac144c8926cf3010faa8fbf46d3ae0c0eda Mon Sep 17 00:00:00 2001 From: Tobias Hunger Date: Mon, 14 Oct 2013 14:42:07 +0200 Subject: [PATCH] Qbs: Update icons used in Qbs project nodes Change-Id: I285a6102c0b7fefa7c4027d814654da640af39a9 Reviewed-by: Christian Kandeler Reviewed-by: Jake Petroules --- .../qbsprojectmanager/images/groups.png | Bin 0 -> 1223 bytes .../qbsprojectmanager/images/groups@2x.png | Bin 0 -> 1548 bytes .../qbsprojectmanager/images/productgear.png | Bin 0 -> 1152 bytes .../images/productgear@2x.png | Bin 0 -> 1453 bytes src/plugins/qbsprojectmanager/qbsnodes.cpp | 27 ++++++++++++------ .../qbsprojectmanager/qbsprojectmanager.pro | 3 ++ .../qbsprojectmanager/qbsprojectmanager.qbs | 1 + .../qbsprojectmanager/qbsprojectmanager.qrc | 8 ++++++ .../qbsprojectmanagerconstants.h | 4 +++ 9 files changed, 34 insertions(+), 9 deletions(-) create mode 100644 src/plugins/qbsprojectmanager/images/groups.png create mode 100644 src/plugins/qbsprojectmanager/images/groups@2x.png create mode 100644 src/plugins/qbsprojectmanager/images/productgear.png create mode 100644 src/plugins/qbsprojectmanager/images/productgear@2x.png create mode 100644 src/plugins/qbsprojectmanager/qbsprojectmanager.qrc diff --git a/src/plugins/qbsprojectmanager/images/groups.png b/src/plugins/qbsprojectmanager/images/groups.png new file mode 100644 index 0000000000000000000000000000000000000000..96388c0e228bae46566f6a2b55f0ff00de6f8605 GIT binary patch literal 1223 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7BuiW)N`mv#O3D+9QW+dm z@{>{(JaZG%Q-e|yQz{EjrrIztFso#SM3hAM`dB6B=jtVb)aX^@7BGN-jeSKyVsdtB zi9%9pdS;%j()-=}l@u~lY?Z=IeGPmIoKrJ0J*tXQgRA^PlB=?lEmM^2?G$V(tSWK~ za#KqZ6)JLb@`|l0Y?Z*~TICg6frRyy6u?SKvTcwn`GuBNuFf>#! zGt)CPF*P$Y)KM@pFf`IPFw!?L(={})GBvX@GFN~CB|8P1qLehNAQv~NT}3Hrwn`Z# zB?VUc`sL;2dgaD?`9+T7#d8;`MLTPi3R$GdIlgbLHwFq;OmQDX>KlDb#X~h zD#E>34K5C;EJ)Q4N-fSWElN%eN=;J+xv9X)xhOTUB)=#mKR*W+iUAq*lEl2^R8JRMrHb4Fz0AxMD+5b&Gh;(%GgkvkQ$s^n zBPU~1BR5N90|Qe-S2ts4H<(_R{N&Qy)Vvay-V}shbDVlXi2)QKRxYVUnPsUdZbkXI z3SduLW#V>=2~P8%dQ)(_#T2JreLDpkeNfaQMKw$)$i)rB1gA<+3bj)}B>mL96kDYt zC40L&J72wLU|_WLba4!^IGz0C|9^XC)fop@Tz+70_QvL9o#=$L6a|)&+h6{_-@WPE z|IXRb4{t1R{=fgS%W?a%zh&BupMLOO%(?WtUS>t+$&D-jo6n8rFv&Sv@4SHV_xg3e z^RGYuaD3PCGSxWdkXNM#*?jKZW;16=Vc?M7^7=pf$;YM+3!~U`93DS2+M#I7SMoQ$ zq~ue5%)`e97tIrf%Q~loCIAY_ BwQK+Y literal 0 HcmV?d00001 diff --git a/src/plugins/qbsprojectmanager/images/groups@2x.png b/src/plugins/qbsprojectmanager/images/groups@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..d03831830fb001ab1f832cd979a404e9c4c4765d GIT binary patch literal 1548 zcmeAS@N?(olHy`uVBq!ia0y~yU{C;I4mJh`hT^KKFANL}k|nMYCBgY=CFO}lsSJ)O z`AMk?p1FzXsX?iUDV2pMQ*9U+m{l@EB1$5BeXNr6bM+EIYV;~{3m8Da#=fE;F*!T6 zL?J0PJu}Z%>HY5gN(z}Nwo2iqz6QPp&Z!xh9#uuD!Bu`C$yM3OmMKd1b_zBXRu#Dg zxv3?I3Kh9IdBs*0wn|`gt@4VkK*IV;3ScEA*|tg$M@9GsC^+XAr7D=}8S5q+7#b>= znduptn3|ax>L?f)7#ist80j0B=^C0?nVMM{nJYknlAVH0QA(Oskc%7CuA-DQTcwPW zk^(Dz{qpj1y>er{{GxPyLrY6bkQqisxCgqow*eWSOjjhNnfE$}v3=O8_{9OHt!~%UoJp+)JAb!m)@b$&7G&dKny0|1L z72#g21{a4^7NqJ2r55Lx7A2qpN|XsiC2( zk(05hk(;Hlfq|)^tDCX28%(cDesXDUYF-IUZwf-M6HdLL!~hBqE0@%w%(B!Jx1#)9 z1+b^BGI6`b0;hRUy(zfeVu@3)zMX=NJ}7FDq8cU?R|Zh1w|~l74Dlimg(S zlD(bsrFYjE7?|ojT^vIq4j;XG-+OYP1p9|z0mVia7DdOFjx=xct@7XcTpOE8g=4SA z-c1oa*}YKAQza^R`!ktE`HM7npXjcW$WTi}ZzPH=(x$ZbaLvGrQWz1f;V?XTI%+{|waeupkb^N+8b(cryAKv{mBh~BH zoC2j6|4!QHf4I@E@yY6_cux)2;UCWxXLQ-O&TJJo*lol0K0NN=@qA%}|9`hK?D=WM z^RA(K>U_hBH;xwXM7a-a=Knj5gQe!DpkPPQ|Bo#8=^s-1G;;LXEcq&It|xa+U^rvq zF7r8a^`A8dCrd6`u+oEpZPDCm9Vrbi8FuIOum3&Vyr;SE#O`dSp3M2GN}>t^g>~w3 zb7EF=g!)ck+*$79P_XH!P-DZ_M^F3(%O)`XmgeVlcwMnrby4;yZrh1wFXn!9zJHrx z#T)kijSuVI?9OGH<@Wlr(xmq-r|K%Kwj62uz47}rXNEk!>l%t7-<`QLI!nJRFMp_T zMz6Q=-;yZK#M^amRvI&gx9Mpr=G^YTYtF^`An8YwkkaD6AFAu7SM|3Yt$VY|l<~Rz z++e308|9}iygWH)d7T5pxo`6Voo;NCziFzrVAXCXPRG0bjTr)LixoMJ?{ZfuU>y{(JaZG%Q-e|yQz{EjrrIztFso#SM3hAM`dB6B=jtVb)aX^@7BGN-jeSKyVsdtB zi9%9pdS;%j()-=}l@u~lY?Z=IeGPmIoKrJ0J*tXQgRA^PlB=?lEmM^2?G$V(tSWK~ za#KqZ6)JLb@`|l0Y?Z*~TICg6frRyy6u?SKvTcwn`GuBNuFf>#! zGt)CPF*P$Y)KM@pFf`IPFw!?L(={})GBvX@GFN~CB|8P1qLehNAQv~NT}3Hrwn`Z# zB?VUc`sL;2dgaD?`9+T7#d8;`MLTPi3R$GdIlgbLHwFq;OmQDX>KlDb#X~h zD#E>34K5C;EJ)Q4N-fSWElN%eN=;J+xv9X)xhOTUB)=#mKR*W+iUAq*lEl2^R8JRMrHb4Fz0AxMD`Q7<0}FF=V^;$U7ehl= zBPU~1BR5N90|Qe-S2ts4H<(_R{N&Qy)Vvay-V}sh6P$WMi2)QKRxYVUnPsUdZbkXI z3SduLW#V>=Ax`t4dQ)(_#R#WfeLDpkeNfaQMKw$)$i)rB1gA<+3bj)}B>mL96kDYt zC3`!`eQTaFFfe@bba4!^IGz0C|9^XC)ftIb8V=?#@TeHC@nU}z?U2KCq|f1xP)G6u zt`36)MuGoqkNyYz;qFiuGGSPep(QY%A#;{o?Th~_b+`YMk1v1xf69htgJwO3k3KbQ zI_!_^h5vl}U;pvZ(f_`&&;RGY+|7{oz3Sax{?br+J7yI}v)p%<|No!5_}d`*f4u$Q z2mjl)6&vhRP}Ki3SE%a4|Ig3$|E*tV{kcB(apVSWHMTeGng5uJRPC74m_Djb@GTDR z|7XAb_qqSwzu*6xKeHY5gN(z}Nwo2iqz6QPp&Z!xh9#uuD!Bu`C$yM3OmMKd1b_zBXRu#Dg zxv3?I3Kh9IdBs*0wn|`gt@4VkK*IV;3ScEA*|tg$M@9GsC^+XAr7D=}8S5q+7#b>= znduptn3|ax>L?f)7#ist80j0B=^C0?nVMM{nJYknlAVH0QA(Oskc%7CuA-DQTcwPW zk^(Dz{qpj1y>er{{GxPyLrY6bkQqisxCgqow*eWSOjjhNnfE$}v3=O8_{9OHt!~%UoJp+)JAb!m)@b$&7G&dKny0|1L z72#g21{a4^7NqJ2r55Lx7A2k*k5FsiC2( zk(05hk(;Hlfq|)^tDCX28%(cDesXDUYF-IUZwf-MF;2ap!~hBqE0@%w%(B!Jx1#)9 z1+b^BGO@VD*wNg;!ra`{)xg39yIUZ7Q?R%Ns@DvsUVS?S8+}mJB1JV!D9FVP!~~~G zPztqEKqURtycAodA|-n}y_=^(7#Nu3JzX3_A`U12`2XMjutQQ?AbXEh!WG8Fd=jMx zRxqEq)WSANGOUoPP);D8AxYb0CzHZH#v@A|&NMHa>BV<~@zMVPo}v~m0cqxqiURxH zClxQ5%4{-0=U{6+lOemV^8y;k=dH>nG@BcLu z+5c~kdjD(wxovEB6+0c)aQjNnd1AGIDeH!O%6xxL+aLe$eLem^eoqDC@$LGyzw8g@ z+izl?;H=dj!+yts|Iy39_5dBXPNcihMh&pMLz$!#CxH1^ba{De6uE)0!l&J>Sd!?()^r^njY3 zD?i)BtUFw2zG;q{>rRGQ90%LZ`dV{sUvj#Vzl+)7BmZP(SK&!>c$e~RXp%HD{J?N$ z($b^qfifFbJu`_}cf3}A(;QaSn-@4c)*t3MEgJLx|H;GY3EuPU>i*RSzWew;ciZlN z`nr~!&zg@oX0l8Pn;`R{Z&FNwq^+y|39B}9@iTrlO}gSSs@EASU$iYXSodrHjt49@ zDhWS6{!M>i(zNWK`4m01>x^?Q2n9%X+@8p*FL3)qeb$eI|GPi+HG3bndHD6kG;wA_ zae>_ohVn;C87~O9DdZ_EGGcmY6&31MbKz9m1ZI @@ -67,16 +68,15 @@ static QString displayNameFromPath(const QString &path, const QString &base) return name; } -static QIcon generateIcon() +static QIcon generateIcon(const QString &overlay) { const QSize desiredSize = QSize(16, 16); - const QIcon projectBaseIcon(QString::fromLatin1(QtSupport::Constants::ICON_QT_PROJECT)); - const QPixmap projectPixmap = Core::FileIconProvider::overlayIcon(QStyle::SP_DirIcon, - projectBaseIcon, - desiredSize); + const QIcon overlayIcon(overlay); + const QPixmap pixmap + = Core::FileIconProvider::overlayIcon(QStyle::SP_DirIcon, overlayIcon, desiredSize); QIcon result; - result.addPixmap(projectPixmap); + result.addPixmap(pixmap); return result; } @@ -84,9 +84,9 @@ static QIcon generateIcon() namespace QbsProjectManager { namespace Internal { -QIcon QbsProjectNode::m_projectIcon = generateIcon(); -QIcon QbsProductNode::m_productIcon = QIcon(QString::fromLatin1(ProjectExplorer::Constants::ICON_REBUILD_SMALL)); -QIcon QbsGroupNode::m_groupIcon = QIcon(QString::fromLatin1(ProjectExplorer::Constants::ICON_BUILD_SMALL)); +QIcon QbsGroupNode::m_groupIcon; +QIcon QbsProjectNode::m_projectIcon; +QIcon QbsProductNode::m_productIcon; class FileTreeNode { public: @@ -327,6 +327,9 @@ QbsGroupNode::QbsGroupNode(const qbs::GroupData *grp, const QString &productPath QbsBaseProjectNode(QString()), m_qbsGroupData(0) { + if (m_groupIcon.isNull()) + m_groupIcon = QIcon(QString::fromLatin1(Constants::QBS_GROUP_ICON)); + setIcon(m_groupIcon); QbsFileNode *idx = new QbsFileNode(grp->location().fileName(), @@ -465,6 +468,9 @@ void QbsGroupNode::setupFolder(ProjectExplorer::FolderNode *root, QbsProductNode::QbsProductNode(const qbs::ProductData &prd) : QbsBaseProjectNode(prd.location().fileName()) { + if (m_productIcon.isNull()) + m_productIcon = generateIcon(QString::fromLatin1(Constants::QBS_PRODUCT_OVERLAY_ICON)); + setIcon(m_productIcon); ProjectExplorer::FileNode *idx = new QbsFileNode(prd.location().fileName(), @@ -650,6 +656,9 @@ const qbs::ProjectData QbsProjectNode::qbsProjectData() const void QbsProjectNode::ctor() { + if (m_projectIcon.isNull()) + m_projectIcon = generateIcon(QString::fromLatin1(QtSupport::Constants::ICON_QT_PROJECT)); + setIcon(m_projectIcon); addFileNodes(QList() << new ProjectExplorer::FileNode(path(), ProjectExplorer::ProjectFileType, false), this); diff --git a/src/plugins/qbsprojectmanager/qbsprojectmanager.pro b/src/plugins/qbsprojectmanager/qbsprojectmanager.pro index 8f8319e037a..47e40a1f226 100644 --- a/src/plugins/qbsprojectmanager/qbsprojectmanager.pro +++ b/src/plugins/qbsprojectmanager/qbsprojectmanager.pro @@ -62,3 +62,6 @@ FORMS = \ qbsbuildstepconfigwidget.ui \ qbscleanstepconfigwidget.ui \ qbsinstallstepconfigwidget.ui + +RESOURCES += \ + qbsprojectmanager.qrc diff --git a/src/plugins/qbsprojectmanager/qbsprojectmanager.qbs b/src/plugins/qbsprojectmanager/qbsprojectmanager.qbs index adb89690872..af2759e3174 100644 --- a/src/plugins/qbsprojectmanager/qbsprojectmanager.qbs +++ b/src/plugins/qbsprojectmanager/qbsprojectmanager.qbs @@ -57,6 +57,7 @@ QtcPlugin { cpp.dynamicLibraries: base.concat(externalQbsDynamicLibraries) files: [ + "qbsprojectmanager.qrc", "defaultpropertyprovider.cpp", "defaultpropertyprovider.h", "propertyprovider.h", diff --git a/src/plugins/qbsprojectmanager/qbsprojectmanager.qrc b/src/plugins/qbsprojectmanager/qbsprojectmanager.qrc new file mode 100644 index 00000000000..d313a995f17 --- /dev/null +++ b/src/plugins/qbsprojectmanager/qbsprojectmanager.qrc @@ -0,0 +1,8 @@ + + + images/groups.png + images/groups@2x.png + images/productgear.png + images/productgear@2x.png + + diff --git a/src/plugins/qbsprojectmanager/qbsprojectmanagerconstants.h b/src/plugins/qbsprojectmanager/qbsprojectmanagerconstants.h index 2566214522e..7633c7fc883 100644 --- a/src/plugins/qbsprojectmanager/qbsprojectmanagerconstants.h +++ b/src/plugins/qbsprojectmanager/qbsprojectmanagerconstants.h @@ -63,6 +63,10 @@ static const char QBS_CONFIG_PROFILE_KEY[] = "qbs.profile"; static const char QBS_CONFIG_DECLARATIVE_DEBUG_KEY[] = "Qt.declarative.qmlDebugging"; static const char QBS_CONFIG_QUICK_DEBUG_KEY[] = "Qt.quick.qmlDebugging"; +// Icons: +static const char QBS_GROUP_ICON[] = ":/qbsprojectmanager/images/groups.png"; +static const char QBS_PRODUCT_OVERLAY_ICON[] = ":/qbsprojectmanager/images/productgear.png"; + } // namespace Constants } // namespace QbsProjectManager