From 56dd8c66d5807c242dfd424528c30558b4edbcda Mon Sep 17 00:00:00 2001 From: Martin Rotter Date: Wed, 22 Jan 2014 16:59:39 +0100 Subject: [PATCH] Works on message boxes. --- .../icons/mini-kfaenza/dialog-error.png | Bin 0 -> 4843 bytes .../graphics/icons/mini-kfaenza/dialog-no.png | Bin 0 -> 3318 bytes .../graphics/icons/mini-kfaenza/dialog-ok.png | Bin 0 -> 2015 bytes .../icons/mini-kfaenza/dialog-question.png | Bin 0 -> 4648 bytes .../icons/mini-kfaenza/dialog-warning.png | Bin 0 -> 4260 bytes .../icons/mini-kfaenza/dialog-yes.png | Bin 0 -> 2996 bytes src/gui/formcategorydetails.cpp | 18 ++- src/gui/formcategorydetails.h | 3 + src/gui/formsettings.cpp | 4 + src/gui/lineeditwithstatus.cpp | 6 +- src/gui/messagebox.cpp | 116 ++++++++++++------ src/gui/messagebox.h | 19 ++- src/gui/messagesview.cpp | 35 +++--- 13 files changed, 131 insertions(+), 70 deletions(-) create mode 100644 resources/graphics/icons/mini-kfaenza/dialog-error.png create mode 100644 resources/graphics/icons/mini-kfaenza/dialog-no.png create mode 100644 resources/graphics/icons/mini-kfaenza/dialog-ok.png create mode 100644 resources/graphics/icons/mini-kfaenza/dialog-question.png create mode 100644 resources/graphics/icons/mini-kfaenza/dialog-warning.png create mode 100644 resources/graphics/icons/mini-kfaenza/dialog-yes.png diff --git a/resources/graphics/icons/mini-kfaenza/dialog-error.png b/resources/graphics/icons/mini-kfaenza/dialog-error.png new file mode 100644 index 0000000000000000000000000000000000000000..d2371cd464bf8375da12af84f5b6307bf411b7cc GIT binary patch literal 4843 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 RA1eR=002ovPDHLkV1g$uK*s<8 literal 0 HcmV?d00001 diff --git a/resources/graphics/icons/mini-kfaenza/dialog-no.png b/resources/graphics/icons/mini-kfaenza/dialog-no.png new file mode 100644 index 0000000000000000000000000000000000000000..60e9fecd5c5829c5d230ebafb8fb8fd96398eec5 GIT binary patch literal 3318 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 AO#lD@ literal 0 HcmV?d00001 diff --git a/resources/graphics/icons/mini-kfaenza/dialog-ok.png b/resources/graphics/icons/mini-kfaenza/dialog-ok.png new file mode 100644 index 0000000000000000000000000000000000000000..e7b5c59fae2f57b24e75b798bfdf1b98e3697aa1 GIT binary patch literal 2015 zcmV<52O#)~P)@mqY_N>SDM$7^;gI7v63knMOB8mhu z5f=z0{~#b_u8^=TnF~Nd2n0y{39ih^Hy8;a#@P4(7($f2LAy${>tvTDO4u>>dS={R zm5c5+ZF^>Xnz22`uhi;8Rae#f_E)E`s$ml!Hbj9i>4X=GQx4G1p>hT0B3A(foWsZy zr<|Yx3&=Q!=?$Dq&JSz>B2vl&Qp&Ab>(HtcvqTU=Oe&?mQA#C&F<=77y5WW=t`GP* z5H$?rFF-_V?OWB-mH-Ziu$1!GTI+9tDPS6>N>n)U1W*aoN-6)KwGJqiv&xh$q?7?E zRt4?&Pw)BMdUu!aR$3Iz64z3AmF2MZ8QO-(hgUcLHLTU*;_ ztXzayJY9c)5BLaZ5JE(?)+@}TXb{cK&EaG+`Nx`?n$Z6J`w6wHDd_Lc@L?|SHAE*Hug%DfUfdC?r zNQ8TPdt0ljsw$OIXsyv&V_BBiw{Kr05D3uU-@hag90A6#1xNwYxh!C<1rUiuB7FDm z-PT|*IE%bjguQ$BMuNeh=;5W+01~@*FNv_|e?V@)f9|p`oU`yZeBYvT~s>KR7rz(ca$vH;4QL_M*qK zQA~%3(b3WI`RUWAe-{V@w%ogS?@%-vtz95Z5s$~i4<0-?nj9@TV9_ac?!A^jLy!^-yA=FeAl~o@1*<1Ow&Y4S#|sN z?SoslZk;QFh{xmMn>TN^YOM>J{q*!SeSLkY_V)G_k^pCPIk0B8YfA9`5e$K4@9ig5;CQWU8~XvsmQkVI{qQ0IK)w*%N#F_N|mMzm`(U zsv9?Mv>rZu_?}@HT)%$(fMr?1Le)(v#pvkh#F;Z^ybWG4$ctPzRlp8l5AfS1B($Zv zy1Mb=#f!Uk@7`U#fCwn1CY|fhLgb%6e?HOG)%C(@@K)T~d+-c+3VaRxHeXtJd0GoAU#H%d&FDafZ1J4i2Wey1HIWO-;QnGI@aS zoa29Z<^q1+3(&ZP#56E%n&$Mtz(6V%i`6Y8LawpBm;BJsQ0na2voA84OiAiI_BPpFe-T)a1dQ3Kv}fm?OgW?b{b6f@N8ZjEtl%T)40r7$zQs3X|>1${D3XMf5~G3D-i%ZA`A}?&xiobBmd;dlhozQmsgWK*j3

;Vw@dN;m2v46r9gjw%wPRyr>1)@n{dJAV zgKYsb0=PrrY9ImZ1%6e6OeL@-6beNgf8J}>hCIOEfnnekFtJ)Y!W1wuIXU?n+bSkm z8}jooPXK4qQi{ARVBEQ06Tf>dZl!RF7Q&jZxKO|$@}cbyn7MHw0E7_hafP@j@NnDQ zCg){|8K-3qWG$y*dB@002ovPDHLkV1jMw&?5i< literal 0 HcmV?d00001 diff --git a/resources/graphics/icons/mini-kfaenza/dialog-question.png b/resources/graphics/icons/mini-kfaenza/dialog-question.png new file mode 100644 index 0000000000000000000000000000000000000000..c79c2d7fad639c775bc8790a4c8a58b012395ccb GIT binary patch literal 4648 zcmV+@64&jCP)GEaZ-@jPAVA6*-XW8s)&=gYzQ$$lCm)li_2gf0$64-!XP8D zSRf%GA;f4Tjb?evy|=sb$6entnqSuQ0~&|5@Z){Qz&Z z*fX6FLI^^F#4qk~-V`x_HZ!QYXg@B5uz)<^0v2z7Ezy7iJfLBWQQ4C%1PCEqpy#U3 z+_>SKi$469#h%hS$98)cddD|QWsb&M`GGfCo0{JC_=9&`_wP4-?ipap7~{p~69R+~ zHcSj?JHN@d)t>D2aXtH z0*DBR?7bIQ{H5Ese8(v-J#}m%NIGf3DY|}qOU2CaC40PDw(%$SJ^T5OopuHA1~6%i zF|iZ0fE+MfC@)(5`h=gbDzY635N$UQZ?PJ*`!JLI$$SS6O!y3!7p(?{fpMS)1Tg^; zC;%lb+@jJxkO3cI6s8;KPW}5u`he`Qm<-c)GA2a}w+NI7u^xeR8kB@y-wl+(XwwSb zq+|#o2+bw}YDft>R)lj%+3`97IX1ADtc+R)9F=%62zzDzy5Yg?j z4gqtT{x%0Hjm9 z$P$o1Cy4lqigw8E$W6@Aw_oRWo<2w@>D z3n?w6?O<6BQd(F}E<7eJvcnRCi^toTkc?Oxx{;t&rxA4$5RKIA;6va-m=+BX#-LPy z4m^UuBk-GejVY={&6#TlIcddWdP^>@W07+la;^nH(^E8kAJ11zPJ6txdyLK7$2d44 zaB_u^1k1*D^4PYE5h8gEOjZjLMxu|cBlWtIQ|NUaT8n`Bgl5Eu+nq~Jv|*73~@ zLEsbk4NTzCtWU9evE-&EjQtat8R+DgNeKuKwuJW`8lWN{Km=Yy4$mYU z8MH}lUk8f7Yv6lzys5*ydwo9_Zd^yTzl2hu?FT`S_BW4dQ)`XZ8pjf>8tLaVSDwY# z_%shbxs%79KY&v#V>vk-w}7y$jM}F@pygQfLCv870K%xq2}bHKBive$YC)uWf!`!h z9)5k2Wo3`w`RGO}Jq46f$>>UX?5TuOivHd_ANkewTyjpGo9}vtT?YlZVi_k_!g6xS z$Qu)zarBvx2?H3Foz%M%kotfaXEMd5iZ8Um51IsigXY8`uDo!B^G;hu=#0#~K`%6j zGR9Ep$#c!e&gHQ!uW6k%X#Z&=)&L9*uSU?Q zqnl$~_sO#uu9hRx-keCF8&U5)<3v`UQ01@w^$Aokh?_5AIe82M-KGUG0V?$Y$q2#shW;c7W~$oVvY@rfF*>^;EN?R(gN;0Q`- zq?9wZnfh5eSmF9lpM$QCQm;+YY}7*kk$vVYme$0sB@T!Q5ZYutbv6P7-*4bGrV))% zZus5zuy|2{P?FY^3W5{^VHUz_(4lbju3(+gB33Ol?_~a{%Mp7xq0;qu%uey zhEJcz7ry=@ntBL?L`FU#o+4vMsEuyHnk67UAhn82AP#j!_<%a_@Eg-i9p2BMfBbZo zR4elaf75OEbKfIBBUk7l*SmzG?NBVZ{PHQo?A|}ljy(q%uhqHbj!pc>y^nG2)gR!z zGuE^aG%E>%75?zU8~EGXw;(JVM_3rF2y})3wSZ|b@&1HPFYp>PYU5mRYCr4OESnd2 zfX!QXaQ~0DF)(rx`JR5HkPPH%eDU|*N2!>@7`SiKR&IZA7rleanLPA5fAh6_xbaV~ zWc`{GI{KT5j8oSv=YsXS_|f(w7-?fUrIzVX8`E_f>~Pmcn~oNEP5j0*Zg7O(y6nt( z+q)2g7kBKVr*D{^z7gD9nPzQ@%ip`2QZW|+f(y=CgQ*|J%~$9jdIxT?%3uHU-80&L zmW*t>@&g-jyu)~nX#%g=70YY{2tX*U(I(Th!t-m?YvWvT(MeQ#iwh#);`7$iUoH}O zb-el{Q%4T4YS~cBHN||6YS~5wP3&Be-s*CW)D-(h56?>V-TuxoHlwVpq0z?ieN`+$?J3NIm5T?t*cCg$6y`}tu?>9Km z%em_o^X$Glwp&72R_30a1az1{oD9V+Xf|oorr5A{X@|;XTO7a7)UwyK|MrcsBaBZr zlORU<0e-W=ie-bd-gBmVpMJ_xnvH1!&!Zg=vzS2S1JY#3XiX3VG;8AwR7xGAcD&^K z4{t%(1*DZHP>M#Q#`$NgWU#+C0l5$vD3|bRN63|`;3$NU?IzGcKypACoe-dPK;Sp= zy*kyto}*I#*~A#b&OM`i`@Wx$U$hEiS$NGFs&SCt{*6m9M$cOEo=Fz<_k{f@AE5%I zHJ8v| zE*>@E)&3ro=c81Br42?z<}yb`C^Ug2{?Fvm%ER{+CZBe2EZQ(R-QdWx%{Gc(O)hmm7`;k*GI=eSZFQKnkbPss5BH# zq(cL;H9>>H2!XU+cE5Iz^(W6i1fES+j4UEos*o>NdFK+vCqJ~2APDe%|G4!3#@G>r z<%Icrj3cdd&8h(?rPE|6HUsIfd*8uhQp>Ci4fNtjgWs5D`Ox5T10Fxap8bbF+UPh0 zj(mVpoto7d2$^(UKnelE!pfC+dH4R~It{K}S>=^cpEd7TGB4s5;&UGU$%{y*5XKdx zA#+9p66q|7#YuyRO5)PNc1t|{!VX^9JI2b9Me}};+2qD+FGos=@B2yd^mxdg{fBsN z=K=bbtw%^3jK~B`b7zA|Ae2;tgoUsR*u{RndDo-!ip=H{AvPKfYPA}^?{|$3kG9?S zqixuQGSV($gx!K=u3SKpWP_PC7$FhT!tGteBb&Fgd*4A$7#>J|bTlJ3c6f@1H~*YQ z!)M*eBb>JO=x3Mg{SO?P`9zsgA3iyMoF68p}ZI~0_T=Ms~K0wpt>2-QRI)r#L z1cZ26N@87;p{&gqV-V88a*Gry!#w=d%Y6I(%}1@GPj1~sQ|IU(c^7?4-$~D+6ZpZV zZL=m(^J({Q+Q#PR_EM-UMY;uqbXqX9WrMR#gV7J7nxKs8^^g|#y2$}8biXrkJRGEwt6?c_DAUe=FNLCbaX(TJZux0~z#@m|RF zQ|eoev`a|KMXP8PD9&lZ4&x%vjG-_aFZXfb z(=YQ!AHQ&3^?YLtMHenP=R|}M_`Z+tdvpFSE1s{o<<3X>um9dczGslaz;diyFVZby zNL4>x5>J-Mx@@xP%ms9+0pZ%935$`*GMPZwc`P9*4y?p>OFaD4ZhrQ{ZT!jA7qfBQ ziUjCv(rh*t1Ui=OyWZf&TOMHV{s{_|5punYvD{vSQ%LMSvHcbeNC=p{B9uIM+ftt< z(w%6TNLVhGD{y;#ndHz+t`@=0fxpfzIzD&>1N!W!7 zwp&ElxlmuDoh{jPKC*-e(%iFvFvg&X%^-@73S> zEM@>HK|~eiczTQjC9O4DDVo!Vx#YaFXCz?r*4^ydcaTMWJq%QeRQpN{REh{GIWk#e ze4@_yWSs+tr`Yz=KAzqF8V3$dA*964^-!p;#3}S)yG5j(N7^n%N=%sTB&wcOd#zjT zzuTfxy9p#6w2-31kvD)a1}Q~&jn*iyPTl$r~ll95fY;n zba6)MQ%Ed3k970o`rxA4rx0GX{Vc?Qt#dZSa-Mo7OYtUlJGFB0%dc7 zFc`{?yfJ_YP(c&jth2b-;Ez9g5uVrT&8O=gx7_(C-+SbF^5tQi(f}BZ4w`7?W0W8I z6KNr&jj&v#VGy8Gvg) zvVnCc4$)}T2$bTvm-qANGdp=~%PYJ-Hi=#6Ctp1Qr_hIR3kW+$5?3TT9N!{ck55Jw z((PVtfXQAngAd4#KEyj*T6c(amc>n)4VsJ=0O-I+H>U{3U*(i{uHd^5Jjs_|9mQ9g zvGHjprW#1w#d1sJ2UcO{`;cw{>>NhADBTLWZ7@1WnNuP*+QDbLN=84L$=aoBMJP#! zqpk!3A)*CFW$=yU?nhoCQC=YsvPhwCG1BcxytJ@$VQ~`KVzLFZtfpNP5J2pu+nymF?e4o+j$LL@q*jyY4jv$APBk;V7)S|Fgl|xI z^+P)j78aknG*B(QwvZ5uFmD#pg-N$8uN}N?3F-%S93*^utVW1AAs_&zfyvR$H$SoJ z(!cw4*UH)PoEmRU5rm#JogULUA|@zwnB9)2Us}SE6h+3CQ%G5_ZZfe$ySGoS(IhEP z{OnQysu_%KzWE7YGQ!&N($o;J8aOZ4zv6)}F>@vpQ`^-eU+CJk#^x=FZOFX=4Z)liu{$%i{;0y5;HS;oT1b zj{+|PqsADMeQnMKmI5aOrvPh#GU4kbZ)fp<3E)NG1zs0b{`Hz?dZ}b^fFck^F>i0tfKTZ7k{2dp=^!9E5gKS1-Mqa; e1A&GyXt<-~Hb6^uyiX#k1IeNFV9wF6Z8R&htOdcAj&t5)uAClm4(f@L`kPtwJfK2mn$a zTzB3V62M3oQCF?^l~NXv2VB77qc0@}@PP(U6A?dMnE^m4c9B% zEkDxUv?G;C#MD!tTLNS1eb$&I8ST`d>Kv*#hOq~m|MG)}ZvFbbk30>`iiigx0HMD3 z0;30i^$(AZ_Ea~UnTgZ~Rmaoh;=?i%(sHClNRkUZu$5yAg+1q8bLWk~F<@RqB+_pS z$N_5x`-`t=YbLdud|Q^zy)0V28bcU zytFhJF)r!rZXG=hJK7pbTjSWOB_IjCS2*$#p&gBW<~+q)3$+0dOF)`=LIzbb=8}OX?lio z&7E&yJ$f!D0!)vMGi)65*1;M9A+LRAlwb2O#A zjbm$au7&GpEFFyqEh3(odU5l8lm^BaId?1Slef{VSDBgG$KhQM zqGxu~TeQhJnq1BzX9p@0cc_Ex4m8%+PWvk{G2Fg`Q!yeELtQm2YL@@q4Jv?xDYAq zhXcQUk|QtN$4GwwLMd;dRU`$5VALZ3qCq{q5!8SdlXinCTM&-E5usf3S*ZF<&f0wZ z)_YV9TL`q7^=*6$%Al=3=O+E@irc0d9N(4=%b zI!UzT3~sufg_)fc zatcSQV8)2FdI6w=3Pchh5*WWm!(+bEWPIzjZ6cR0QKZ(bWJfqUPh4$sZ}}zNj_>=7 z|JHTPSDG{$9-f~z>ZezM&<2=zWP&-nVQ!&`?Uv5U2mwJv)+zy}Qz9m+UY^uhPM*1i zCT7sW7!|UcnG3W55Z@5v#Wp~~Oir!gQRo>wEBc>MoS`9#HO>~mg`Od54G+&Zfm73g zJ(Fxgq)SFf{FDR;UenO@eDYz`w;Vd{h<306XA9s$?+8uL$7==?wtMaOsje zxLD_tNRw3DE^+;t(ALt#oTywQg%$ zl(uT!){Y)yC1w89QCu5rO)5taM}ip%=r9-XlF?BHtqsN8(g0Y@6-H&t6*n_e7RuEo z|gyi zQ~O^5;KKFW@kPgZg-)~_wK(wl6Ab5cpa!Y5m?RPqQ+ra>_;F)eDU=fOj^g^aO?0VvRD-y|0rBUH0)j+AYAyhRV?o|gtQl~5ed0-GroKY|s`KNQR${S548Oep8@xC1O90kxxrWbt z>F-f$`T4|j`{mgw_B{U(7meBEY=y1Ky4z$f&^0HRN{I!=Lo30xp|_wI>e0OV_;M>)Cg zInEn#>B(#Ic4Pok^NvIXy1PLmtw~XXrG>l$Lp_R3V|jKx_Rs9w_1KDZ-x$M|D{l=~ zha>kSY`yBX6$3iC?^Ry>@x81YaTzFT@=o9aTlp|cSQ!fSB(2whFU{E+-%*SYS~Qw2 z&pz~Ra>YT$HhrS)6N^#L&^Vv?;|F=~`F}_JI+y+KS1AmQ$BQaUB@tn2|EoOpAAiYc zkI&eEOWq+^E|VmrU+P={Kx6!t9SgzAic(N;6$UtW#G&B{JAe2!uK41&ShwxkWp%t> zuhTcWkxOs67l1~i!TkJu8*_`%(RW_p>HGhh(LTe5QJ21gqUb7gZ24OOh!;k>0zi@u zOM?(?gV5w1!OscjueN~(&phxqyf<+@m)~?JPQGW!Ak5CrVp$fzX#=26_z~?a*I@q8o(2A_)M3NdeFfYWr-k4233BD0dmVLH=>b9-`Ouq9Rvs3#h^sXY`J4~T>6}g^a zl-AVC({ZWHPI2Pk>l{D0i^}X2wpI-ESZrOJqrYTP%2~L!qTniAE8MP=VKMqAyS!T1%x;X#-*J3;)S$Kl?{4W$?m*=|+}@ zVouYa*PJ`%&|lOPTusr{xQ@cLz_C;F{PdofjO9;@ee`VX0J#a%|J(8M+b~K z3QH**8w!rXv4RazwxxpD-U_$PiAjN&N~>k`KMfG+^RBDI5a$EJ20~F66iR~ha-(Ue z`_S;9Trm5S1D!MWB7 z$5L2Iuq+jfcD&Oo#dOSAG+2SBiuW>QMnB;(ebKf=5Z<1VeF;bv~fFC(KoZeJ7!J^KbL+>%U;)*&R$BoS-^? zoJM7qf~)AwYc`C#43!kc9ORu~E}`&a57HKEweqtR$}pBqW^c)L%T-dl;lk6l^!9HINjunWnYX#>)QZfoq-UkX9lun}F$~*+ydly?B zP9z|?6@A0C6gnK)pek5$QYwrJbzrz+Njp0^)Q%)+amwm=N9I%aI|2}YVY+PU19{11 zKafa*t;1APhb~12>8RXifw~%pPGGd$2d2xWp1LWJ0N?`^pfPdSKY7(A`y4UNmJg-W zA);=Zm)<9d?@Aqk$=*}iVdAiVlHl*L3IWeC03J{V=I{Q={PR2R82EhAb?rT_S4jAU=wiF<~7!5 zzI9XYrQ6o#1_q1TMd>hF(I|praBTr9$mWLig!L*4nN{j}!u#=aX{icqkHo=DXp6#Y z$xLv?9|9_GG``e!Jhd-?s<&6Mt-wGAKmmX z!pV8kDRa+)QtG6XwsXz{&^15>AgEE#pc7C*2zlUs6CMCK=OBbU0H6Z8tPIdsdKecj z0B#|KE%_tveHhcB7>f)10s+MM;hvxK8Nd#G>Jwm*0P{Od*5W=xoSasH3H~?)5bK2% z_qx-Q3F2h@BaC=j+|3oA0-%gB+fz?HwY;sZt;}w>GXPK&MLT=;?9Fe!`R0bEX)1Il z<*wLbD*<KB# z(KL;iBc1hw2!YLJ9m0{ z=KT2Mk2{*1o2!vK328MT7Xpae?JhoW;6R7XW^?3Q@WjFxa~?c+u%n=$pg7n5S}*cJ zfU~>1dvj4yQ9(WhO*e(yZg=7S{rjIlZkxBH1ej`(ty-~;j*glQ8#b&^RW)zIMHdF7SwqtPg9ZEf|~Y_??glE%iyWd{!){2wy(5eOkL!eZ9}_yH(OSxsq6 zOG`yVLql1i@b z0jwZ|)Mcmv_E%qhwPnqkHQs!TJm(xg{q$4xrI%hh8wdnuphs`j)2C0*S65ei)~;P! zL@7;dLkbHENq>L;IP}nWS{NGeD}di%Xh7m-D4RvlRbOB4?%A{Fd`U^khR)7TZ(_T3>(-S)cjaS=btw=hW3IbF>Toz5b#-;c`5?gW z_w(JmcV8SG9W~?j=A7mLB*vJ%zP_F%`>$22Ru$W9Hk+!d6gli5b2Wpst*xyT0L#Rj zjg5^dsmxj^6vE!Udw)4|=FAlULFh4iE1buVAAhp0uC63mdqN0nZEf`?ktG#U`T-OG z&2U6%d3kwJCc>XQd2;TB7hd@9*I$1<8;L~X>Sb9*cX#)AUtixPL-<5BcJ}o2JXupy zQ=ZN*sHmuLXF`A>TgsT=E$pNNW6XZL75&?9zn$N;Yu7nRlBRa<-1+^dpMLtANrIv% z_~MH%rn|bjh5^h&pYK*UKKS5+zqPcq)Fu*_SR4*VHV#o<)&QcaDoLd+LI?~F4u*H{ z-aVu!${YYm2%*0J{`*7WaQKnupMSn)aBwiNckkXo=p&yfyzS+eUv6q|Z~u!VNw@8c zq9{O)`>~73wS@SUn?C;d<2A3p{`y8qlB|i_ln_F|=kwiOO%{=IH<*nI@vB#_`U8Og zPc|pFZrxga`0(K;aI1!K=t9pz*9@x*OV+GevwYvaeeIGYrCndFB^V59KA$gu>`dS- z1Q2AW0YcL><eZ`P^!4>^gC1^+Ym3F~>_UgUUT?`KpM268i9}q< zo|&qQjEn>{O^YGBDX<`Gu2w(;pq@K-?q(|2R+eSd)YMcSIdY^k2?=pvjJXaSI@HNI zFXWtOifQ_NF7jb?DHcPPf}# znr#>@6bgwGCr_~9XodHAB?d?5*%G!U0YYK zTv;W{a>i6w|CIV>S$zLeys3Lx^?XP=D*0s)>*O=Vez$KxqKa^%Q1N~uYL z{mnPuT;JT>yh@U!tap!ozn_2p`RAhmB3TlUHaVItB0isQ`m3+Lnp6}e?Py7o1h3ay z(c9a*jZ#{;W5F0BQkLX8Aykb1sI5hvlZGrb>^;lh(af6a`MFvmg`-B*QF4kHjgF2+-+lMp z!KtaKNyK}Z*Cc{<5n*+8>H2MTnR8qP{QGGY+ztu7J#$5y4vk@lA;y@~gD(7#JA1 z`Qe8jUi|L6?|uV#XN&0D7cG(=^DktX;cyO}c#f^8CQSz~tQA+$?mVW$4~s&LaaX zq{n{*@E-t|0fejsGyvF4DSaqkkzVNL#tA)Y>jK~+ggC0JtKF5Al||HGfOF2LrlzFp z*RO|!5HaYsT{b>r$kTBdgMfncZWVpdsVM)YVN5KW48bCdOM*ysa{u*6I8JgcQH0a6K%K&}^Fbe&Q zPy~qg1S8P5iUK-AV*s+ryZ>Inp=Y9|0Zan80ZSY)*<$Aeuna&E?(X{pcM=Np@L2!} qIfQhpy$!hqN`G%K-yKdGNBBR?-}4w>qt6on0000 #include #include -#include "QComboBox" FormCategoryDetails::FormCategoryDetails(FeedsModel *model, QWidget *parent) @@ -24,16 +23,23 @@ FormCategoryDetails::FormCategoryDetails(FeedsModel *model, QWidget *parent) loadCategories(model->allCategories().values(), model->rootItem()); - connect(m_ui->m_buttonBox, SIGNAL(accepted()), - this, SLOT(apply())); - connect(m_ui->m_txtTitle->lineEdit(), SIGNAL(textChanged(QString)), - this, SLOT(onTitleChanged(QString))); + createConnections(); + + // Initialize text boxes. + onTitleChanged(QString()); } FormCategoryDetails::~FormCategoryDetails() { qDebug("Destroying FormCategoryDetails instance."); } +void FormCategoryDetails::createConnections() { + connect(m_ui->m_buttonBox, SIGNAL(accepted()), + this, SLOT(apply())); + connect(m_ui->m_txtTitle->lineEdit(), SIGNAL(textChanged(QString)), + this, SLOT(onTitleChanged(QString))); +} + void FormCategoryDetails::setEditableCategory(FeedsModelCategory *editable_category) { m_editableCategory = editable_category; @@ -86,7 +92,7 @@ void FormCategoryDetails::apply() { } void FormCategoryDetails::onTitleChanged(const QString &new_title){ - if (m_ui->m_txtTitle->lineEdit()->text().size() >= MIN_CATEGORY_NAME_LENGTH) { + if (new_title.size() >= MIN_CATEGORY_NAME_LENGTH) { m_ui->m_txtTitle->setStatus(LineEditWithStatus::Ok, tr("This category name is ok.")); } else { diff --git a/src/gui/formcategorydetails.h b/src/gui/formcategorydetails.h index 41c621c25..47928dfd4 100644 --- a/src/gui/formcategorydetails.h +++ b/src/gui/formcategorydetails.h @@ -32,6 +32,9 @@ class FormCategoryDetails : public QDialog { // Destructor. virtual ~FormCategoryDetails(); + // Creates needed connections. + void createConnections(); + public slots: // Start dialog execution. If result is QDialog::Accepted, // then output_item contains added or edited category diff --git a/src/gui/formsettings.cpp b/src/gui/formsettings.cpp index f5a8d695e..97d211f22 100755 --- a/src/gui/formsettings.cpp +++ b/src/gui/formsettings.cpp @@ -199,6 +199,10 @@ bool FormSettings::doSaveCheck() { resulting_information.replaceInStrings(QRegExp("^"), QString::fromUtf8(" • ")); + // TODO: dedit qmessagebox + // MessageBox a tam pretizit setIcon + // a setStandardButtons atp + // Some critical errors occurred, display warnings. QPointer msg_error = new QMessageBox(this); msg_error.data()->setText(tr("Some critical settings are not set. You must fix these settings in order confirm new settings.")); diff --git a/src/gui/lineeditwithstatus.cpp b/src/gui/lineeditwithstatus.cpp index 33236e16b..134bc9f26 100644 --- a/src/gui/lineeditwithstatus.cpp +++ b/src/gui/lineeditwithstatus.cpp @@ -15,9 +15,9 @@ LineEditWithStatus::LineEditWithStatus(QWidget *parent) // TODO: nastavit korektni ikony m_iconInformation = IconThemeFactory::instance()->fromTheme("help-about"); - m_iconWarning = IconThemeFactory::instance()->fromTheme("application-exit"); - m_iconError = IconThemeFactory::instance()->fromTheme("application-exit"); - m_iconOk = IconThemeFactory::instance()->fromTheme("application-exit"); + m_iconWarning = IconThemeFactory::instance()->fromTheme("dialog-warning"); + m_iconError = IconThemeFactory::instance()->fromTheme("dialog-error"); + m_iconOk = IconThemeFactory::instance()->fromTheme("dialog-yes"); // Set correct size for the tool button. int txt_input_height = m_txtInput->sizeHint().height(); diff --git a/src/gui/messagebox.cpp b/src/gui/messagebox.cpp index c798ddf34..db3d662d0 100644 --- a/src/gui/messagebox.cpp +++ b/src/gui/messagebox.cpp @@ -1,49 +1,89 @@ #include "gui/messagebox.h" +#include "gui/iconthemefactory.h" + #include #include #include - +#include +#include +#include MessageBox::MessageBox() { } -QMessageBox::StandardButton MessageBox:: showMessageBox(QWidget *parent, - QMessageBox::Icon icon, - const QString &title, - const QString &text, - QMessageBox::StandardButtons buttons, - QMessageBox::StandardButton defaultButton) { - QMessageBox msgBox(icon, title, text, QMessageBox::NoButton, parent); - QDialogButtonBox *buttonBox = msgBox.findChild(); - - uint mask = QMessageBox::FirstButton; - while (mask <= QMessageBox::LastButton) { - uint sb = buttons & mask; - mask <<= 1; - if (!sb) - continue; - - // TODO: tady podle hodnoty masky switchnout prave pridanej button a podle toho mu dat ikonu. - // neco jako - switch (mask) { - case QMessageBox::Ok: - // TODO: nastav ikonu "ok" - break; - default: - break; - } - - QPushButton *button = msgBox.addButton((QMessageBox::StandardButton)sb); - - // Choose the first accept role as the default - if (msgBox.defaultButton()) - continue; - if ((defaultButton == QMessageBox::NoButton && buttonBox->buttonRole(button) == QDialogButtonBox::AcceptRole) - || (defaultButton != QMessageBox::NoButton && sb == uint(defaultButton))) - msgBox.setDefaultButton(button); +void MessageBox::iconify(QDialogButtonBox *button_box) { + foreach (QAbstractButton *button, button_box->buttons()) { + button->setIcon(iconForRole(button_box->standardButton(button))); + } +} + +QIcon MessageBox::iconForRole(QDialogButtonBox::StandardButton button) { + switch (button) { + case QMessageBox::Ok: + return IconThemeFactory::instance()->fromTheme("dialog-ok"); + + case QMessageBox::Yes: + case QMessageBox::YesToAll: + return IconThemeFactory::instance()->fromTheme("dialog-yes"); + + case QMessageBox::No: + case QMessageBox::NoToAll: + return IconThemeFactory::instance()->fromTheme("dialog-no"); + + default: + return QIcon(); + } +} + +QIcon MessageBox::iconForStatus(QMessageBox::Icon status) { + switch (status) { + case QMessageBox::Information: + return IconThemeFactory::instance()->fromTheme("help-about"); + + case QMessageBox::Warning: + return IconThemeFactory::instance()->fromTheme("dialog-warning"); + + case QMessageBox::Critical: + return IconThemeFactory::instance()->fromTheme("dialog-error"); + + case QMessageBox::Question: + return IconThemeFactory::instance()->fromTheme("dialog-question"); + + case QMessageBox::NoIcon: + default: + return QIcon(); + } +} + +QMessageBox::StandardButton MessageBox::show(QWidget *parent, + QMessageBox::Icon icon, + const QString &title, + const QString &text, + QMessageBox::StandardButtons buttons, + QMessageBox::StandardButton defaultButton) { + // Create and find needed components. + QMessageBox msg_box(parent); + QDialogButtonBox *button_box = msg_box.findChild(); + + // Initialize message box properties. + msg_box.setWindowTitle(title); + msg_box.setText(text); + msg_box.setStandardButtons(buttons); + msg_box.setDefaultButton(defaultButton); + + iconify(button_box); + + // Setup status icon. + int icon_size = qApp->style()->pixelMetric(QStyle::PM_MessageBoxIconSize, 0, &msg_box); + msg_box.setIconPixmap(iconForStatus(icon).pixmap(icon_size, + icon_size)); + + // Display it. + if (msg_box.exec() == -1) { + return QMessageBox::Cancel; + } + else { + return msg_box.standardButton(msg_box.clickedButton()); } - if (msgBox.exec() == -1) - return QMessageBox::Cancel; - return msgBox.standardButton(msgBox.clickedButton()); } diff --git a/src/gui/messagebox.h b/src/gui/messagebox.h index 222d6afc7..28c73f66b 100644 --- a/src/gui/messagebox.h +++ b/src/gui/messagebox.h @@ -2,6 +2,7 @@ #define MESSAGEBOX_H #include +#include class MessageBox { @@ -15,11 +16,19 @@ class MessageBox { // se spravnejma parametrama // a napsat taky metodu iconifyMessageButtonBox(qmessabebuttonbox) // ktera nahraje do daneho boxu aktualni ikony - static QMessageBox::StandardButton showMessageBox(QWidget *parent, - QMessageBox::Icon icon, - const QString& title, const QString& text, - QMessageBox::StandardButtons buttons, - QMessageBox::StandardButton defaultButton); + + // Performs icon replacements for given button box. + static void iconify(QDialogButtonBox *button_box); + + // Returns icons for standard roles/statuses. + static QIcon iconForRole(QDialogButtonBox::StandardButton button); + static QIcon iconForStatus(QMessageBox::Icon status); + + static QMessageBox::StandardButton show(QWidget *parent, + QMessageBox::Icon icon, + const QString& title, const QString& text, + QMessageBox::StandardButtons buttons, + QMessageBox::StandardButton defaultButton); }; #endif // MESSAGEBOX_H diff --git a/src/gui/messagesview.cpp b/src/gui/messagesview.cpp index 61d3ea884..594b18057 100644 --- a/src/gui/messagesview.cpp +++ b/src/gui/messagesview.cpp @@ -9,7 +9,6 @@ #include #include #include -#include #include #include @@ -222,28 +221,25 @@ void MessagesView::openSelectedSourceArticlesExternally() { "%1").toString(); if (browser.isEmpty() || arguments.isEmpty()) { - MessageBox::showMessageBox(this, QMessageBox::Information, - "aa", "bb", QMessageBox::Ok, QMessageBox::Ok); + MessageBox::show(this, + QMessageBox::Critical, + tr("External browser not set"), + tr("External browser is not set, head to application settings and set it up to use this feature."), + QMessageBox::Ok, QMessageBox::Ok); - QMessageBox::critical(this, - tr("External browser not set"), - tr("External browser is not set, head to application settings and set it up to use this feature."), - QMessageBox::Ok); return; } foreach (const QModelIndex &index, selectionModel()->selectedRows()) { QString link = m_sourceModel->messageAt(m_proxyModel->mapToSource(index).row()).m_url; -#if defined(Q_OS_LINUX) - if (!QProcess::startDetached(browser + ' ' + arguments.arg(link))) { -#else if (!QProcess::startDetached('\"' + browser + "\" \"" + arguments.arg(link) + "\"")) { -#endif - QMessageBox::critical(this, - tr("Problem with starting external web browser"), - tr("External web browser could not be started."), - QMessageBox::Ok); + MessageBox::show(this, + QMessageBox::Critical, + tr("Problem with starting external web browser"), + tr("External web browser could not be started."), + QMessageBox::Ok, + QMessageBox::Ok); return; } } @@ -254,9 +250,12 @@ void MessagesView::openSelectedSourceMessagesInternally() { Message message = m_sourceModel->messageAt(m_proxyModel->mapToSource(index).row()); if (message.m_url.isEmpty()) { - QMessageBox::warning(this, - tr("Meesage without URL"), - tr("Message '%s' does not contain URL.").arg(message.m_title)); + MessageBox::show(this, + QMessageBox::Warning, + tr("Meesage without URL"), + tr("Message '%s' does not contain URL.").arg(message.m_title), + QMessageBox::Ok, + QMessageBox::Ok); } else { emit openLinkNewTab(message.m_url);