From 9033dd8afc475f68905d56a81aa684d43f43c430 Mon Sep 17 00:00:00 2001 From: Damien Elmes Date: Wed, 4 Mar 2009 10:09:57 +0900 Subject: [PATCH 1/5] update splash screen --- ankiqt/__init__.py | 29 +++++++++++++++++++++++------ ankiqt/ui/main.py | 4 ++++ icons/anki-logo.png | Bin 5742 -> 5885 bytes 3 files changed, 27 insertions(+), 6 deletions(-) diff --git a/ankiqt/__init__.py b/ankiqt/__init__.py index a567f8d42..760b0ebf6 100644 --- a/ankiqt/__init__.py +++ b/ankiqt/__init__.py @@ -29,6 +29,26 @@ sys.path.append(os.path.dirname(__file__)) # App initialisation ########################################################################## +class SplashScreen(object): + + def __init__(self, max=100): + self.pixmap = QPixmap(":/icons/anki-logo.png") + self.splash = QSplashScreen(self.pixmap) + self.prog = QProgressBar(self.splash) + self.prog.setMaximum(max) + self.prog.setGeometry(self.splash.width()/10, 8*self.splash.height()/10, + 8*self.splash.width()/10, self.splash.height()/10) + self.splash.show() + self.val = 1 + + def update(self): + self.prog.setValue(self.val) + self.val += 1 + QApplication.instance().processEvents() + + def finish(self, obj): + self.splash.finish(obj) + def run(): import config @@ -54,14 +74,10 @@ def run(): app = QApplication(sys.argv) - # Create a pixmap - not needed if you have your own. import forms import ui - pixmap = QPixmap(":/icons/anki-logo.png") - ui.splash = QSplashScreen(pixmap) - ui.splash.show() - app.processEvents() + ui.splash = SplashScreen(5) # setup paths for forms, icons sys.path.append(modDir) @@ -118,8 +134,9 @@ def run(): # load main window ui.importAll() - ui.dialogs.registerDialogs() + ui.splash.update() + mw = ui.main.AnkiQt(app, conf, args) try: styleFile = open(os.path.join(opts.config, "style.css")) diff --git a/ankiqt/ui/main.py b/ankiqt/ui/main.py index 7d2e39612..ccf9282ad 100644 --- a/ankiqt/ui/main.py +++ b/ankiqt/ui/main.py @@ -48,6 +48,7 @@ class AnkiQt(QMainWindow): self.setupSound() self.setupTray() self.connectMenuActions() + ui.splash.update() if self.config['mainWindowGeom']: self.restoreGeometry(self.config['mainWindowGeom']) self.setupViews() @@ -61,10 +62,12 @@ class AnkiQt(QMainWindow): self.setUnifiedTitleAndToolBarOnMac(True) pass # load deck + ui.splash.update() if not self.maybeLoadLastDeck(args): self.setEnabled(True) self.moveToState("auto") # check for updates + ui.splash.update() self.setupAutoUpdate() self.setupErrorHandler() self.setupMisc() @@ -76,6 +79,7 @@ class AnkiQt(QMainWindow): except: ui.utils.showWarning(_("Broken plugin:\n\n%s") % traceback.format_exc()) + ui.splash.update() ui.splash.finish(self) self.show() diff --git a/icons/anki-logo.png b/icons/anki-logo.png index 030aff735de41b74ba222f21e33468a81b24d6f0..9151bbdd937da81d583bd1c77e97bc6f541dac96 100644 GIT binary patch literal 5885 zcmb_g_di>I)HhnCc2T2d>{+W+6}4jTy@d*z+M{+$(W0nY;VaZELQ#9S_K3Y_Yp)85 z+B}~=f5G#^^Lf3J+}zi_xhLmy&U>6FU2PT8y9{@6aBxV~RF(8`aB#`MaR?zEcsGx9 zdIvsmz4TQSaJ~*QZh9I5@;q|6aH_=^1q3J872RB199+F|6g?ea-VV=MUpad_u^Ku#u&StO>Fzz}bj88B4_8x?H}sp`MZGel zHktdrm*gVgf~%KzTOolJNywm3;?zM)qukl?nN>u2rFTPZQAu?rmN(N$^TaggfbIil z4j#0^_BQdzo9NF3gnERmO3_IX4zGM$o}@_= z;)3}8Z|m~GkANF~d_26i_V%}7VbD0nt=-*N*m@H|dO=J~%;BFuo?c$@%rXJHvyV<= zLqmFtjnLu@qzn8`;^{_cWBLE^uQbu8XJ`3&d8Zc_?BT`5#osC`H8eDCE)R#!&jZp6 z=p(+nZeGl-;ogmC>+bHJo0Aq0z;t%rW-~N3rDI|WUg;t|tq8qlrmC%4V!SWCR^gm`K0E=J7L29k^RvSjZEdlNqqhyZ=WETXq@p7KVR~zIcWXfA@~+ zmY$UrDl>DChw2kYS}TXz@?+PMNRjBQkn^IPoG{k+`}^*Pi&OD(*M(vk<@ViVABBX! zYqIh15V9Rz?6p?<((((Id>5wU7mhS_V2E8m+8X=qfF#z?==VQd-eRc#}6h} z>U08I5k*m4SokaYmX2+mT{|DW{S{U4<=I9SxFZH!Zf0)2JuAwp0FHHNe`RG$`VCXgB%!6!v5=BDZWc4uCy2YmkgQrK2HoK)>( zh~cC8X0MGwht=?{B7*|WGf-406pHkf3C53|l9EzeTf3=^hTnK!osp3d!p@#u_7)d@ zDY;a~7RFXJyy|(j+M5``B*Ml9+yC{002({s$F9&{TwcEapIZwrFE8!}vr^|%Ut;38 zl}H|{bvIpIilG{qE)O*k5fK>~S>&xgj1O>pTE;6`Jd#F`eHwLQ6|agM)*^z0V9a zDQU8CC)Ik8Qj4H>N>^*ujTV_`OlnI^E7}GJzxMZhtH(klBvLq7JokB`&%wq~D)jdD ze#q@?UaPBny!o7!ui*V%oiy*QhL0T12t>cJzU7xi&-^X*>S$?9>)HB$p7j~%Z{fyf zL!B*gOwz_iMiCTz{QS~B+thA*Im$7g6GID;%V;|6aAjj%&gd|dExg9sS?KZ$O3>Ta z*ZSM@C{>Po>M{PxYiW*|2Zx7a&cPxt=W1eWr{?AY=j%M0hnqq}LqVh5A!im46l{LA zmkG^vc6R0k&j>z0qO}PUaUSIeWBuHCLax_4Fd)do!^6v4ghtyZk(l^}2jO`4%Z5n8}4{ab7%V5U08=HB3viI}n^t6-pMoYiI zQBO}#4DCbf<^Z3yzGRTz!~Om8ni?*`Hn1ipd@fH9+*+^x9;|eODoYhGv-``-)lM1H zDR*;Ox$nypZQc@8-&^|=aRePsuW$bT{Ta3?y0o-ZA-lY?va+_ewz864?b8$llXo`~ z2L9hm_u$T`28rU_<~)wSKfk!VGnJ(i5EBz4XMU=xNBt@qDwKM0e%^AvjV=t752&}a zHZpQ>aOf1AuW}yy#HmroX;JfXDWb>R+&m*ABRxI6VJv|B3VyO@H~d*%?sC7q#H^B} zOpu$~aWF$FIXQW~fdF5RhZ3yJaAqn{&eP|e6Q|ZfREfv2F~A7fXd)!mA6-j!bg9pa=*ynWd%3#0 zz9VP3AEo43e_7GZe0Xr+;pr)=u>zXxa8=2195Gkp@>DOOe{BdPD@D)(Gnd&ON!s7j z^Q-GA2^$9o2M81FeXZ-lc6HX`*q9hQd;8Q>s)@Cgm5hDY2aQyrV`BW0lPY!443hmC zERckrnVA_7V`rx_SK`d{bkp_u4io#w^lKh;CbTLADjtipO+-IBgO*n#g*TxM>|$nS zX7=52Ybn$;G(@jM!gW17DpFHvYga+TXJ==_$N4fdGdG5^Sf2WoJNv9}YydEMkf}C| z%D&qAk|pc@>rHMhd)ejsz<;2_Utb-Y=)Wt;jzzc;<6W@b!M zp5gr5V3!_9x@Jgu6=Y>)H8(dK@;NjmO`uK0MxKxf{`-68i#FPW9Vkp$q9hl$q#HL$&b``DKsDolhj)SmkP;V}77znNicR_D&$Vn9h6oOWu+%v8cuNKWwEYnEyv0w~6mp)z;=- zL(3YDU!J>jYZLDwM{-r<_HnnzYZ=7zj~VI-$-Sx1reo9?M+lvrKNKXSK#N}UoGiSA z)zGI#9=vcTVH>9;5e@|;LdNuD{Mk;750+aiy+e@xsoy?m&bov(SI>*TyTil7+uJV` z$*zCBB?kziprB9}5p!SAyxuck7uT1n-m)d|1iLl%<*@G&!vLbJxyEP5cwBBv48KI< z%k6FtK);Te{*k3iCw$4_-#KngYCAtPF7~x?yKYvW&>n#>MiFvAo*2d!wkK{051E!l z3LjfX&cLW|jWD$dF!r@%oLr0;;Tb60>m2!xvxL!_|!}?PI z*3DaxZr^_-$RtqMg`lob0@5C|`QqZP8` z!62~n=XNf_EfpG{Dk>@#+|<$wTCdL$RN9(aTDwwuY2wbK^?Efe_m)MPLf{KhRC2pRw9>srBf9QHpMRQwPt%QSa<@>Ps z3T7A+#YMrwGQ`g-C^#@Ui2c)1={S^psnozr=fM{BX^<8tY*(Ynr6s+i4`i!Nl=+n#9z(8E>bVw~LE50FtDhO!|c zA(ngn;z)-9&1a9R_^G3@H{V!ZUmi@BT10q$^H}Mk7lV_KNNwSlwvBQ4`udIluun+P zFEaG&L&0AJ${P&+bTMa8Bh=Jj7t}&Hf6!xpGC`axqrN?!f1FPFwlg%&j%06|W}Qv! zZ+Zmz(@}9$M#jruTR=?kn|xiptqGVkXsIm%TeW(2xS=I|fL&;8`s6CK%Y8ov;CvrJ zS$$~|5?KcyU=V+^+1!!xuM^n4RMd>FtYmnPEIkFz_TWkWgkzw~rK zkANgUypR#HwzkGV-gH4y`~B^M5C}Ao?nF~>U`T~*RV^(hxsa!Bsp|RBv9Sx4j`8%; zvf3_6r08 zfX8zoDSxGEbzmq=@`EmRYXS6gy~2sh#vdZD zxW57=RRv_Q%uA84FZH~KB6oC4P(T2<9Y07a3gvQoXx#=&W+hDAAk})17vVTDK29js zsIIOKfk499wnDRw&bjc`S614S6E%{H?eqJLNwq3vi4@5FxdLj^Ht&D2tle3LE1Jf{ zj%5M!Q0Lw=U+b1t5swn45_p>B_^1V`1p9?GX@f21Mf}ZhfUufeZP0_9yFHW_#@F`L9<~|gL$dGUX^V3RSSc> z)#D@a;G17@yY4zM`SOzl+pdh=Za-TFn$*9&D=aK@fA#7MPjRXsg%`c;RGH1|=wk-nR#>wMk(yk+)MxyxLQLw`yrE_{#>P`Vl5CK!xu zPnal5M#}Uat<&)zgGn|aeSV_Bj&FV`G?iDn&puF{-V3QR_g?o!ho;U-PwKT=-!#_L zNC*gMBCFrPrW<^A0ygR^a1n2S&>=FwR-5mZ!`k5(BqcR+V~%&G`JFXf408f9xrM$ zFfOx3A(4axNO}@s37>C;g-*M()ov|k>lOCh<`!r8t@(8EM+quteY*}FZ#z;h7H@)? z!n})7WIHjvN?gLRFppfor$=EKtl>(K1b5}DYh?st2a_fStTO+6^2d)L+(=nVjUpCA za;i;8eg8&7hnO-o;IHu3Ro}TRAQm{=ABBVIeYa&)#gBx9Jk(Fxt;x4``7jo ziQyfVC8|~-?`0o_b%fbBH1+)YWefY+9CRiMCnIB##h|5FS>MnS{EpY9uJ$`v-fOwg zuG{IPwfR@zN)X)ImPP_(OSefe8ZGIzn30s!5j?yn@<7kgOt4`-z`6q?{w~w3x$$DN z#L-r>d{`X(@E;wyE5kZ|QBhHLcEz9kaCyUqxHt5F1fF|%9AqoLn`W>qIWv#A(9JWA z?`|7_>|EZ>*WbE4JB(2LXZkUtctDxAeK?}E_LFxs_IbV9PA(U;fqE6b27|%U($e5+ zr+bR$tQDPwojiXI4`&#t^(}?Ej2KE&x~kqEYcfBt_TyC=YUp!PLR6{d=1)*J%&8lR zJNG?!G$BYmk!&I7ILL_AUnb$!$sDgwN+IG&?i(LB%;a}NAf$mqV3PJFA#pZq^mVbf z&mGPtCnAypW-E!;fW(IUSHdJ8R1neOeuA~a29QZ$#EE+)zvgk=--a;l39$nuCqf@( z7UdyLkG1Dc-xP`=EjO3#gSWIgu$bH6FA~_FExls_UYgZ=4IdvLc%cX#>bHfP!+a>> z$d+bHy@VKVQ)5p`i4m*yDd+TNjgC=m16mUrBGu{zJ6>Al6 zYBLBj1|P~?n4Ik5Kl%GtHt=srd_4Jkb;ko)3k!?()Rfg|Qpq$EuC@p>!Q4po`kkc* z%)YBRVsfG~G7C*Zjr!EpfhVrkY>}`h?4?)fHm|RIW~-drCcS)o0E;t=*xh;`O@_Qf zXK7^>Yi0f^bZ%bsQ`W@t4y)&Kj~WnIDlEZAef(tt7B#;Ub!2B6U+o?5OwrqaPTb&e zXPi3YdU9xPgBqu&rIq{$-!YYR`?K2Hc4vfSfh9Kf=UNTO%8QUj{c5u9q8e#}8XCM^Vn}D)aS@y+cDR z(!MXv%;?K3g;H6bcss3Q(pdS(9|s)qDC>cd1eiV)-2O3LY)UZCgPHMmnZ8B+|aWDV}HpxwX9~MvgN51&kgqAK!Aa z2FE8b^0`YJ<|q#l;1IC_oati!{9%Y#&DoC{0sn=y&w$*Sjw%K%oSC-bIEDP9r%T z9ZDqacZrFA2JXq^mXu{?QU&F`6pq~9-UiBb706orH#<{hk{Vqh@uPui=|G49Welc> zgxRyRvzM2beSLk=(a~L9(4{$jf1q~$<)ozM^XFe+7&ql4j!BS^kih=$0?riEXa*jY zo0}VvDUNfAHmiO?GglhO5DR4wx=oIAIahsGFyj_dL)J#xEODqmUB0B5-;F*He}Q zRgBPW12dFeB$N#q6)}ka}=Bc}i2^<8%Bl~ZE0!q)M0w%G&R5cZ`=g_DLXe5XYwJ!2B~|IlmDzmtD)aBi(D3k35;S}H zknc$tIyNDlnEOh{yZ?1T)fZ-5@@sK%ad~-pauU8b`%_Cxix}hQtO8x{;J^SbF7CEz^OTx@K^{O`Q>D*sc52)TFd3{OX6YFSI)k7Xe`k%pN{IKAxT@=jXL`by%R}`5ux35&{rA8=-61?r%&H878exQoo$UT+^@=DEkv)$t1gM)*5*F`zv z7c4BRTjTj+@!SZtZ}w{6NkKAqrPa+_{(oXAxaH*J`0)czheaE6b)ahFB^^$C4{A%M z%CL*eOJ(AMiV8kqVZ>)Ua>bZ-j@T~#vT`lw2*A1q5C{v-zr(}PgNTRquWt;La-xVB zHrhb)Gmd@%0cfCyt5u>2tIr?UUTMmhX*t_SljABH8BxyR*X34Lwp(?gA)0|NfBg7S ztO;LJB;mOPB}m7@Lerl2)1-kzl3sZ^#3%}zi2n1i6&@ZX&)AdOgT}9eCNZJNqwA^3JOVO>YuL}p9ZTm&XR>n%b=?7N3rR z=R|~rCjb2TGptk{$OKMYS|9uh|41E<(m@ z?mNE_W=50m!`(Fo;;G@Z{S`8Oc+}4o$05Y;9%SnG1i}2`Z9P(hMkPiO6u{?QDSWk~a z*O|Vwr=8u4-VCNehx8YhPWigz!XhGU+?>wIhs}!t&00zngTl@;(Z6hd90~0!KiUiN znK$T|nc;zo%gTm^h6?rp8*&1V?`8-mJoZ@_h=}^yfWkh^!&o1^5+jU^jK;^uCFv7X z-}=l+T6bYUAP|Je`;LeETgSkx%uF`z>^stfPf=0I=H?4&LQpO)uI$&rKXf=y^Yh%? z+|@{A9c+GMb2Ew&r`Kv`HZv#Zjk&qGrRCD>tcr>-Vp&5gDUg7GpkFO}AekS7pKdv@ zw6^Tn|HOH!ST~N6*9I$b51GaZgr4D&l9ILdBCRYZM@MT>$~|utJ9qb^Pqd;33ysx| zlZAju0|Nu)<>fJC&(6+VTwDq@(oT+h8Q!$`{rvWgSzJ8*e5!e4<@7p=@VQM09e%e_ zrDgeP?;oklqSJfEp7-f)A|fIwDlgdB*a`~^fg?xk1dZm43?`h|xHy)i_}!PnJ~oRC zs?lukwOCkKQ(aeAS6f?e zo%-8?Z{MmWTwM65s}Ii1%(R)eK6CA^))sJ?t&$477)ldTK1H3JoNNqdK=k#yjcCCi z6qr?2Rjpqa7U($|8yl;ssXeyVil3ESe%Rt>8lRe)nw>SawA8xePE;u?FNe9f02YcN zk^!4?kbf!fbvMuJvBp^ep@I7NtD1Ay+n1EE?p#~_H?w?QV6f3FiQd)Y9-Cw5%GQm& zJr_sE{((&*0)p?lCie8Uj}P}?k+@&~e3yfLm)nB()E4^^StchYikXmXM;8|(gM%58 z{wLj0L~qi$B*erDzJG6QXc!yV-Ps8b4|iQ^xmL@j2%d1z*4Exp!S`M{_5&0IEEyQg ziG6*2Tiry`dk^%3$D`F5?qS>>VXI*(46{_<82qVENIs!vo|!_SQ0;VZjH#Zf=|Br0 zawJkvSy|ah)z!5kA%Q3kwYRe3et+YQhljVg1Nh+C$;m`Z4)P`1^^BQY*6U!@!a}A| z2(XHd$yn71F2{c(m2{=OT_~>tUW@aXfa(qEyp%DaveanvkE*@@ar8!o;F+;7AurMMae<9h$ASo}Qk**z7x+Ej2$q zJv}vLz(GzL??0HrtI!rfE$BL1^_O*Pd7%*wIDDExo9B9LLV|Xs0sYu30-AtAVf=1D z?uLejb_5nwBl3*&_{Ub!D`1AmEB-S`^<8hq@N_w@x0}VwUr26=(8k3d@YS@$OuZ6G zzoXoN_h~WE4yX2&3XA5x@p8Z?c4x}r?(W8op6lC_MTg7n%d@i_N&OEGw}*Rsdw@iq zJ^T7x!iS&xdM!yCn7KjlIsd89R8u33QK8<5^sV7tYAdpQbAYl$jBd* ziaz$r77~$NVc6(jCMBtylKwX1nF7(MiND39ungACl}>S8i_B+*M)y=$*~?tPq6 zOy^UCBxL#Cv}xQI>gEX^xBM52>*Gdn@bFkffUxlU6K#F)txuZ9zOpk6cE6RMkeU>9 z9Tf8D-NJ%{wC#;|YrjuPle@mzt?cgZZf#mOcl@#YG|Ie>r8cP;;nPg@K7O z4oH|H&NDowjdFR$KW!A{3IbE29w;&+e z@q=fel_j$4<7U_#B8yira~UQHV!#T*EsyC)be|Uo2hLVm%gV~ubQKi5C^0~Fo9LB* zIXPpDsECPk;gsQ#K!5@i;pnaA>gsA@LS6pZLZrE|aeaMVV7KhYk908)8zm(yDitf` zjKCB-`UFw$ohgfEpZ)pz1aZ*5b#;qHJf4n97)UM;6Q@TRge#wr&87F?BK?Lb7*(>? zNv!r(NDlYnv{*OF;iU=k!>jO0XohS$L6ffhcyx4h+cFkiZ~Nmz;BzevEv*A-k=yHQ z;O)aRGbu(Pw-+!sx5Fn5U!G>PvTMZgP{wTnankp|e8c#vP;0#+obvU=eu7~O=t?>E zdrGYY)oBY4CKg&W|D>1}m2;+;F1CWA;H9c?xgDD^--T2W8 z0{&@RBHRhA#*x*9_bnv_1qB1c=p8CY!q>Gk91{kES*^UwBFWPL68P5E*4o;dVX2Wo zNzivBe7!Lgcee?nue!(l5)VhG`1V|*s??OcKeX=Nl2@PONsi7Iw4!_ZV-YN)H-TZa zWjQ7$h9;iUO0A)^lv|i|jG*U)Q9O+EGigl0Va?UQxR<1)q^Sl=t%1HeI%6FLf)Xf= zNn0T8kByD3tXSpg^hvIJ(E3z02p=A5u@Yk76!g3!?L~+wME_JvWCJ&}=vs~!P}z1~ z@^8w!U-G>POss=BXbE+CND2t(c2AO#k%_`k3WIvQZ`ve9MeAQePHxV3o3gIf`pHaH z86ZFZo?btF`qb|C=KzF_tu4T^xLEu*Q`J&{^3x}&gd8-?&FSEuDCn>w&Ml}zRq=M4 zs$8+8S-3km7k*LGzH~)5Xa2xG7p-wlj3?#SR@!Ei^^G}k>v*+yiX;dW#to^^$Pza^ zRpYa4QBj`;Al=l|w64D1+55cM-OKC6O!GLCuaf>id_19)l+<$+NcJ<3{q=X>+CKYgXL;^~7X|x)ti06n4Cn+KV1^T}XR88^wCXkk=E$@j~Xw zv;#3M+Qx3QD zcwV6`T(1J9G*8168MIH&Q`!C?uJ5OnEm^Y9Z_j+Jak`wurs?VBHO2e#3CODTQVW~E z1mG-57z$h{%ur=D>{wGhUQl~qL9KSn(UWz$He3s3HLf zwY9ZXS5tc%^;Bnz08h3csx#1yCcq4j0E0g2jA%rKH*cyvv?FZtgQuTQdn3x=yiL0WuZAAgMf`frS)Wo7fp`|;388c z`a;kVyKJQWV9M<5Y-rphqcS5RCB+p$uiwurW$X-m&UXgF04^Q=LB%@_BiA4P{H+_Qa44SpdHa2-yJ< zc=TtLBJGz;fvtqoo2S=HOG|BSZU2#wA+!F<(+J*FWYN{3qJWXdP<&c<0Bk=?!dFsK z(sBfomy2uXycG*6l0@%$xYRoI*8~&>Jg1GYTk6%o0o^@h4W_|YXOE7&SW(@J+ui{>BAYHg(^f)~cl`Yiooa{Fqm_ zuTCxMl8g2q14|@2C)mEe#<7D=O;-O}S_(ncIBE#*`@7cFHF#~4>TefmW)$vwdZN=Q zC(r}3aD_tI%NP3lw}GTOGBWZ$by&fv3&73Oi1^~6LP9gLV=IUHiv|+89ksml&46N^ zS3?{?b7L_^hAI-^(T{1KdTC2EQ&;=-%V_B6X^_$1zX5ANhf)RJBZhmzAhfi!uxH}T zGOf(a$xG$?HovP2bQ)`G&re6CLm%%iA?2p$Kr19$%;Vp|VsnpvWt2xfKYr<*Dz*7TTmt&B%b-+n)!Atd&~BWo4gqIy|4Cahm%mhenPB%g}wy z(XIfhsKqL4d0kyypoG-a)C>s;0cv~=4g7HvMX)?;p?1#585|%)Kp$53%#`Hh3qXI# z=&iH!;N4<5Q`mCoWAM&Y$xz?u?5r3I%X^Vt7x$_(Dwp%$v~D;UXv4s2h;l<36(t** z&1m0!#HdQ@hgU8D9timT%}szQD|2FW>Q*P+=`@_~Vz;vW;yc;y8+yDi96UUkU`IWB zd)9Ju9?Bf4KtRfK?>`Q2Z*NmYrlqA_-`?(~%rKTRw<2E?`GEf>-ZP2C9|9F|TU)k? zs)7Q*zAXIs>e||nIZ1#55QCGKQNxVxS4Y-`F*!iwks0hmMj(;M7&7*hl$419Otenm zGF86~8=L{O=A!$zdIW#dV1;tcX<&phlOu)XO1M3;B>j<9Ri8~_zJ7gnd>Ud_?`l}T zpk-`KRlQqVQ*#D@{=L_82B`qA^Bu#D@?gWubJpA+Kb%h1`lpuA(Kur1CH>sj2N3T$ zN+*xaOUg#yM4fgxVW@5L)_cR(vn{2do_Gh%P2CzDdP1f3r}xvpxE(* z!_h%tFqoW@at5f@Advc+8vf9hsK|x}vHxr`P5JEEW<~K)?;iJpIf6>XH7x_NgrTowW9h6`E3#(H_wG1*s}(DOAW=h5sMxcmvk} From 6a8a88dfc65edcbab5ba6647e7204a85a7d7c36b Mon Sep 17 00:00:00 2001 From: Damien Elmes Date: Wed, 4 Mar 2009 20:50:03 +0900 Subject: [PATCH 2/5] '), _('No tags')] + self.alltags)) + [_('All cards'), _('No tags')] + self.alltags)) self.dialog.tagList.view().setFixedWidth(300) def drawSort(self): From d53ac03b7b0ca53ab95e8e4dceaf064b6c1acda5 Mon Sep 17 00:00:00 2001 From: Damien Elmes Date: Wed, 4 Mar 2009 20:50:10 +0900 Subject: [PATCH 3/5] layered progress windows --- ankiqt/ui/main.py | 21 +++++++++++++-------- 1 file changed, 13 insertions(+), 8 deletions(-) diff --git a/ankiqt/ui/main.py b/ankiqt/ui/main.py index ccf9282ad..306446b18 100644 --- a/ankiqt/ui/main.py +++ b/ankiqt/ui/main.py @@ -2017,7 +2017,7 @@ day = :d""", d=yesterday) addHook("dbProgress", self.onDbProgress) addHook("dbFinished", self.onDbFinished) self.progressParent = None - self.progressWin = None + self.progressWins = [] self.busyCursor = False self.mainThread = QThread.currentThread() @@ -2029,20 +2029,25 @@ day = :d""", d=yesterday) return self.setBusy() parent = self.progressParent or self.app.activeWindow() or self - self.progressWin = ui.utils.ProgressWin(parent, max, min, title) + if self.progressWins: + parent = self.progressWins[-1] + p = ui.utils.ProgressWin(parent, max, min, title) + self.progressWins.append(ui.utils.ProgressWin(parent, max, min, title)) def onUpdateProgress(self, label=None, value=None): if self.mainThread != QThread.currentThread(): return - if self.progressWin: - self.progressWin.update(label, value) + if self.progressWins: + self.progressWins[-1].update(label, value) + self.app.processEvents() def onFinishProgress(self): if self.mainThread != QThread.currentThread(): return - if self.progressWin: - self.progressWin.finish() - self.progressWin = None + if self.progressWins: + p = self.progressWins.pop() + p.finish() + if not self.progressWins: self.unsetBusy() def onDbProgress(self): @@ -2054,7 +2059,7 @@ day = :d""", d=yesterday) def onDbFinished(self): if self.mainThread != QThread.currentThread(): return - if not self.progressWin: + if not self.progressWins: self.unsetBusy() def setBusy(self): From f3f68a496bdc1db7fc54ff0611ae211004194f99 Mon Sep 17 00:00:00 2001 From: Damien Elmes Date: Thu, 5 Mar 2009 00:22:52 +0900 Subject: [PATCH 4/5] bugfix --- ankiqt/ui/main.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ankiqt/ui/main.py b/ankiqt/ui/main.py index 306446b18..61dd162bd 100644 --- a/ankiqt/ui/main.py +++ b/ankiqt/ui/main.py @@ -2032,7 +2032,7 @@ day = :d""", d=yesterday) if self.progressWins: parent = self.progressWins[-1] p = ui.utils.ProgressWin(parent, max, min, title) - self.progressWins.append(ui.utils.ProgressWin(parent, max, min, title)) + self.progressWins.append(p) def onUpdateProgress(self, label=None, value=None): if self.mainThread != QThread.currentThread(): From c6d9d0ceecf41de1a08942e3fdb46dbadd15921e Mon Sep 17 00:00:00 2001 From: Damien Elmes Date: Thu, 5 Mar 2009 00:26:37 +0900 Subject: [PATCH 5/5] pass the diag, not the python obj --- ankiqt/ui/main.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ankiqt/ui/main.py b/ankiqt/ui/main.py index 61dd162bd..1f7e01f3b 100644 --- a/ankiqt/ui/main.py +++ b/ankiqt/ui/main.py @@ -2030,7 +2030,7 @@ day = :d""", d=yesterday) self.setBusy() parent = self.progressParent or self.app.activeWindow() or self if self.progressWins: - parent = self.progressWins[-1] + parent = self.progressWins[-1].diag p = ui.utils.ProgressWin(parent, max, min, title) self.progressWins.append(p)