From 0f3a0832784cd1d33731d872d2f593e94bc7a4ec Mon Sep 17 00:00:00 2001 From: Damien Elmes Date: Fri, 12 Feb 2010 16:35:11 +0900 Subject: [PATCH] convert reverse order menu item to toggle button --- ankiqt/ui/cardlist.py | 17 ++++++++++--- designer/cardlist.ui | 45 ++++++++++++++++++++++++++------- icons.qrc | 4 ++- icons/generate_07.png | Bin 0 -> 1598 bytes icons/view-sort-descending.png | Bin 0 -> 1107 bytes 5 files changed, 53 insertions(+), 13 deletions(-) create mode 100644 icons/generate_07.png create mode 100644 icons/view-sort-descending.png diff --git a/ankiqt/ui/cardlist.py b/ankiqt/ui/cardlist.py index 8e840d3bf..bc0d75127 100644 --- a/ankiqt/ui/cardlist.py +++ b/ankiqt/ui/cardlist.py @@ -366,8 +366,7 @@ class EditDeck(QMainWindow): SIGNAL("selectionChanged(QItemSelection,QItemSelection)"), self.updateFilterLabel) self.dialog.tableView.setItemDelegate(StatusDelegate(self, self.model)) - if self.deck.getInt("reverseOrder"): - self.dialog.actionReverseOrder.setChecked(True) + self.updateSortOrder() self.updateFont() self.setupMenus() self.setupFilter() @@ -422,6 +421,8 @@ class EditDeck(QMainWindow): self.connect(self.dialog.sortBox, SIGNAL("activated(int)"), self.sortChanged) self.sortChanged(self.sortIndex, refresh=False) + self.connect(self.dialog.sortOrder, SIGNAL("clicked()"), + self.reverseOrder) def drawTags(self): self.dialog.tagList.view().setFixedWidth(200) @@ -496,6 +497,12 @@ class EditDeck(QMainWindow): self.sortIndex = 0 self.dialog.sortBox.setCurrentIndex(self.sortIndex) + def updateSortOrder(self): + if self.deck.getInt("reverseOrder"): + self.dialog.sortOrder.setIcon(QIcon(":/icons/view-sort-descending.png")) + else: + self.dialog.sortOrder.setIcon(QIcon(":/icons/view-sort-ascending.png")) + def sortChanged(self, idx, refresh=True): if idx == 0: self.sortKey = "question" @@ -684,7 +691,6 @@ class EditDeck(QMainWindow): self.connect(self.dialog.actionUndo, SIGNAL("triggered()"), self.onUndo) self.connect(self.dialog.actionRedo, SIGNAL("triggered()"), self.onRedo) self.connect(self.dialog.actionInvertSelection, SIGNAL("triggered()"), self.invertSelection) - self.connect(self.dialog.actionReverseOrder, SIGNAL("triggered()"), self.reverseOrder) self.connect(self.dialog.actionSelectFacts, SIGNAL("triggered()"), self.selectFacts) self.connect(self.dialog.actionFindReplace, SIGNAL("triggered()"), self.onFindReplace) # jumps @@ -696,6 +702,7 @@ class EditDeck(QMainWindow): self.connect(self.dialog.actionFact, SIGNAL("triggered()"), self.onFact) self.connect(self.dialog.actionTags, SIGNAL("triggered()"), self.onTags) self.connect(self.dialog.actionSort, SIGNAL("triggered()"), self.onSort) + self.connect(self.dialog.actionCardList, SIGNAL("triggered()"), self.onCardList) # help self.connect(self.dialog.actionGuide, SIGNAL("triggered()"), self.onHelp) runHook('editor.setupMenus', self) @@ -1040,6 +1047,7 @@ where id in %s""" % ids2str(sf)) self.model.cards.reverse() self.model.reset() self.focusCurrentCard() + self.updateSortOrder() # Edit: undo/redo ###################################################################### @@ -1192,6 +1200,9 @@ where id in %s""" % ids2str(sf)) def onSort(self): self.dialog.sortBox.setFocus() + def onCardList(self): + self.dialog.tableView.setFocus() + # Help ###################################################################### diff --git a/designer/cardlist.ui b/designer/cardlist.ui index dac47e672..22f612eec 100644 --- a/designer/cardlist.ui +++ b/designer/cardlist.ui @@ -82,6 +82,29 @@ + + + + + 20 + 20 + + + + Qt::NoFocus + + + + + + + :/icons/view-sort-ascending.png:/icons/view-sort-ascending.png + + + true + + + @@ -204,7 +227,6 @@ - @@ -236,6 +258,7 @@ + @@ -429,14 +452,6 @@ Ctrl+End - - - true - - - Reverse &Order - - @@ -560,6 +575,18 @@ Toggle Mark + + + + :/icons/generate_07.png:/icons/generate_07.png + + + Card List + + + Ctrl+L + + diff --git a/icons.qrc b/icons.qrc index 96c02fda8..add069489 100644 --- a/icons.qrc +++ b/icons.qrc @@ -1,5 +1,7 @@ - + + icons/generate_07.png + icons/view-sort-descending.png icons/emblem-important.png icons/view-sort-ascending.png icons/media-playback-start2.png diff --git a/icons/generate_07.png b/icons/generate_07.png new file mode 100644 index 0000000000000000000000000000000000000000..afd3c0d5dd228d7e706dd774b9d2a81edad70cb0 GIT binary patch literal 1598 zcmV-E2EqA>P)^1B0HL+0|D72|6VM^n~b)`TP zArMk|;engPLj^(zRS1wV6Nv|;N(+@Lq2eH+v{aBt6uD5~r78+3ks3Rdnv&*bl>nll zsl96__If>goeK|p^{(x8AV)f@GpjlC|9$`OJLk+u5Cq)qHad1lfS8CRl#<1_&d+Tr zB6ka5bnK8R!q-LA_j;1ay+cETYJJ_|_R8)505eMDH?O~T=FPhbFg-o3X_|KLpU=GZ zxrKD*JC7VXxaZ>!eT--{iXe!9=Xtz);|AyE&XdiqK6Uz)SAO_E0~|ko+|qS@Lf7>P zU?Ln2k1gH09XoUOET1}ZgjhU=h&05d`h$oN1Obm79R|OG7Ne!k7B1-ts zzI~L6#joCc|K>dK;|>Q-oH$__hVg`m9Mv>!yr;*qEUOpG>cg@uG)>6uFq{gqdq;CTgU22pc@9Jp&w}g zh{%_QhezVc;>1*;SmpL$O@qu}?h4XFv1lhGVU*^`CSm!_R&`O(GG; zFboT7MJOVDiNr2E&#y(?jHDh-D~N~?i^ecbgG$9?WO$eljErX7n2&qR|M3VGuTj=YIJ-zj*#RR1Lm$ZZjb81D|{M?Zq$*lv3FSfKuv> zwY4>T-|Y};j_YPt$9snMU>Z85a+z;G`6Qn_e7LIv`Fx(qA54)*#8FCSS{=CPIJtu7 z`H^;^)>^1XBLahiL+ro*0j~e!?_9ckg+04>ch*4La!jYwgp|TG4S?T5%RVqOGjsOA z2S0k)G|iSYY*vKL>vTHJOE15O9|RPfLUZ#Gg;IhNf!bIAGi(rxMgd-!nmqPI!vO%t zab`1_^x?j~euALB_5(x&r4*r%LMc^yc(o4<3^0E15#GM^H{!7U%EgL1VkcHqR}XkNCYjU zkuT(NoOK+>0r)HM`Kifcl@0)4E}LD&bt@Z0HV0?|x~|7S|85Q*c$D{U-XOEIz{<*P zvRMUGPs1PxUI%_OHF@lGdtq)k3sR}nJ7Z(x_i3881w?yYbixHez}ngh28<4`F+V`j|n`y9YDJSbB>e4bt_%1Zg*ufcjEB`OG}vvU~Z=XR~^U6x~`kt ziPha!N;Db+cocYMM=7vvJMew~yyH0A*u3+Ugu`J(WMaD%wATQ@Y(DRF&F@YCJd>?^|4aAK&+1v~7F&P8_JEp)hKi;SDbp+gV-jp6607m&oOE zluD&nX*qcA1mLAYq4>>ENb9=fDwS%ql}ed%xm@yn{{nChc-gk?E!Tg&ZTV%CN~KO~ zns(GQO+-|~3E%hdJg;u`5-?j6JO{jK+jhB|=uR8}c-(c}XI_vHfvqK4O6L99OwbEwr%JBU%~eFUzZWvJE6jSoB#j-07*qoM6N<$f=Pz=ng9R* literal 0 HcmV?d00001 diff --git a/icons/view-sort-descending.png b/icons/view-sort-descending.png new file mode 100644 index 0000000000000000000000000000000000000000..879a698e34936d983e7ae11a115ec3089fa1b3b5 GIT binary patch literal 1107 zcmV-Z1g!gsP)!UiH1ErkVY1(8|=#6c80 zNs&;OWq}0Zv1$ulG?gkSJRb0P90Y-n5FAOmmN7QQ z1B4K8M7B2Ymq)ga z55L}HwOX3xKb_PCgscBWCnAbm#MF}#K05IWKF(~y#k>vCF@Tx^NhK7ca z%jH@~2L}f+Iyx%)*=!bF?MZz1;~zjEKIraDV0hm))bZ`eOK7_N8}9CxirP&Z$%f(h2(` zgv3PUFIhk`xhPv?s8%grrl(#K>RA%P8fkwX6iGJ*z`h0c)T`pti_o|ggmM9KnE`6g zK=V#$cR{-wcCBa^&m^2i2A1xG%es)rzI4JEe_za211gQ&32k>m>4ewhbH+Pivk2P~ zPV*;SVHtPAm$@0A`S}UP#*4zO%Z%j<=RX)U3s85$WnRmb6Lz#Gkw_$vN~N{}_=|s6 z*0&(gosbjhvD6xfj1U4-4OCp$Z4g*jFULk#)I~XtBRCL&*Z%LANK>JboZ!_U;K3BR Z!ZU?cif>;Q#_Rw9002ovPDHLkV1ikt{C)rc literal 0 HcmV?d00001