From 4908ca96bc2bcb8f4a2482509385c161c9fa2deb Mon Sep 17 00:00:00 2001 From: Damien Elmes Date: Sat, 10 Jan 2009 19:38:04 +0900 Subject: [PATCH] update the editor in real time --- ankiqt/ui/cardlist.py | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/ankiqt/ui/cardlist.py b/ankiqt/ui/cardlist.py index b6f0ad882..f8ded7416 100644 --- a/ankiqt/ui/cardlist.py +++ b/ankiqt/ui/cardlist.py @@ -147,6 +147,13 @@ class DeckModel(QAbstractTableModel): self.cards = self.deck.s.all(query) self.reset() + def updateCard(self, index): + self.cards[index.row()] = self.deck.s.first(""" +select id, priority, question, answer, due, reps, factId +from cards where id = :id""", id=self.cards[index.row()][0]) + self.emit(SIGNAL("dataChanged(QModelIndex,QModelIndex)"), + index, self.index(index.row(), 1)) + # Tools ###################################################################### @@ -192,6 +199,7 @@ class EditDeck(QMainWindow): self.deck = self.parent.deck self.config = parent.config self.origModTime = parent.deck.modified + self.currentRow = None self.dialog = ankiqt.forms.cardlist.Ui_MainWindow() self.dialog.setupUi(self) # flush all changes before we load @@ -341,6 +349,9 @@ class EditDeck(QMainWindow): self.dialog.actionRedo.setEnabled(True) else: self.dialog.actionRedo.setEnabled(False) + # update list + if self.currentRow: + self.model.updateCard(self.currentRow) def filterTextChanged(self): interval = 500