mirror of
https://github.com/ankitects/anki.git
synced 2025-09-21 23:42:23 -04:00
greatly speed up select facts, add progress bar
This commit is contained in:
parent
d6553e5772
commit
1b849ccf07
1 changed files with 6 additions and 1 deletions
|
@ -922,13 +922,18 @@ where id in %s""" % ids2str(sf))
|
||||||
######################################################################
|
######################################################################
|
||||||
|
|
||||||
def selectFacts(self):
|
def selectFacts(self):
|
||||||
|
self.deck.startProgress()
|
||||||
sm = self.dialog.tableView.selectionModel()
|
sm = self.dialog.tableView.selectionModel()
|
||||||
|
sm.blockSignals(True)
|
||||||
cardIds = dict([(x, 1) for x in self.selectedFactsAsCards()])
|
cardIds = dict([(x, 1) for x in self.selectedFactsAsCards()])
|
||||||
for i, card in enumerate(self.model.cards):
|
for i, card in enumerate(self.model.cards):
|
||||||
if card.id in cardIds:
|
if card.id in cardIds:
|
||||||
sm.select(self.model.index(i, 0),
|
sm.select(self.model.index(i, 0),
|
||||||
QItemSelectionModel.Select | QItemSelectionModel.Rows)
|
QItemSelectionModel.Select | QItemSelectionModel.Rows)
|
||||||
|
if i % 100 == 0:
|
||||||
|
self.deck.updateProgress()
|
||||||
|
sm.blockSignals(False)
|
||||||
|
self.deck.finishProgress()
|
||||||
|
|
||||||
def invertSelection(self):
|
def invertSelection(self):
|
||||||
sm = self.dialog.tableView.selectionModel()
|
sm = self.dialog.tableView.selectionModel()
|
||||||
|
|
Loading…
Reference in a new issue