diff --git a/ankiqt/config.py b/ankiqt/config.py
index fea582f5a..8c779408a 100644
--- a/ankiqt/config.py
+++ b/ankiqt/config.py
@@ -79,6 +79,7 @@ class Config(dict):
'randomizeOnCram': True,
'created': time.time(),
'id': genID(),
+ 'editorReverseOrder': False,
}
for (k,v) in fields.items():
if not self.has_key(k):
diff --git a/ankiqt/ui/cardlist.py b/ankiqt/ui/cardlist.py
index 2c5acdd42..629afb4fe 100644
--- a/ankiqt/ui/cardlist.py
+++ b/ankiqt/ui/cardlist.py
@@ -145,6 +145,8 @@ class DeckModel(QAbstractTableModel):
" order by cards.ordinal, %s") % (fields, order)
# run the query
self.cards = self.deck.s.all(query)
+ if self.parent.config['editorReverseOrder']:
+ self.cards.reverse()
self.reset()
def updateCard(self, index):
@@ -214,6 +216,8 @@ class EditDeck(QMainWindow):
self.dialog.tableView.setFont(QFont(
self.config['editFontFamily'],
self.config['editFontSize']))
+ if self.parent.config['editorReverseOrder']:
+ self.dialog.actionReverseOrder.setChecked(True)
self.setupMenus()
self.setupFilter()
self.setupSort()
@@ -416,6 +420,7 @@ class EditDeck(QMainWindow):
self.connect(self.dialog.actionReschedule, SIGNAL("triggered()"), self.reschedule)
self.connect(self.dialog.actionSelectFacts, SIGNAL("triggered()"), self.selectFacts)
self.connect(self.dialog.actionInvertSelection, SIGNAL("triggered()"), self.invertSelection)
+ self.connect(self.dialog.actionReverseOrder, SIGNAL("triggered()"), self.reverseOrder)
self.connect(self.dialog.actionUndo, SIGNAL("triggered()"), self.onUndo)
self.connect(self.dialog.actionRedo, SIGNAL("triggered()"), self.onRedo)
# jumps
@@ -648,6 +653,16 @@ cards.id in %s and cards.factId = facts.id""" % ids2str(sc))
self.dialog.tableView.selectAll()
sm.select(items, QItemSelectionModel.Deselect | QItemSelectionModel.Rows)
+ def reverseOrder(self):
+ if self.parent.config['editorReverseOrder']:
+ self.parent.config['editorReverseOrder'] = False;
+ else:
+ self.parent.config['editorReverseOrder'] = True;
+
+ self.model.cards.reverse()
+ self.model.reset()
+ self.focusCurrentCard()
+
# Undo/Redo
######################################################################
diff --git a/designer/cardlist.ui b/designer/cardlist.ui
index 35db9785c..f3b1ffc37 100644
--- a/designer/cardlist.ui
+++ b/designer/cardlist.ui
@@ -13,14 +13,6 @@
Edit Items
-
-
- 0
- 23
- 599
- 439
-
-
0
@@ -170,7 +162,7 @@
0
0
599
- 23
+ 24