From e37ca5c234208dddad7577864d2b919db042f534 Mon Sep 17 00:00:00 2001 From: Jens Bache-Wiig <jbache@trolltech.com> Date: Tue, 27 Apr 2010 21:06:38 +0200 Subject: [PATCH] Make targetselector translatable I made the buttons uniformly sized based on the largest of the two translated strings. Task-number: QTCREATORBUG-1286 Reviewed-by: ogoffart --- .../images/targetbuildselected.png | Bin 1359 -> 862 bytes .../images/targetrunselected.png | Bin 1305 -> 844 bytes .../images/targetunselected.png | Bin 1060 -> 381 bytes .../projectexplorer/targetselector.cpp | 66 ++++++++++++++---- src/plugins/projectexplorer/targetselector.h | 10 ++- 5 files changed, 59 insertions(+), 17 deletions(-) diff --git a/src/plugins/projectexplorer/images/targetbuildselected.png b/src/plugins/projectexplorer/images/targetbuildselected.png index f1cf44c08b97cd29655a9af67f07e772a195060a..a62e4956768cc080e403da343a243ad032866bce 100644 GIT binary patch delta 836 zcmV-K1H1gs3f=}GiBL{Q4GJ0x0000DNk~Le0001i0000h2nGNE0ADBT*pVR?3B~}% z0LFMTD|3-R7k>Z;bV*G`2igQ14mvq~+nCG%00Q1gL_t(|+U=arPU=7y#SgtLtsRu2 zNJv;1NKB-niHRo0x6v0+*KY3CH}Fw>1=c3)*g;SuF<J^OHJQ7@tG5-s{&#v#(oNgY z;hSI1cV+_3?Ck7FAp{J=0F_SZwryi>ZVsktvKncHz<)3dn5GHKvRI9@LI40#N=PYL zjkH2A0e}#sR~kz|(FrI*K(QTATpdts2h?8(CT>8{30Mtg0z$ym0mXJeCm;lbfDjM@ z217zXCm;lbfDjM@LcmPGOh5=;;smR!tJvJ!#M06d>h(G@nT#?8I668~Zc@WAL>Pt` z3<emDMt^UEpj0YhcXt;nD=YWsUh<(oMYe52N{M#6trP^NX~Hy3IF5rtp@7TFOGHsL z9fC<qc&O#&WgHwFKnS6<6@FGL{NHE1#chKiKoA7Dxw(PkIH*)A==FLCg5c$upj0Yh ze}7+j0A4#mAN7of6aQXgy1u@~-Q69^<uW>*PJf~!B({USy*&sao*c+~W`eH{q~FyE z-cz@?x6m{Vi;IiscDv6*;JWUk4DcN%ju5=g5p3IrWm&OY7lUAHYb#aDqqIN(0G{VT z2!Y{nI6V_I8Vy3AC<MOmBcIR5#u9Uag@uLGZI*nO_V&@^h@uF(uE!zx_r~#f3|-ej zeShuh;4>9-f=Pg2J5bMUbX`XjMbEc`R;z_dr9uc4gkWZ72EOmd#-cqegp?A^W;2z+ zFbzj8mxJedvGXw}I6FH-tJQ+*x^x1Cf?=UhfRqxx@5ins{^b1R<RtNC>St<pb{6yV z^SHRUNW88k*~a<#IgXEyF>k5`OsMIDgLlcJX*TPQ2$=xm^C8&1Ru#k4@p~>I%(f z6V+-J#bQy($u|rGr>Cdr_xnnHFUztZgg~)aL^hj6x7$S+hEFd|H#Rn8E|;779>ewZ zb!=~MqgJb7ZEa1df*l?nDhGEE1PH?rp6A83h@XUjFSAUy_+LZ{e*m-<lm=tNHw}LP O0000<MNUMnLSTXiadDCW delta 1337 zcmV-91;+Z`2G0s1iBL{Q4GJ0x0000DNk~Le0001O0000h2nGNE0CM>TCy^l*3I729 z0RN!9r<0LD7k>oeNkl<Zc-rk;O)N8A7(I%%I^$KQg!l_d>o=l)61uP<79|!oT{CtP zx)z}e7IrL%%}BcJ#!eTSSTrT+My*8J*ib1#gwD{a<bJD4nZEt1yqM&k<ffTBGk4}b zr_VXh+%}VEu~-PhFeof61cfqCpwsE_=g%K#G#VNWrGJoCSXc;+Mgy%@OQWF_(g1)E z0zwFlhEhmN5=Kc=4pcM*G}9<3X%ti*Y4u1!<&olJq$RVBf@T^8^)w1vJyLn3prlby z(r6(<K{Jhll153Rpq@tYotf6w)`p&*9@N*@qpq$FD%J0QCSP7&RtyR8cpUL~9HJ=V z>FMcnq<>XZRA6Fa0?p0Miu*PaLU4L|s)&2lXf)7hG|=nyC@n3;_4PFpi9}}7l9Nn@ z(P)I-ZU@6Kij)u~Nq#IALo61<{rx@kdOfPEs}YGr5R1jK_q2+N3e3*VDweQR;*^HF zyF0wRyr8nO65((-ZN{aQ$H~b_Fbwm*lU`a{f`8ZRebZ;N*}(IB#`8o`#Pswu0Kn;V zLJ$PFTrTiD51Y*<J9d1094yOXdwcuaGHq~h5Tm1`uiNM6=WsfmxV^po=fpicJV2#V zp}f2t7Z(?@{i;;b2q9=`Y5A~+@jQ>+-CY=sMz~xqxZUnwBafeH!C(+}yB%|La{z$R z(SOk|88@4DcXtOu2(((QY@aOCdV70w4pdiH7eb*BqS0u^<5-r3)9L)xo|YOHNs<r< z1klvf^sSN`jYh#R3?3gJGkaQldwb3oIXpZ>RaF&6Mn>RrxgZF_t6ZjT+ibRslIQh$ zAqWB@kqB6p{n0{%5CV?lV6j+maBu)Z2!Cug8w>^m*4Nho07FAVXliQ0`uh5->~kCk zgTa8avomaLY{&wi4J1iINlA%p9x{34IPSxP3xa^*;bDYAAy}=}oCBTou+`O70KoS4 zHm0VgeoP`wCKJ}y*08X!fc^b_cs!mr0er7g$<Laa8f<NC!QpU#<2dy9_vdu|M1LZI zf`S5Bzw9ab`T6<7!AW|W)oO(x2oMAz=RkYCUWlRyv)K%mWk3BT_zZ%<AZBJ}5DW%C z<nu>IM>sz}$L;Mcg25mR2E&)$mnxkBe#X<1GO6@JBy|iy5KvQ7gU-%Q5JK?y`1s~n zolf`HaU@B~`5yA~^N~m-<eB!q<A3=0_*0&iB+qCxzUd2vLRpPrHk$zefj|JFD8lV_ zLlngysUDN#NRkAP$Ahu4vDfX|+FEcN2b0MJi^U>)E`0B)xm>@fs3<Mzs`mr>{r;Ri z&Fyx>YPEvrd31GkVPIeYp->3J!^2qzzN)GUcDo&sNCe~K<Jj5R`LU8ewSW11KIn8h z3=Ivz=kwv_<^~Rj13b^;<mBX^l>IErA{vd#`t!QGy9vWEP^;Ci6JA_gL~CoSqE|!a z=jXG|?%#;g(o!%CgK#)3_q22;Y;JBsk|a?442p}3QC3!ltE;Q*3K2pGE-x>!va*ts zm;A;>V<k1cUjMp$_5A#tzJEZetgLjX)oR&qWH&cA@caE}XlVHIlJz^Vx3~8#>x5qc ztyT+$VPG&ApjNAKadCloJpR|?^UP*5VOcigdqg@qI?&hGhsMT6G&VLW#?zF7SS*Hk vJdS8In$^llp4n`sFMm-O=zsYYi2ndz@9&SBG@Kv+0000<MNUMnLIPldZlQ)V diff --git a/src/plugins/projectexplorer/images/targetrunselected.png b/src/plugins/projectexplorer/images/targetrunselected.png index 228287b3e102ade477734619d48d60bb15fe0427..7fc5f92f56d5d17887cc3a2e2111fc05a01700ed 100644 GIT binary patch delta 817 zcmV-11J3-J3d{x}iBL{Q4GJ0x0000DNk~Le0001i0000h2nGNE0ADBT*pVR?3B~}% z0LFMTD|3-R7k>Z;bV*G`2igQ14m%617x)bT00PWOL_t(|+U=apYU)53hF@z!Or~0Y zu!!9Vy0Fkq7u|H@y?6uOfxB+J0CCsbX`w5nsjGsBU|Y~?qNo9<tDbYLvB%QmsZ8Dn zW)lL*eDnCtmzkK*<>jRmLO|DbkYJ)&mW5a>2E#BIjenp@pzAse!$2ewVKjm&0RTuT zA*EzAf-1qg0F)rO954ignSf9N!s&qU>40!LAipJe&jy5<fYD%0KneJCKsX&R6Ho$5 zKnW-T3qwl4Oh5@J0VSXWlz=q>YXVBJZ6+{H6NiU~FbqS<H<Pcfu9WGEloAgQ59o9{ zxVyW<{eS)a_axAD9mmJVkW#{RU5rK}%;$5Z1jy&}0D$Rqs!X49xg2u297?4U+U+*3 zudng^{Oo(~!JoT`ADdwqI5|0i>$>RmdKisHn9XLs=Wg4U%jK8acdqr7rZUB15!GrH zg+jr%?+2R%&@>I1Oa?D6FBlGoI|=sx8sH!c@PCdF0+mVy>2!Ksf=z)*r_&e=1{jaW zdox(O7C{veH(f&rfpWRL{)6|s5z{mwrNnSJ+<5`BFNIW4?x9#L;`H<swrzi27z!ca zIL^**j1v3|7Z(>RPYk~61g2^Jsskv2dYqk|t@PP96KI+S&+`J6CWAyOm0BI|eIMXZ zD1XFJ`^PL6i@z@xd7g)GI1JD8I2|a+$En^|g2`k8(=^wNp#*AR+xGf&@KFNCaga<V z@%s8o2^8e^_IA5WkVqsDkH>euR<I8P6eJ03+eWL^S~<4ymGh^kCnS?eM59qwQi?E{ zOwedF){bx7MO-Wv==FNYX0r%~!#|!8$a?p1T^F@l4gG%KUxH03aXOu%)9E0S$-uHK zIF5t)e2&>{rc{7b-%M(^+o;#;z5;BuPT+YSy4@};%R)37#nI7`vR^tALMYRhR;z`_ v$4A`U+@RTPetK@`{QR6BvkW-=FCxJkd(NzAQ+(J?00000NkvXXu0mjfZ2@yf delta 1282 zcmV+d1^xQW2AK*WiBL{Q4GJ0x0000DNk~Le0001O0000h2nGNE0CM>TCy^l*3I729 z0RN!9r<0LD7k>n-Nkl<Zc-rk;Nl5!n7=5*^X_Hn(QR;FKT&SQ25upeg#03OBdGM|W zkDjZ=1*M7?Zz_U#@*sE<6c;Rs2Ngs`a6v^}C~i=fq@pc2|5J;aR_oed{>+1cPG&Nh zZ(iQ_eVK-6N=ixy$8pf>^`KA(bS%pvE-nrX!_d`G3x8>Py&eq1z+f=Y)lds*06+)< zA%w1mT1X2JMoCi-V(1c3rBP7QD5!g+*&_vYj})IHEuc0Esx%53(<o^6NZlg^C5?iT zMiUVVsx%5p8YPW_#x#n*RGQIfgvn$A!!W9PYpboT?Vq3H^Yb%KPfu}ja)PzBHEeHh ze~&c1UVo32loSv`Aj>lD?(XpP^rQ;Hva+&NG0&Ko7-VK<A~Q1+JkMiqZx3T*W4OAy z3V+VaUH+GaVHl*Rr$d%yxZQ5t-QD5w@lnz5UoL8d)oMk1dpokTv%}gI6N)gMP6vy{ zg6r#R+}zx#im3lXeC9X~EiElbPEHPKTS)hqoPV4QkH>@i`}=nXFE1|#&-1U2O-xK+ zcX#*0i8VJjV}E}iE|)7fjvxqdxm=3Aot>Rw+rr^H<n{FQU}|bASg)(AgTvwYbK)8s z8`0a_8`?d-ECz!Cgpi077QpD}C^|YiAP52)8XAz0kPz{?Zx{BXzJH~*`1p9NuCBuA zbbmq=MfCLaM8#F+<>h^>G>+pSNz$i{CWPSP;sO9*Hk;w`c;4+lG&B@;ocFHrnfd$# zDk>_lyu1ui6r<uQi;IgD8KvSm&1f_RRrXoZEEWsS&(Cpue2mJ<%Am_zSXfZhySuxC zzu%5iSy_qP++3ulrb3qGsFF54Jq=M5QGZre7IdAWC}M7IPEil2F+gxxS=qPUYJPsc z!WM<nbUGdUe*dS8Zfa_J<tjtDym0kUZAC>zkR%BXhXYkrRl&IV*9nHrW&;4!*49S6 z_@XGHxw#oE%VJ<)08Xb9t*xzJo<mYnlEUsE`R96cbQBJU1A-u+si_GC1qELotADDh z3MP{Y`}_L<fcg3PS8Dr9tgNh{wzf86*BDS_eSJM@YHETH&)<R1=leJj@%#PIYPFvZ z^n?&BEiC~6EEda`mG)i+7>%^Qw6qieFfuX{l^Z8iLZ~3k>-EBDG=7P+fPohm7nqru z0RW_>rGXFvjYbm@X|uDl0D#=wTz?QkP+eUOlgSh{(s-Und3iY|Cno^_TCFzNHa<R% z#l^*6C2ePCN0~joy`v>bLSkYfZf|eD6w?Gjz~<&AG#U*AK>*M5a5|k>Utf<nroBAx z;NT#ti3kAL?RL0aF7);F!EU!>V`Bq0n++_>!fLhR@bK{0NLyW9RoJ2_Dt{^>9LFIx zHa2)LBO?P|uNOBrH>%xL$jQlx%Cpr^tE{W5OBvHbb-uj3L}Fqh%w{tvq64qji{atn z$andDJ|Em}H`3D5pw((stvEG8mSyz!_XjsCLXs9L20T1G;N;{47K;Te%R-VQJUu<( z@$pd=hO2escyDhHgM))%2}=v^h=haR@5kBM8CaHu*=$C9d_4UM!Y|<H=m<wgM_5@| s!PeH+hy68$g@yFvFDe6lmtTeW54*8Ni8XIXw*UYD07*qoM6N<$f(?XEkN^Mx diff --git a/src/plugins/projectexplorer/images/targetunselected.png b/src/plugins/projectexplorer/images/targetunselected.png index 2df56444182b87e036c7c3343e73e183663d4bf7..6470b267048ef762bc5634cbc771f7677f1d859d 100644 GIT binary patch delta 351 zcmV-l0igb*2>k*fiBL{Q4GJ0x0000DNk~Le0001i0000h2nGNE0ADBT*pVR?3B~}% z0LFMTD|3-R7k>Z;bV*G`2igQ15)>zy@Aj7f008|-L_t(|+U=Y{j)X7}13lBgi5vg_ zWdbNDcrQDzaQO!vSyi0~@v&`@=qz(i%{e)V&{UNcNdgApB(O~hf@51>j)9;9f)3Du zApwB|kN^@8NI)O~fdu470^54um(xH8kN_P}0!Tm!Ab$ZRU@>GdL<iwI7-MMLHgu3& zg8RO;t}7%+F2QwO+V>q2B<}>hcOA#UVwg;V-h1@?=s;3yE&hreuY=ZF^!(@m9iRhr zz&n8?={!$JkWPa160jKlmw?5PXJd4bu7fcKI!GtM^E{9sodnDe3F1ot2`B+1pahVB x5<mh<@F<&|e-;sR!2HruRq>x(C(mD1`U9H6TY4vF9IgNW002ovPDHLkV1gpfg<k*w delta 1035 zcmV+m1oZp;0;C8biBL{Q4GJ0x0000DNk~Le0001O0000h2nGNE0CM>TCy^l*3I729 z0RN!9r<0LD7k>k{Nkl<Zc-rloze^)Q9K}C(IVCGL(L!)zmrbda1{;%*E?C%TVG|Gx z{sR{21r35=6-Y`8K~Mw*ZN%6}u#BBsniMJ4D%lN@>|B*4#vgZ@aJYN(U|^Q)clf^f z?t3#kY<>tK1QM>ouXejlyWN&E;S%_KK7Ij6vAIlXLVpNZG#5b#!B062E>xPdM`@1| z|G*xl(xlQPq|zj$(xlQPq|zilp)?@`wr$JVkoG7c?NLH1O)5=7ZbT&hV|#41S_}^l zOM7$^n$0FdLqk$&Zh~c5jE;_aS7}~c(;AHi<KyGr-H3QmX^lq1le|1_kM(-pv#&Cq zwa0qB?te*M(jNa;dwh6!AeYNI*Hcqdq*AFrZUT;ujsRF$Sz&8yi$o&9{QUf@`*OJ) z;c%ElBJoe{@#^Y|^Yimh^K!*|S|@gIZx73|$mMd}-rlmfxcFh*^78VF_&??G*&I#N z>|1H!aF~sa4Tsm+*%_%+%Kb{~o^-$8PcRt7Fn^3Mjrm^8S01c>i`L6)W@ZLm*T043 z_Pr75kg#nV!!Xcwon$hJZQJbZ>=21Wh{xjq<nwtnO(PzUzvy@3ZQDlIb&ijZF${xX zFo<PYghHWD=V+Q{-@H0=V;BadQi(_;f^FMQe(7`?fa~jPbX_N%PLt2)0eE_PayX>Z zX@3+&`92$wPVDC9CIG=;kU${tLLI&1cVBnkXPPDl2M5ICabmF;x~@|w6uxAS&1SQ2 zRp`3z@Jc3=#A30(;#H|sSYKafWMqW>{e4QM60ulpU`6}cJ#k-c0NHGoY&MIksuT)^ zS8LT<Ygcdo@$nIWXf%otf>0=grfFZwsejdK_03DuG_u(&nx;9{_|^m0Tg2(<X;f7u z5D1`YnzLLCq5=FI#30=SqR}XpWnmbGV+oz#Ow)X`SnpZWTQPszo}Zul=GE!1uC7w4 zR4A9r&KlR7<9p-u-aCjkFr{_+<#HKCQ3wPAjE#*sM2p2D)oS%arA<ywVp$f&Vt)}K z1ScmaFJiu$Q@_0Yem~J@l#7cCgb*l-LbY0T*6_Q#yAN%D5V>@ZH?TD=lgR*}sw!)1 zYX~7&SXkij@Q_R<gQ}{is`_Ek{C+=6OG})do^pA4`DV-@cB7x&Jp#<m&T?~eL$O$7 zZf=hI`+IhGcTp6DP$-0DS+9yTs8n2f$N5pK)kLjU^W4e7_V%{(AbANB6BFM4MnoQC z$)bI)Q+`=AcX5*cxpt${q&>Q@Xg;6Mv!9xIk(bZs<2T-2k*QFdz~uk{002ovPDHLk FV1h_M^-ll* diff --git a/src/plugins/projectexplorer/targetselector.cpp b/src/plugins/projectexplorer/targetselector.cpp index a0936ebc07f..72ee9ea5a42 100644 --- a/src/plugins/projectexplorer/targetselector.cpp +++ b/src/plugins/projectexplorer/targetselector.cpp @@ -1,12 +1,12 @@ #include "targetselector.h" #include <utils/qtcassert.h> +#include <utils/stylehelper.h> #include <QtGui/QPainter> #include <QtGui/QMouseEvent> #include <QtGui/QFontMetrics> -static const int TARGET_WIDTH = 109; static const int TARGET_HEIGHT = 43; static const int ADDBUTTON_WIDTH = 27; @@ -124,9 +124,20 @@ bool TargetSelector::isRemoveButtonEnabled() const return m_removeButtonEnabled; } +int TargetSelector::targetWidth() const +{ + static int width = -1; + if (width < 0) { + QFontMetrics fm = fontMetrics(); + width = qMax(fm.width(runButtonString()), fm.width(buildButtonString())); + width = qMax(129, width * 2 + 31); + } + return width; +} + QSize TargetSelector::minimumSizeHint() const { - return QSize((TARGET_WIDTH + 1) * m_targets.size() + (ADDBUTTON_WIDTH + 1) * 2 + 1, TARGET_HEIGHT + 2); + return QSize((targetWidth() + 1) * m_targets.size() + (ADDBUTTON_WIDTH + 1) * 2 + 1, TARGET_HEIGHT + 2); } void TargetSelector::mousePressEvent(QMouseEvent *event) @@ -135,7 +146,7 @@ void TargetSelector::mousePressEvent(QMouseEvent *event) event->accept(); if (m_removeButtonEnabled) emit removeButtonClicked(); - } else if (event->x() > ADDBUTTON_WIDTH + (TARGET_WIDTH + 1) * m_targets.size()) { + } else if (event->x() > ADDBUTTON_WIDTH + (targetWidth() + 1) * m_targets.size()) { // check for add button event->accept(); if (m_addButtonEnabled) @@ -148,14 +159,14 @@ void TargetSelector::mousePressEvent(QMouseEvent *event) if (event->x() <= x) { break; } - x += TARGET_WIDTH + 1; + x += targetWidth() + 1; } --index; if (index >= 0 && index < m_targets.size()) { // handle clicked target // check if user clicked on Build or Run if (event->y() > TARGET_HEIGHT * 3/5) { - if ((event->x() - (ADDBUTTON_WIDTH + (TARGET_WIDTH + 1) * index)) - 2 > TARGET_WIDTH / 2) { + if ((event->x() - (ADDBUTTON_WIDTH + (targetWidth() + 1) * index)) - 2 > targetWidth() / 2) { m_targets[index].currentSubIndex = 1; } else { m_targets[index].currentSubIndex = 0; @@ -195,22 +206,49 @@ void TargetSelector::paintEvent(QPaintEvent *event) p.setPen(QColor(0, 0, 0)); p.drawLine(x, 1, x, TARGET_HEIGHT); x += 1; + + const QString runString = runButtonString(); + const QString buildString = buildButtonString(); foreach (const Target &target, m_targets) { - const QPixmap *pixmap = &m_unselected; + QImage image = m_unselected; + bool buildSelected = target.currentSubIndex == 0; if (index == m_currentTargetIndex) { p.setPen(QColor(255, 255, 255)); - if (target.currentSubIndex == 0) { - pixmap = &m_buildselected; + if (buildSelected) { + image = m_buildselected; } else { - pixmap = &m_runselected; + image= m_runselected; } - } else { - p.setPen(QColor(0, 0, 0)); } - p.drawPixmap(x, 1, *pixmap); - p.drawText(x + (TARGET_WIDTH - fm.width(target.name))/2 + 1, 7 + fm.ascent(), + + QRect buttonRect(x, 1, targetWidth() , image.height()); + Utils::StyleHelper::drawCornerImage(image, &p, buttonRect, 16, 0, 16, 0); + p.drawText(x + (targetWidth()- fm.width(target.name))/2 + 1, 7 + fm.ascent(), target.name); - x += TARGET_WIDTH; + + // Build + int margin = 2; // position centered within the rounded buttons + QFontMetrics fm = fontMetrics(); + QRect textRect(x + margin, size.height() - fm.height() - 5, targetWidth()/2, fm.height()); + p.setPen(buildSelected ? Qt::black : Qt::white); + if (index!=m_currentTargetIndex) + p.setPen(QColor(0x555555)); + else + p.setPen(buildSelected ? Qt::black : Qt::white); + + p.drawText(textRect, Qt::AlignHCenter, runString); + + // Run + textRect.moveLeft(x + targetWidth()/2 - 2 * margin); + if (index!=m_currentTargetIndex) + p.setPen(QColor(0x555555)); + else + p.setPen(buildSelected ? Qt::white: Qt::black); + p.drawText(textRect, Qt::AlignHCenter, buildString); + + x += targetWidth(); + + p.setPen(index == m_currentTargetIndex ? QColor(0x222222) : QColor(0xcccccc)); p.drawLine(x, 1, x, TARGET_HEIGHT); ++x; ++index; diff --git a/src/plugins/projectexplorer/targetselector.h b/src/plugins/projectexplorer/targetselector.h index 41cb0e681a6..b6c2037e4e1 100644 --- a/src/plugins/projectexplorer/targetselector.h +++ b/src/plugins/projectexplorer/targetselector.h @@ -20,6 +20,10 @@ public: QSize minimumSizeHint() const; + int targetWidth() const; + QString runButtonString() const { return tr("Run"); } + QString buildButtonString() const { return tr("Build"); } + Target targetAt(int index) const; int targetCount() const { return m_targets.size(); } int currentIndex() const { return m_currentTargetIndex; } @@ -49,9 +53,9 @@ protected: void mousePressEvent(QMouseEvent *event); private: - const QPixmap m_unselected; - const QPixmap m_runselected; - const QPixmap m_buildselected; + const QImage m_unselected; + const QImage m_runselected; + const QImage m_buildselected; const QPixmap m_targetaddbutton; const QPixmap m_targetaddbuttondisabled; const QPixmap m_targetremovebutton; -- GitLab