From 5dd5ab710a02e75f34138d20718f83a07c98aa02 Mon Sep 17 00:00:00 2001 From: Damien Elmes Date: Thu, 1 Dec 2011 15:41:24 +0900 Subject: [PATCH] connect current card editor; ensure same card is reviewed --- aqt/editcurrent.py | 5 +- aqt/main.py | 1 - aqt/reviewer.py | 105 +++++++-------------------------- designer/icons/text_bold.png | Bin 1620 -> 304 bytes designer/icons/text_italic.png | Bin 1378 -> 223 bytes designer/icons/text_sub.png | Bin 1487 -> 279 bytes designer/icons/text_super.png | Bin 1513 -> 301 bytes designer/icons/text_under.png | Bin 1549 -> 273 bytes 8 files changed, 22 insertions(+), 89 deletions(-) diff --git a/aqt/editcurrent.py b/aqt/editcurrent.py index f02c7771c..78ce857d7 100644 --- a/aqt/editcurrent.py +++ b/aqt/editcurrent.py @@ -23,8 +23,9 @@ class EditCurrent(QDialog): self.connect(self, SIGNAL("rejected()"), self.onSave) - self.editor = aqt.editor.Editor(self.mw, self.form.fieldsArea) + self.editor = aqt.editor.Editor(self.mw, self.form.fieldsArea, self) self.editor.setNote(self.mw.reviewer.card.note()) + self.mw.reviewer.cardQueue.append(self.mw.reviewer.card) restoreGeom(self, "editcurrent") addHook("closeEditCurrent", self.onSave) self.mw.requireReset(modal=True) @@ -39,8 +40,6 @@ class EditCurrent(QDialog): r = self.mw.reviewer r.card.load() r.keep = True - # we don't need to reset the col, but there may be new groups - self.mw.col.sched._resetConf() self.mw.moveToState("review") saveGeom(self, "editcurrent") self.close() diff --git a/aqt/main.py b/aqt/main.py index ca920eb18..28816c128 100755 --- a/aqt/main.py +++ b/aqt/main.py @@ -292,7 +292,6 @@ background: #f3f3f3; margin: 2em; } h1 { margin-bottom: 0.2em; } -hr { background-color:#ccc; margin: 1em; } """ def button(self, link, name, key=None, class_="", id=""): diff --git a/aqt/reviewer.py b/aqt/reviewer.py index eaf16f7eb..a22e70fdd 100644 --- a/aqt/reviewer.py +++ b/aqt/reviewer.py @@ -19,22 +19,18 @@ class Reviewer(object): self.web = mw.web self.card = None self.cardQueue = [] + self.hadCardQueue = False self._answeredIds = [] self.state = None - self.keep = False self.bottom = aqt.toolbar.BottomBar(mw, mw.bottomWeb) addHook("leech", self.onLeech) def show(self): self.web.setKeyHandler(self._keyHandler) self.web.setLinkHandler(self._linkHandler) - if self.keep: - self._initWeb() - else: - self.nextCard() - self.keep = False self.bottom.web.setFixedHeight(46) self.bottom.web.setLinkHandler(self._linkHandler) + self.nextCard() def lastCard(self): if self._answeredIds: @@ -49,14 +45,19 @@ class Reviewer(object): def nextCard(self): if self.cardQueue: - # a card has been retrieved from undo + # undone/edited cards to show c = self.cardQueue.pop() + self.hadCardQueue = True else: + if self.hadCardQueue: + # the undone/edited cards may be sitting in the regular queue; + # need to reset + self.mw.col.reset() + self.hadCardQueue = False c = self.mw.col.sched.getCard() self.card = c clearAudioQueue() if c: - #self.updateMarkAction() self._initWeb() else: self.mw.moveToState("overview") @@ -208,16 +209,13 @@ function _typeAnsPress() { def _linkHandler(self, url): if url == "ans": - print "show ans" self._showAnswer() elif url.startswith("ease"): self._answerCard(int(url[4:])) - elif url == "add": - self.mw.onAddCard() - elif url == "dlist": - self.mw.close() - elif url == "ov": - self.mw.moveToState("overview") + elif url == "edit": + self.mw.onEditCurrent() + elif url == "more": + self.showContextMenu() elif url.startswith("typeans:"): (cmd, arg) = url.split(":") self.processTypedAns(arg) @@ -228,76 +226,13 @@ function _typeAnsPress() { ########################################################################## _css = """ -.ansbut { - -webkit-box-shadow: 2px 2px 6px rgba(0,0,0,0.6); - -webkit-user-drag: none; - -webkit-user-select: none; - background-color: #ddd; - border-radius: 5px; - border: 1px solid #aaa; - color: #000; - display: inline-block; - font-size: 80%; - margin: 0 5 0 5; - padding: 3; - text-decoration: none; - text-align: center; -} -.but:focus, .but:hover { background-color: #aaa; } -.ansbutbig { - bottom: 1em; - height: 40px; - left: 50%; - margin-left: -125px !important; - position: fixed; - width: 250px; - font-size: 100%; -} -.ansbut:focus { -font-weight: bold; -} -div.ansbuttxt { - position: relative; top: 25%; -} - +hr { background-color:#ccc; margin: 1em; } body { margin:1.5em; } - -#easebuts { - bottom: 1em; - height: 47px; - left: 50%; - margin-left: -200px; - position: fixed; - width: 400px; - font-size: 100%; -} - -.easebut { - width: 60px; - font-size: 100%; -} - -.time { - background: #eee; - padding: 5px; - border-radius: 10px; -} - -div#filler { - height: 30px; -} - -.q { margin-bottom: 1em; } -.a { margin-top: 1em; } -.inv { visibility: hidden; } - .cloze { font-weight: bold; color: blue; } """ def _styles(self): - css = self.mw.sharedCSS - css += self._css - return css + return self._css # Type in the answer ########################################################################## @@ -417,7 +352,7 @@ padding-left: 5px; padding-right: 5px; td { font-weight: bold; font-size: 12px; } .hitem { margin-top: 2px; } .stat { padding-top: 5px; } -.stattxt { padding-left: 5px; padding-right: 5px; } +.stattxt { padding-left: 5px; padding-right: 5px; white-space: nowrap; } .nobold { font-weight: normal; display: inline-block; padding-top: 3px; } .spacer { height: 18px; } .spacer2 { height: 16px; } @@ -429,17 +364,17 @@ button { font-weight: normal; } + -
1 + 7 + 3
-
%(middle)s 0:53
- +
0:53
+
-""" % dict(middle=middle) +""" % dict(middle=middle, edit=_("Edit"), more=_("More")) def _showAnswerButton(self): self.bottom.web.setFocus() diff --git a/designer/icons/text_bold.png b/designer/icons/text_bold.png index 7984923fe76ca943a1b8b9ec29b538217a62c629..889ae80e37b6167cc15f2a89e05a183815ec18b2 100644 GIT binary patch literal 304 zcmV-00nh%4P)b^}|6b=Y6y(;Y{!a!g z@UQp#@Aw}>L3(}s|7f5BUjeuKZvQRjV<2U7yvu*H{aAbvQ6K!@3oKzW z-{Qa8d3gae1^)HE{~f^!v<1}u>;4xnKvUpW540I-w9J3a{{r=B3T*2g{_BH1CtaZO zpZ`6V0*V5g1e5i;`_=Z#_e=H*@8|93RG@lX;D!K7TKswwko8{x0000=Lf2qL`sNO+Mq0&j-I zpdmgOG?51rNF#^_4NyxYDHmITRtT#=H&p1hyWO46`F)s~vuCDTM9<`8&YatS`Tp-e zXNZ{*m9vLdrB`+5d!+O?5TO;!8K`hjg_XmqjCZ|pHv6aw#_!6b%Mb6*`*QXB`SD05 zMGB0ZZ+>O|g3_m!rCyz}!E6dVi*kuKD;k-aw0A9h>+w0Qz+ms96))tTTp;js|4DdK z;J*kr=2S`(sm+Vtete!z>|K}Y`tU}twEfq>0CNM_ehRcjy^ z3nqfWAhXMR0)PB6tio~7^xu&uZszliYiZt*c{I%ivU{Xz9qv2#y{- zis9j5OixckDFvkz8XFstPNz{SmC)4GgpQ65ba!_{T2`ogTseyR3?_* z&Q?~gT&b;BN+FxgLI{D)n>Qny%_5)AV`yjyA0Ipz;GV3Z5~jz+j3i;=Y_ypfwrxWQ zp{wuvdPy#qL$O$dloI{@{eiWK8YyBLEn^w1j&Ku2X<106QrZK)@9VL0xr|IE0|01i zYYT$UjDeUzHKV182UI+PBomJ%B^nwUv;v;z0SKagcz77D>p}>DcXsRm2@%JS2*ezR zKzqQzgcGhet&mc}aU5;^ojZ5X*Vl*Br%$6$C}7K$E!ekjA9A@I>J}mp;w+FR{>j9a zEHdGDR_-aRr!2&!j1`G^2be)t^#{e^9 z`}XZvx^yZ2x_=)B4jjPAlP7WN)G2J;x)mSn-W~HEF+*n;1A-YWU_B8!`lD?k52Vv+ zIF5r-xeO3t@#4kUvu6)n*M*c4y}iBo?#!9G6eJO6K|B#9XqY^NEFs`Hj;@oFlUhJq zTN~!gnFH5#;kqs^Uc9KO7|jvM7~t6;2*9c}Lxn6Ukxr+fl*0JJ8BWEew4VB({Ttwrz}!jp5dT+_nwPAstOabWx@P z$;+hSfk+8vMn0cMCX>OEB}-zl@#xVbxUP$?t}e8+v;=t|nFW)@Fj}(0q=vwIRC9kc zIn;jBrcL@h*OZDP+xQM}<{0i~;Zngcm?ov~iED6z4l4c{!=Iz0H}VLPW`s^skw61q z4(I5LY&foz0zd4p#hk(oF)`k70SXKSi1Bln`r~sV=uzkT7PrgucH@iOgDb2otPCXjv*yh()kN4+5| zMr7z@6CJ13ai|CV;Je>~RB-e0r$yhTd$|r`W?VXwTe4!sgC7N{+>E~=vuy_K)BcQ} z_NT-E`!qIIaywi0k6sl3u;HWI`P(;}yQ)+2oBu6bJ)7|9Y4P*u#Ju*F{i9a_ Se`aw20000C#5QQ<|d}62BjvZR2H60wE-$B^mK6y(Kw&{<9vg>Q9!g~ne(gm zmj4swoA@7?D86%i^8WzK9JM17E&sp&Z#dpHfz$E-U9ks&4?Z9Gyg!%0k2Q{M-Tz#> z2OnD>vrPZ*#{EHKLq)>Jcx{H|Ovdb&|4aQZWSipI{El%e^Cxx{^9vSw28s;a3IDB= TS1%U=TF&6<>gTe~DWM4fm>N^1 literal 1378 zcmV-o1)chdP)7AusiZM|(--W(B5fjI>kEXv^G;F881x6Y=Fnqd4X9lF0$9Qf+Y2U~{uS`A=^Akr5R0oF02RN1yd z8LIXBf7%@iO{!Qdf|k_DE|0L)8~{cYDFRYTNGXxc zW&?v5&1O@(JdV5owaQommRY~*w$ott%L_!<-rfc?!?tZ?G8q7X>$?8B5b+9B7z~ex zLlCWNWd(B^G39}Yi3tFJloFojfei4d4;V%WIK~4Z@E9fPzEY{6QmG)BOlks-<3Jd$ zSDuQ~X&P;r@qi3BkZ9vk78Hv`B$G)9Auv8Zu1igUwt*|T$|s{ew^ad$m~w0~DFTT^ z0%K!i@Lbm?psbHeKuxYo6?7_l{eCd-?d@p~3}!N|Mia5#q|w?^j4D9495CX^ky6~> z-`502M@L)WUBW;*k-LR}BTXoHNvjDImP#eqwvB4FiW4VKw!piEA=soygsVWbonj0x zv~5BGxpKLzb0D2gw-GQe5xqBafIEdC>OKV?)VSj~a9tO}!^3`i4J_^y1~QBxBCv6w zvCNEwWF2oEcV=*)n3-{KZ~!3$m>DA@BcWW;WFz5F?q>kR@ChJFz&PocB$QGm+uhkg zy&qH!qCtV5{U#RCnwvpJsJ+f5Is6=MrJcI zNvQvx>*CzZ3}*6qom9^?45KZUsOS(l`z`mYhXeMGo9PIZ}c|>Kl5grW)gk)w9Q6Z30f_GM1IVbT*ln;|DkYGqa9Nt0w zuP;z3mr<+L&}cT{d0zV=#qf-hsRK#$l2Yoqw)s7H{ic4w^TZ0>x<1=G|N3uV+P&^o zd=z@Lj?Bnz4{`$p)kS`M>6>A}P_}^iT8BLb-N3GfO k%W7fj=c}LHYbeZr0WKR diff --git a/designer/icons/text_sub.png b/designer/icons/text_sub.png index 50adbf804793b7d5b636cc8e9d2d549418b3df0e..4b30540adf13ebff8cc18a46594b25570622e6ce 100644 GIT binary patch literal 279 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`k|nMYCBgY=CFO}lsSJ)O`AMk? zp1FzXsX?iUDV2pMQ*D5Xc6z!vhE&{2`t$$4J+o>;i9)DgKbXAGaK3q*s~=?u8`pI zVR-a6K#IwMvvcA^!M5VY9~x5UTqm(7nk&RHCp8Nz>Zm%Ynlo?Yn)FC-g@lhUn}9xB zl4c3BMMH(CfPKrQAcr@6PnElK9fdYC?UsAR%C|yMhDGRleTGEiqMyQd8WzqKXJF!C YSm9$YeOx3%4(JI6Pgg&ebxsLQ04h~o*Z=?k literal 1487 zcmV;=1u*)FP)RnCz2}y#*5+1QW?OSj+SIn%bS>wma+zQd z0}YUyh#Lwhf`r^fKtL#HG9m&gH{@caTwX42Mk|4-2ulcIsSuZOzsp5m$GV%|-rmp6H#jIL=!3Io&thzB4CCYDN=b3Eo}Qk| z|FHlnUv}cei5a?F-P^*#LIef|9yB(XW0tTT4<0;F2@MSe>sM;>fWN=Lj!e$shoeW2 zzHDUmtB)N!=EV@i&YQBfi1LPAtAHa$IUz{7_R5fBgnS65f<0=Qad z8tyGEEydltcjYV?7^9IVn3sdnHNan2%X1hV^>A!l6Tlv5b931xl zSsvgxrSHVVgmPXeR-1smd-wJ+k;r5!bTRDg>{b~Y%(hJoO^l3;h_{pkMlWd-U~6mJ zB_Y<+(<66*Oem`t0rMszYisK_IHta+s7USs5utcs&z?Qn1aQLQva&J}Ajw4{LGn6m zY-|!JV(DX-v)`NKq`kfUM1Fq0q+huMM1+VI0rQIX%foWA!l(dCOUnqpfJA`$7HDZ{ z0n;(8tgMFEeuqrR9w#Iu$o(&=SN2{mB2~btQ>VawjpWiU%Maf=cpl#5idPOMy>kHm z?jh-9iGct!GqYD|sIR7`Mg*u=vP|09*(q^vkO3JfB32AayDC7&R99CcHZ~S^A-aml zBH+hnpsgS190FRpffyaIFB5i8B%&QVc6=nK`o@hL;sI5FOfIVwcgw0pfP^g1z|78_ zI~y`GG7JQW_^&dvVEg&#@Xa_ohi9;7&L2O*Qa(Ag0*9X2G}M`NN1MJ!?M!-Z=@p=z}qS pmk_gm_22O#PrO3blP8|*e*k?3viQsbr^o;R002ovPDHLkV1fuu!vX*R diff --git a/designer/icons/text_super.png b/designer/icons/text_super.png index 8b4548d7550aa2f47003aa4d6fd3cb27d2ff5062..31cb33eff3869fbfe9acb02434aaa00cba1b997c 100644 GIT binary patch literal 301 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`k|nMYCBgY=CFO}lsSJ)O`AMk? zp1FzXsX?iUDV2pMQ*D5X&U?BzhE&{2`t$$4J+o>mOm46h zkZ+et;upQlp5&_#$CA3ZjZr9o>Ct_MGyF&T8*gxGg}LSER4{L36Yyt!6rzyU+?B|_ zUaH@0z+2ueYZ#mr`p)+ZS3 w1cdKSboe7Kwbp*&m-rp~7S5l^z{JB4!Q>*v_WS=ipw}2YUHx3vIVCg!0Np}sI{*Lx literal 1513 zcmVjzE*LA_#g+Z{vT7%J`2GwALVr&FfURGgq zTJx5g8CYtX=Dcf~*OVzF@0?g}f%k3YEh}gamP+P@sk3C2@4Vpso|p9f?)&_}AHMmT z^WEJ3_;7x|b9=t$Ip=xKc>%zGf=@2ikhRa&FRRfLSFnP3kX!CqnDEE~_}xv?$jW6G z;E)0Dh$7&Z2Y|K@=okcAx`60XfNj>xD!@vERbObJy{82-D*%^Fz&0K5%?G@40JhsK zs{r$4ykeCKowgtFqf!31ktE_qe8}2m--1sQP=2KfXd3`-{SKU`>&?E#6zkK->O}>l zq@=t>T#}QM<5*s0*-W}gJt-yMvi>swD-4bQ@I1DW-)z1CH03~j8}LUDaO^vP^^OY) z$j!}Nm6(|5%gM(|OG{BvQGv$BMzprJqO-FTj~_oqb8|ClYHE;`m4&3Fqz4x+TyS`H zo~>cJ(3a80tEe}{3ja{up&A-`tF@OcT|H5866lH zP#7E>6co>JOQtw}m&~=n2iteX0Cj&tIRlOD!2K@Z`%2(#e@wD{<2(To5fKiTE?v?y zC}mw;9kR2tk(!zcjYfl#k`mO`)}p<=9YaGyDpD628F_hjzL!oRhIDWG3i#k0@Tw<9 z`Cmdz4Q9fyu&~00h6cSA78Dd9JUqOTSOy0NZ(+GDG&J-C%gZ#@FK1z7WJIB@txfti z%}cj#c!O*qYo42mgMxxuIEm_3Ie4tQ=i%Y;qM^eY5D@Um#fuj)Iy#E6u`#8jxEVJ$ zH`UN$s2^0mIxsMBnl4xOwy>}e{{H?a78=YkE7^`GPoAiRgoJ?g>y|7)@b&dAB@=V_ z+1uOu^#xYH;mnyc?hHXpOiZY75k?4D1b27$^`}pt{@BaQ>l6j0^Shoa)#c~sqo=0_ zlarGwXV0Gf=K^TpHBV1ZUy{rHf51s~X=!P=dGn^63kgxh*woaN9#5Y>g`b}voSdAD z7r@mz(s0l9>(}w{;X^qKdd6sE9@Ep)D)f-?0$g2PotX8Ai%U644aW6#S29H;ahA0JoF3&k2I;K-39y-XxBnF?JDYisNE3k_!54u&R%hlj;mN&=&o zj1ypGWz{Jm*4^DLcY#bOs}}(V6OpB*BG7%uj zMIu4+Iu0E=lt2-yW?jyH?~-#iHa6pVd3g}8$sHgfM6?JH(MuMvfB*h)zJNr4`W9$u zX#vwQ4jecz$oBhWT=qC2AwlkcNxic7auKNlqN1X}eof@6g@wg?e_Md5sp*?E)LT_m zB?8ndStjl1=#aSA%Ycj&5i16zT@@f>Dl01y6B7e-bMvSrC89lh_IxgC#5QQ<|d}62BjvZR2H60wE-$x?CIhdqH#X?$N2_%BY~9*Y!?2h z{rUe=9fy8l?U(-(m`sFEeV_iPeWNmK)A{6xz&-Zw?GGia|0}^&^gUfcv*1X`gnjmc zo{g-_np*x&^x*npDC+Wt-z8{4+sXs`@BiMP%+Rv-k;3)Ae_+S0!x%EHv-|4^N|MkDje{TP~{@MQ}vm3aX7|tvG V&AV6mZa&bt44$rjF6*2UngI1lb~69~ literal 1549 zcmV+o2J-odP)iDmH!vXKA_EGvg7gd|cBxkCPdk8psSg`yk? z7ZNEDMIz#%NG2!{L@W!CFBS(If~*k9kE~I^yPoyVOjiywJ=;Ay29mZ$?w#)G`s%B% zs=JAqq1xpyceU*K?D23*tG8DO?gMigG8~lQ!`dSg`bqDYs?wvGb;r6ld8hm4Ctppi zE1RSM%ua0UExx__wPndcV}XqTyl!lR|DG%Et}N$Hyz|AvqX@v0+gtjIZpH$PLzhnOOdUA+=%!`)Ltub81z4YgTKYlM9spnfL;!Qp*Bb+1 z4yJ@-%&~Fr1^gEeAXa_=$y&gK*Yw-1TfM{d=Vak1p)z^k8&!Gzw>=BN9d?Sw>-DHsZ=56Zw1|V`F1Db?OwBmX=T~7IF6M zS!A=>XyIb9i1G1p9653Xot>Syas4_9MUzni-~&b)TY8=*WtrYA%Yu{=?d|QzX0r|B zuInP3&0_oZ?I>>AWDbT*2#`?|ETc&1O^Gb*GXT%?VB0n_nT*L2f-p%bK?t-#L`F8K zc|>FsEldBQC2k$Kwul0dPN$>AlwMrdg&>0G`^e>T5PEhPb%6|fbrH(Cp$Kh^7-mK$ zlYwp9(Qg2dz8`t)`#v(63`mIjhf0XdAUy;!9s;f}n$(yXwrwMoN*V8c1t4UkwY9aO znAI6gVjwcEPlTxh073|4GMNYfA&5Of<3t1@L4e0xc+OU9F7R0tzqX_9A0Z64%5JJHB{lIw4`>ClZ*tU&BhYpz< zP~L}POwI!J#8^=C2|*o5r_*p<7YOMm4ZyW)*U-_?fws1`jWs|Ngj($f#(^P@Sam}{ zeSLjMr_;#i^EiM0JSycf2*BdvBF>yS10e(k1_mIM9zsp%Ac43Bj1vw=@mBwJJsdoE z5Z_+Bh|1a;q?GvP!UZ^v0|0Ow2M6}=$H>Tt5th2w8ok;{E3p#lAQS`Y-LYfGu&}s@ z`}gl-Zf*|Swr<7X&=9)2yV2CtWEf8h1AzilNolAv5KlqX^L!tjot+pR9Sx|~C|2`c z1t4OeVKyettgLqYYZ6Qi=8rwU%^BdL?vd;YQo(blM$*1ibvmuzJQJ!W`yshm#>FrS7=b z@lZ5`Agm`+O04~Q0(kO0z(BRud|J3w>vt88rsqGQ^4Bj|TU(3HbH49Kv587W!oh{r zQB8ZKlz|gr-j*~o0GJs@*L7%Ep(#*PR-J5)7-j4qT$r_0HBa_+B00000NkvXXu0mjf3s2g}