add reverse order option to editor

This commit is contained in:
Samson Melamed 2009-01-20 14:17:03 -05:00
parent 9810c36b45
commit 464795b6c7
3 changed files with 26 additions and 9 deletions

View file

@ -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):

View file

@ -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
######################################################################

View file

@ -13,14 +13,6 @@
<string>Edit Items</string>
</property>
<widget class="QWidget" name="centralwidget" >
<property name="geometry" >
<rect>
<x>0</x>
<y>23</y>
<width>599</width>
<height>439</height>
</rect>
</property>
<layout class="QVBoxLayout" name="verticalLayout" >
<property name="spacing" >
<number>0</number>
@ -170,7 +162,7 @@
<x>0</x>
<y>0</y>
<width>599</width>
<height>23</height>
<height>24</height>
</rect>
</property>
<widget class="QMenu" name="menuEdit" >
@ -183,6 +175,7 @@
<addaction name="actionSelectAll" />
<addaction name="actionSelectFacts" />
<addaction name="actionInvertSelection" />
<addaction name="actionReverseOrder" />
</widget>
<widget class="QMenu" name="menuActions" >
<property name="title" >
@ -371,6 +364,14 @@
<string>Change &amp;Template...</string>
</property>
</action>
<action name="actionReverseOrder" >
<property name="checkable" >
<bool>true</bool>
</property>
<property name="text" >
<string>Reverse &amp;Order</string>
</property>
</action>
</widget>
<resources>
<include location="../icons.qrc" />