From 3779147ffc1b5876565dfb85c0219e65111ee0c9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Morten=20Johan=20S=C3=B8rvig?= <morten.sorvig@digia.com> Date: Wed, 16 Jan 2013 22:06:59 +0100 Subject: [PATCH] Add 2x icons for retina displays. This change updates the mode selector/fancyactionbar in Qt Creator with new high-resolution icons. Set Qt::AA_UseHighDpiImages on Qt 5.1 and higher to make QIcon generate high-dpi pixmaps. Add "@2x" mode images. Update StyleHelper::drawIconWithShadow to handle high-dpi pixmaps. The shadow-drawing algorithm is kept in device pixels. Change-Id: I411b7a24e534a2d75a1bbdc4d10219dcbea26bed Reviewed-by: Jens Bache-Wiig <jens.bache-wiig@digia.com> --- src/app/main.cpp | 4 +++ src/libs/utils/stylehelper.cpp | 32 +++++++++++++++--- src/libs/utils/stylehelper.h | 4 +-- src/plugins/analyzerbase/analyzerbase.qrc | 1 + .../analyzerbase/images/analyzer_mode@2x.png | Bin 0 -> 4194 bytes src/plugins/coreplugin/coreconstants.h | 1 + src/plugins/coreplugin/fancyactionbar.qrc | 5 +++ .../coreplugin/images/mode_Debug@2x.png | Bin 0 -> 6535 bytes .../coreplugin/images/mode_Design@2x.png | Bin 0 -> 6227 bytes .../coreplugin/images/mode_Edit@2x.png | Bin 0 -> 3157 bytes .../coreplugin/images/mode_Project@2x.png | Bin 0 -> 4227 bytes .../coreplugin/images/mode_Reference@2x.png | Bin 0 -> 5215 bytes src/plugins/welcome/welcomeplugin.cpp | 6 +++- 13 files changed, 45 insertions(+), 8 deletions(-) create mode 100644 src/plugins/analyzerbase/images/analyzer_mode@2x.png create mode 100644 src/plugins/coreplugin/images/mode_Debug@2x.png create mode 100644 src/plugins/coreplugin/images/mode_Design@2x.png create mode 100644 src/plugins/coreplugin/images/mode_Edit@2x.png create mode 100644 src/plugins/coreplugin/images/mode_Project@2x.png create mode 100644 src/plugins/coreplugin/images/mode_Reference@2x.png diff --git a/src/app/main.cpp b/src/app/main.cpp index c7fe2c623cc..f9b2cd747a0 100644 --- a/src/app/main.cpp +++ b/src/app/main.cpp @@ -307,6 +307,10 @@ int main(int argc, char **argv) QtSystemExceptionHandler systemExceptionHandler; #endif +#if QT_VERSION >= 0x050100 + app.setAttribute(Qt::AA_UseHighDpiPixmaps); +#endif + // Manually determine -settingspath command line option // We can't use the regular way of the plugin manager, because that needs to parse pluginspecs // but the settings path can influence which plugins are enabled diff --git a/src/libs/utils/stylehelper.cpp b/src/libs/utils/stylehelper.cpp index 5d7285c5baa..0bb8327d44e 100644 --- a/src/libs/utils/stylehelper.cpp +++ b/src/libs/utils/stylehelper.cpp @@ -35,6 +35,7 @@ #include <QPainter> #include <QApplication> #include <QStyleOption> +#include <qmath.h> // Clamps float color values within (0, 255) static int clamp(float x) @@ -363,15 +364,32 @@ void StyleHelper::menuGradient(QPainter *painter, const QRect &spanRect, const Q } } +static qreal pixmapDevicePixelRatio(const QPixmap &pixmap) +{ +#if QT_VERSION > 0x050000 + return pixmap.devicePixelRatio(); +#else + return 1.0; +#endif +} + // Draws a cached pixmap with shadow void StyleHelper::drawIconWithShadow(const QIcon &icon, const QRect &rect, - QPainter *p, QIcon::Mode iconMode, int radius, const QColor &color, const QPoint &offset) + QPainter *p, QIcon::Mode iconMode, int dipRadius, const QColor &color, const QPoint &dipOffset) { QPixmap cache; QString pixmapName = QString::fromLatin1("icon %0 %1 %2").arg(icon.cacheKey()).arg(iconMode).arg(rect.height()); if (!QPixmapCache::find(pixmapName, cache)) { + // High-dpi support: The in parameters (rect, radius, offset) are in + // device-independent pixels. The call to QIcon::pixmap() below might + // return a high-dpi pixmap, which will in that case have a devicePixelRatio + // different than 1. The shadow drawing caluculations are done in device + // pixels. QPixmap px = icon.pixmap(rect.size()); + int devicePixelRatio = qCeil(pixmapDevicePixelRatio(px)); + int radius = dipRadius * devicePixelRatio; + QPoint offset = dipOffset * devicePixelRatio; cache = QPixmap(px.size() + QSize(radius * 2, radius * 2)); cache.fill(Qt::transparent); @@ -396,7 +414,7 @@ void StyleHelper::drawIconWithShadow(const QIcon &icon, const QRect &rect, QPainter tmpPainter(&tmp); tmpPainter.setCompositionMode(QPainter::CompositionMode_Source); - tmpPainter.drawPixmap(QPoint(radius, radius), px); + tmpPainter.drawPixmap(QRect(radius, radius, px.width(), px.height()), px); tmpPainter.end(); // blur the alpha channel @@ -423,13 +441,17 @@ void StyleHelper::drawIconWithShadow(const QIcon &icon, const QRect &rect, cachePainter.drawImage(QRect(0, 0, cache.rect().width(), cache.rect().height()), tmp); // Draw the actual pixmap... - cachePainter.drawPixmap(QPoint(radius, radius) + offset, px); + cachePainter.drawPixmap(QRect(QPoint(radius, radius) + offset, QSize(px.width(), px.height())), px); +#if QT_VERSION > 0x050000 + cache.setDevicePixelRatio(devicePixelRatio); +#endif QPixmapCache::insert(pixmapName, cache); } QRect targetRect = cache.rect(); - targetRect.moveCenter(rect.center()); - p->drawPixmap(targetRect.topLeft() - offset, cache); + targetRect.setSize(targetRect.size() / pixmapDevicePixelRatio(cache)); + targetRect.moveCenter(rect.center() - dipOffset); + p->drawPixmap(targetRect, cache); } // Draws a CSS-like border image where the defined borders are not stretched diff --git a/src/libs/utils/stylehelper.h b/src/libs/utils/stylehelper.h index 75be2220adc..39044d8aafb 100644 --- a/src/libs/utils/stylehelper.h +++ b/src/libs/utils/stylehelper.h @@ -83,8 +83,8 @@ public: static bool usePixmapCache() { return true; } static void drawIconWithShadow(const QIcon &icon, const QRect &rect, QPainter *p, QIcon::Mode iconMode, - int radius = 3, const QColor &color = QColor(0, 0, 0, 130), - const QPoint &offset = QPoint(1, -2)); + int dipRadius = 3, const QColor &color = QColor(0, 0, 0, 130), + const QPoint &dipOffset = QPoint(1, -2)); static void drawCornerImage(const QImage &img, QPainter *painter, QRect rect, int left = 0, int top = 0, int right = 0, int bottom = 0); diff --git a/src/plugins/analyzerbase/analyzerbase.qrc b/src/plugins/analyzerbase/analyzerbase.qrc index 679ef7db3df..12b8ad1f54e 100644 --- a/src/plugins/analyzerbase/analyzerbase.qrc +++ b/src/plugins/analyzerbase/analyzerbase.qrc @@ -1,6 +1,7 @@ <RCC> <qresource prefix="/"> <file>images/analyzer_mode.png</file> + <file>images/analyzer_mode@2x.png</file> <file>images/analyzer_category.png</file> <file>images/analyzer_start_small.png</file> </qresource> diff --git a/src/plugins/analyzerbase/images/analyzer_mode@2x.png b/src/plugins/analyzerbase/images/analyzer_mode@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..af8b8dea8c10643b393bf6ab5d16c62a377098ee GIT binary patch literal 4194 zcmbVPc{r5&+aD8>E#Ww}YK%z2%ov6l>oC@Ahp`qJV=yvi%nW8^8I&anNt*~MI<|ze zgzS=aT1Y3mQubX*e&d|edEfWC&h`7_eXi&EZqNO>@6Ww_pC!@G#!QG`njZiF2w9k8 z>^Z&R-o?kuX@4gMjc__Cx`_+jf$T#M#Zd_Wv^Uv{0J0$Ad<pghoHsM*1wj`8*yl&Y zy3k#$tx$L}Ne#CrqsAanIA{Ps*MLF6;m;B1ATNS1F;EY@Sl0*!5xw=m&YIRxYl<<! zk7yo7B{+oHVDVw+@JMg4fj&r=f#N725$HG&gA@=*LoxKgf9geX#(T>UFz8Pa`Z+!D zU!+{D?Lfw4DgmUa23N&HVK5K^p$5~?L?B=)Aay8A9RlT?2vwK{N)v%n*8=^0fH~Hv z-aaUMjOpLDI5R!4ADvD?K_H=_p=zOUH8Rx~0z)E^dpgwBRXGx>G-e<j$50KV$^X=V zA<*ztB85&Q2ZHuA;=IVgbUiSK>0d68DAv~hC=R6k9Vkx7APgJ@0#k!RNTfZ#{*<QC z?Fs)w<6os|SSE!4u_w^T!BjjaA3pLw!JOFrcSC!E95yIhDv^^ETmXiQ4<-=;=@uA0 zFz1e%H_;nqiq<lP!L&4>TIx`QHVmc>)rO<dNI2R^Qv<Du*7&L8->@bc2#gWZ6pcWd zax!6}t_|n37<F~H3Eb2e14aDAS_IPQxIjGNr(Gh)?%!DCf5oDVsRSIIOvRGP0Y59i z&W}td)BMO3kg)>-q-2f569e}aPV6P<FMlxvDlvrMZAvARKz~LUMf?{AP)%(P>;LPy zi7C_s$%%mm2CfeN8|(f5i5i4M2C`Qk|EpYnE^%sbZ}?B~b0+_6A3`8!&rms=<LKkk zH2^>`)dGXYGKS|)yZgxw{-R&8T36>*R(a)qYn5spk$)q}T}yRGPHyc}?gLLg;sGJG zYY&9-A;cyKk(j&oka+5a1H~x!+SJ1f?2m0tsVKRsTn(%RDL}U4D&fWB=?sPW(Yfy% zci`vELVbKgr;B6CO9Y&0i*vWmFCsU;hi`V9A7~L-n7$f&{#gLOrvqS<F))*or{r#+ zyZ+jttA_Szfx&BLYC1OcBHcaPLpw_K)X6J{b)1IlLKoHC2TSU3HzG#M?jmVE-)08x zZFF^68cFh77_kBC^_wH-1H8N@78zv}t%s-;=KMrk(%G=J0W%0*tCI~_+21}hGn0fC z5nnK(-7Ul_8#K+XZf`CgUudZWV2gPi9XE3U3zqTmZuK`1On?6_TRxWTNKsjXCGZiu zyRWCG=@g`%`;EV*&SgL8!W!8NTe7#Vo}n=e0_6`&-DU^Xt}J5v5lum|cG!#?61<U7 zKD_<&BlR-b5gV={F?nNKydL!85HLUenO+ITBtA`YrZY{R@|k_#L-gXxjt&}a>h^}m za31#nld*lD^qyHB7=aAB+f{XL&;>A8)nUNXFl#vb(JN}PK^QeLJALEq^{iYrELcH~ zRp}sp|6Ra_w+Hm*QK^<9-bhm7HdR47S%dribUA4zO!v_*29Zw&{Fb&#XWJ*G-%2b| zt^I`TKCSoXe%gQQuFdJs&0N$pYZg|$sMAW~(&^<((mAuRioC8J_H~lTw?gIyzW~cB z$-j2SM@rM=uwUP7uDpkL<m2$n>xbam`l&v4uaZ<)k=<r=9($Q1li$CtKB}#i&SVK% zVM|zR3!Z#MAA{za=;{W<)n0MKxUOS2ZQ=g6+g$EfTmUV&Ivw&qi6~MaN_=>E+u4k3 z>-Qe~rSq<4A;0h#(q|KP^}b5^0be@_iIphsk0Xvx2zr}$ytwBk`wlo7@eLUg7sbR$ zYdAuSV*@44%O-7zcG4gCQ^L3T7Q%#jBPh{3c4`GdQ#~gxTlyiCu9=Q)8*D37p0?KB z$h<dpuMgBA6^D&2Os3yoQPSOcbvO2d|MR5AEv}2ehCU6K7lT{TNoi({!D8kHo`EOi zjTJ9nwg$-IjbF;AGogY4m+r%=qdJ5i)JOHnd(JSu|G>1Df5G@d-4ptp729#AruBz5 zzkae)QcSt^QtC`>j!^U>%Mt6j-8(;4!xg^qJf&%KxHCcMh(}^vX~U=~m&+sk<}v@P z0+Z=y6SEH{yiF_(6dUfz%yAno5df8_mwW*){(iQ|r?8P{_j^ZE=fkY?Syje`^&>%- zs@#N1yL*g#+OtS1Em0%ij4$sq+?wjWCe3dPzZ>tgqi9vXV>H)V$aZUWG|O%H@f`6; z#_?w4ZW&SdEx7G%2~=rPbBNo1-0BJWcEI?G(Hys?wMqNnO>&hR6b|p{?v2n$siPj& zG)h6+ZT_KuCaZxzc^H^tY;%%Nyfkg!y%4_AS23qPL5yj^`c0HFbLh1LYpZi~&C5Um zL#Va$zWLEr-J99jS3a+PJ=Do#{aP9x4R|%|E0?t>!ITZVB3WR$Heor-Mm^9j6eIy% zr9n@Ho~+LtfvHJEjyGRyrHS(xLHc%7KH{s|D4%cf<Ue&u!1DNu8;xB&cZ`v=xbCo; zdymBzR9|WM79hvEbxX=asp=tH618x>U}I#5fi^D)ow)$D-~*~&@;!0pBUXOF7k2!6 z`|$@{#T$iOai#6uV$XAxZ>Aj7=RQ*z$dw;z*J3U|gDExA$F|LadyGl%C_?69>uf-f zrnOOE%}v*sr_Dz@1qL+)CLd>ruv8MX(b3YNnVIY%6KOb3+4K;xCz?f65=+(0Irm9t zytg$KqtCh{gRD<T)cn}yI0!xibpbe89lu%dM8rr%1d$Q08_$;}v%p<40K3!48d%;h z^4Zn%i(=6Ui@PH4n#c>2E)CEq0Dtnl-Mi@Dv*q7w4w=%1)RL2%1{+tA+=%V*>bwb8 zkI7N&?Q9V_@KZoq=5PID<sAp}dKNok#iEbwFM3(1*7_v=&AKd9Ktgx<9whet58(I6 zWm5iADG+lj)6A1^yVSj9xqIA-HOw0$=2o0Io|u|*MaNs3x$(m(_j032UG*6U&wPz0 zkjXqqPc$ZO5NPx<!RBJxig&9n5-M(EgRYh~6}0C^6tMHCc0-TF25@z;ydQ*PN&V%w znOQx;MnWrX+t1NcpO~t4OHXC9wIiGf-WC?=xjg+IH7}H%_G{(-pp$Zj&;D2x>kk2L zjXpGJgLw#_PTOaqs<b0@dtHjLd$!RM+=Pj_82;j<-RZ38ih`&tLzX)DScXo`ybPrx zjLWC*NAkT3&jp&vl>9<$;Nb%gctF0PQ|2P^N(Dl+3ZcLP2d_LfS6g7E$ONKRH!N&H zg8eSpwE0Oo{^DiHOl>E8RkkGLBv`P7i}<l^K|oHMlxfSHU}OphEjI&EwYBawhRlJv z{APsH@pNX5Xco}s8QRr%N9d3tia%ezDfx>!yGpd~cGVc*S6N;gXS&ELA1)sAYptHt z+4sauo{XK-)#cJ4Rw^IaXkTGH1Fw)qn5`LOg}gllg$QG)&km-YKo7pe=FQn;>O~r0 zYjUMQiw*s}s4w5zQ1VTYNy!ocaGL80T2uIib&~$8f{MP+%dt5bl4XN`#BxKI<|)z# zx_)>PiHW~j1ylT$FU=C$YqKO3wC+SgwBB;xmMctI4`I~n8$u!7d2a48%kg$P^kA0A zfUk@9sOd+X$xT2!Iv=iAQD*sy;q)8NAZ)vNO9&R-Jml27>=>fkI%8{gtaIyb|M)ss z_eV?1KxWqcB*8EZqf6W|m6{+8d$ktl#vK#x<JulL$Y=o!sSxK3ROJHe_Xv(ZAJp%m z|NdkjI<;l21CJT9NIWE}@`W;UeiYcZKK5-wfpSODD@`$5l9X>EK2%Dx?5@=375QS1 zv{9c>8wVQOJLrCkt4@70tlU1UaOXAt=uqGY;HVVs7E#{ks$5WMqQJpN-z4jNk#d#? zP8mfjKZ%HI7M7GCM2E;<ZP9KFQ;2CgbGX!_K*%!tR_L&>c8P)?UP+M)Dz1o@Q(tq} zQ1~D@!u`xC-Eq{_9mDImq?4HP?wxCO_{Y(uF7j@ITW<6B_~W8VP<NRg<?8C8S@?0d zgIBZQ_3Qc=D1D!Ve%MLQV{KiNu2Yr4QysQUvZ)ZzP&#@^rBJYdtFqriKgXlY47lQU zd6~GfmLy#BE!;Cmw4hFftG_9(8@(aq`X=~vC*ve~v)mx9#!<;CB8+UFe%?dO5ozhk zUR?3I3iK<F=#qn+^H^C>cZYEGKjVt;&N<gmX&1l3<*IGy9nO^VBa0}e-|)IYU`^%$ zF7U3s+|LkohsdSY>e$3)d2FJI=0cs#T&~2R$8`ziiZ;a|l{nSt6L1JXxM&l^mE$j# z)%{F`8<sMOF&nde&3&OlG||GfWOzP=UUg#t>7VHQ2Y1GFtY9)u%Xw*P$g?&Q=vQ^U zsY<?9MJR_!R7J4gh3GBwGK?v#GfJB7O5zOI+Qo#qHy023y_Kl3l}0Oy%wKuM3<8$p zpSfmDGRTuOqFJVkOK`TaWb$2Y1-2_Y81GP2=FuWDbXhOT=^f{Ta7mG}wS?0S{vvLx z*89En_0-fcc+stEH;mu(EPiR8regc)N8L??iw6dN2-xej%9uMp^hUu4oM7Vd@+ii1 zz-w)Nec?Xc)$S!=4w+Q=;AOh4KGQi|TNA3PhP4Y<ULA`)IP#?JYWu*cU)jZa=Qmm- zR*-ce^Ip4@>8_0G#v>zd*Gr%ecV)=Wn$|-kRs<^JCOcA&e>-k-XH367HEml)l$S>W zbe2*lfTl1H=Rv}4%3ZA1w5$Nv=Jn_^B2W9W_0GTNwo}d+8*7RUxVm=W&P;k7`{fWn zsyF^<r1paEO~cg4yS>01yTPw=7@gauaiIkyUncYGlXC!=&1`Cm{JM$JwNk1<%LTQ9 z#yroXOT9Xa31r_7uL^8;)$)tI{U^SDWtKjz5W!c*6*-qFep}1EzvM_YSfBfnNpAQm zt(o4jQ&rYxAv06QUXIw_us)(q8H0ZfZ(tO}Bc~v(S!MOx3w1}k*-}SxC7g7`&stjo za||vhTe`fQazGjVwm_G%Ylw^Cu5Xe*m6M>{t+cZX^cD>>6H&yRO>H@>!i}5tW?!ob z?wWpVwyQC43c%v#7o7sF|F(SCqjP)zS`^U1!68@h(zTwbJI^{^J^&zi9-UxWbN%sZ cdKV}NNT^(%FTSHTy!Y2{VPeC1?Rv)i2OT6(F#rGn literal 0 HcmV?d00001 diff --git a/src/plugins/coreplugin/coreconstants.h b/src/plugins/coreplugin/coreconstants.h index ab257ca744d..eb234d3d866 100644 --- a/src/plugins/coreplugin/coreconstants.h +++ b/src/plugins/coreplugin/coreconstants.h @@ -204,6 +204,7 @@ const char ICON_CLOSE_SPLIT_RIGHT[] = ":/core/images/splitbutton_closeright.png const char ICON_FILTER[] = ":/core/images/filtericon.png"; const char ICON_LINK[] = ":/core/images/linkicon.png"; const char ICON_QTLOGO_32[] = ":/core/images/logo/32/QtProject-qtcreator.png"; +const char ICON_QTLOGO_64[] = ":/core/images/logo/64/QtProject-qtcreator.png"; const char ICON_QTLOGO_128[] = ":/core/images/logo/128/QtProject-qtcreator.png"; const char WIZARD_CATEGORY_QT[] = "R.Qt"; diff --git a/src/plugins/coreplugin/fancyactionbar.qrc b/src/plugins/coreplugin/fancyactionbar.qrc index c06c43e476d..cc1edb5ef34 100644 --- a/src/plugins/coreplugin/fancyactionbar.qrc +++ b/src/plugins/coreplugin/fancyactionbar.qrc @@ -1,10 +1,15 @@ <RCC> <qresource prefix="/fancyactionbar"> <file>images/mode_Debug.png</file> + <file>images/mode_Debug@2x.png</file> <file>images/mode_Edit.png</file> + <file>images/mode_Edit@2x.png</file> <file>images/mode_Output.png</file> <file>images/mode_Project.png</file> + <file>images/mode_Project@2x.png</file> <file>images/mode_Reference.png</file> + <file>images/mode_Reference@2x.png</file> <file>images/mode_Design.png</file> + <file>images/mode_Design@2x.png</file> </qresource> </RCC> diff --git a/src/plugins/coreplugin/images/mode_Debug@2x.png b/src/plugins/coreplugin/images/mode_Debug@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..0dc56c6d93c7825db6972f06f9c5d8d9cc4a6c73 GIT binary patch literal 6535 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 literal 0 HcmV?d00001 diff --git a/src/plugins/coreplugin/images/mode_Design@2x.png b/src/plugins/coreplugin/images/mode_Design@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..85e08c360b834c2e36f04431777329f24ce4cace GIT binary patch literal 6227 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 literal 0 HcmV?d00001 diff --git a/src/plugins/coreplugin/images/mode_Edit@2x.png b/src/plugins/coreplugin/images/mode_Edit@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..d223679dc36605d6f16ef8899cf7f87b2d3a41f1 GIT binary patch literal 3157 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 QZT{#x*f>!tt$Y&y4V%zZbN~PV literal 0 HcmV?d00001 diff --git a/src/plugins/coreplugin/images/mode_Project@2x.png b/src/plugins/coreplugin/images/mode_Project@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..f0b7fdae0efaf3abcd4fdd1f04e1eb02c951b418 GIT binary patch literal 4227 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 G$o~M?CSKtH literal 0 HcmV?d00001 diff --git a/src/plugins/coreplugin/images/mode_Reference@2x.png b/src/plugins/coreplugin/images/mode_Reference@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..ae8db24fd7521aa80701ce25ebc7d603bf74be9c GIT binary patch literal 5215 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 SSKT@L<)@=z2rpN22>Taf@J&wu literal 0 HcmV?d00001 diff --git a/src/plugins/welcome/welcomeplugin.cpp b/src/plugins/welcome/welcomeplugin.cpp index bf8fdf9e946..36c53cda764 100644 --- a/src/plugins/welcome/welcomeplugin.cpp +++ b/src/plugins/welcome/welcomeplugin.cpp @@ -136,7 +136,11 @@ WelcomeMode::WelcomeMode() : , m_networkAccessManagerFactory(new NetworkAccessManagerFactory) { setDisplayName(tr("Welcome")); - setIcon(QIcon(QLatin1String(Core::Constants::ICON_QTLOGO_32))); + QIcon qtLogo; + qtLogo.addFile(QLatin1String(Core::Constants::ICON_QTLOGO_32)); + qtLogo.addFile(QLatin1String(Core::Constants::ICON_QTLOGO_64)); + qtLogo.addFile(QLatin1String(Core::Constants::ICON_QTLOGO_128)); + setIcon(qtLogo); setPriority(Core::Constants::P_MODE_WELCOME); setId(Core::Constants::MODE_WELCOME); setType(Core::Constants::MODE_WELCOME_TYPE); -- GitLab