diff --git a/ankiqt/ui/cardlist.py b/ankiqt/ui/cardlist.py
index 8438eeb33..5f5d3a551 100644
--- a/ankiqt/ui/cardlist.py
+++ b/ankiqt/ui/cardlist.py
@@ -493,6 +493,7 @@ class EditDeck(QMainWindow):
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)
# jumps
self.connect(self.dialog.actionFirstCard, SIGNAL("triggered()"), self.onFirstCard)
self.connect(self.dialog.actionLastCard, SIGNAL("triggered()"), self.onLastCard)
@@ -723,6 +724,15 @@ where id in %s""" % ids2str(sf))
# Edit: selection
######################################################################
+ def selectFacts(self):
+ sm = self.dialog.tableView.selectionModel()
+ cardIds = dict([(x, 1) for x in self.selectedFactsAsCards()])
+ for i, card in enumerate(self.model.cards):
+ if card.id in cardIds:
+ sm.select(self.model.index(i, 0),
+ QItemSelectionModel.Select | QItemSelectionModel.Rows)
+
+
def invertSelection(self):
sm = self.dialog.tableView.selectionModel()
items = sm.selection()
diff --git a/designer/cardlist.ui b/designer/cardlist.ui
index dda0ab189..e1f3d0bc4 100644
--- a/designer/cardlist.ui
+++ b/designer/cardlist.ui
@@ -181,6 +181,7 @@
+
@@ -258,7 +259,7 @@
:/icons/Anki_Card.png:/icons/Anki_Card.png
- Generate &Cards...
+ &Generate Cards...
@@ -275,11 +276,6 @@
Select &All
-
-
- Select &Facts
-
-
@@ -401,6 +397,11 @@
Change &Model...
+
+
+ Select &Facts
+
+