mirror of
https://github.com/ankitects/anki.git
synced 2025-09-20 23:12:21 -04:00
fix concurrent modification error
This commit is contained in:
parent
720fe217dd
commit
073b3b8a9b
1 changed files with 9 additions and 1 deletions
|
@ -154,7 +154,10 @@ class DeckModel(QAbstractTableModel):
|
||||||
return self.cards[index.row()][0]
|
return self.cards[index.row()][0]
|
||||||
|
|
||||||
def getCard(self, index):
|
def getCard(self, index):
|
||||||
|
try:
|
||||||
return self.deck.s.query(Card).get(self.getCardID(index))
|
return self.deck.s.query(Card).get(self.getCardID(index))
|
||||||
|
except IndexError:
|
||||||
|
return None
|
||||||
|
|
||||||
def isDeleted(self, id):
|
def isDeleted(self, id):
|
||||||
return id in self.deleted
|
return id in self.deleted
|
||||||
|
@ -458,6 +461,9 @@ class EditDeck(QMainWindow):
|
||||||
def rowChanged(self, current, previous):
|
def rowChanged(self, current, previous):
|
||||||
self.currentRow = current
|
self.currentRow = current
|
||||||
self.currentCard = self.model.getCard(current)
|
self.currentCard = self.model.getCard(current)
|
||||||
|
if not self.currentCard:
|
||||||
|
self.editor.setFact(None, True)
|
||||||
|
return
|
||||||
self.deck.s.flush()
|
self.deck.s.flush()
|
||||||
self.deck.s.refresh(self.currentCard)
|
self.deck.s.refresh(self.currentCard)
|
||||||
self.deck.s.refresh(self.currentCard.fact)
|
self.deck.s.refresh(self.currentCard.fact)
|
||||||
|
@ -496,6 +502,7 @@ where id in (%s)""" % ",".join([
|
||||||
|
|
||||||
def updateAfterCardChange(self, reset=False):
|
def updateAfterCardChange(self, reset=False):
|
||||||
"Refresh info like stats on current card"
|
"Refresh info like stats on current card"
|
||||||
|
self.currentRow = self.dialog.tableView.currentIndex()
|
||||||
self.rowChanged(self.currentRow, None)
|
self.rowChanged(self.currentRow, None)
|
||||||
if reset:
|
if reset:
|
||||||
self.updateSearch()
|
self.updateSearch()
|
||||||
|
@ -510,6 +517,7 @@ where id in (%s)""" % ",".join([
|
||||||
self.deck.deleteCards(cards)
|
self.deck.deleteCards(cards)
|
||||||
self.deck.setUndoEnd(n)
|
self.deck.setUndoEnd(n)
|
||||||
self.updateSearch()
|
self.updateSearch()
|
||||||
|
self.updateAfterCardChange()
|
||||||
|
|
||||||
def addTags(self):
|
def addTags(self):
|
||||||
(tags, r) = ui.utils.getTag(self, self.deck, _("Enter tag(s) to add:"))
|
(tags, r) = ui.utils.getTag(self, self.deck, _("Enter tag(s) to add:"))
|
||||||
|
|
Loading…
Reference in a new issue