Merge pull request #280 from Arthur-Milchior/CorrectBranchInCardPreview

Correct Deck in card preview
This commit is contained in:
Damien Elmes 2019-02-18 12:38:32 +10:00 committed by GitHub
commit 3f72978535
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 17 additions and 9 deletions

View file

@ -417,7 +417,7 @@ insert into cards values (?,?,?,?,?,?,0,0,?,0,0,0,0,0,0,0,0,"")""",
# type 0 - when previewing in add dialog, only non-empty
# type 1 - when previewing edit, only existing
# type 2 - when previewing in models dialog, all templates
def previewCards(self, note, type=0):
def previewCards(self, note, type=0, did = None):
if type == 0:
cms = self.findTemplates(note)
elif type == 1:
@ -428,19 +428,23 @@ insert into cards values (?,?,?,?,?,?,0,0,?,0,0,0,0,0,0,0,0,"")""",
return []
cards = []
for template in cms:
cards.append(self._newCard(note, template, 1, flush=False))
cards.append(self._newCard(note, template, 1, flush=False, did = did))
return cards
def _newCard(self, note, template, due, flush=True):
def _newCard(self, note, template, due, did = None, flush=True):
"Create a new card."
card = anki.cards.Card(self)
card.nid = note.id
card.ord = template['ord']
# Use template did (deck override) if valid, otherwise model did
if template['did'] and str(template['did']) in self.decks.decks:
card.did = template['did']
else:
card.did = note.model()['did']
card.did = self.db.scalar("select did from cards where nid = ? and ord = ?", card.nid, card.ord)
# Use template did (deck override) if valid, otherwise did in argument, otherwise model did
if not card.did:
if template['did'] and str(template['did']) in self.decks.decks:
card.did = template['did']
elif did:
card.did = did
else:
card.did = note.model()['did']
# if invalid did, use default instead
deck = self.decks.get(card.did)
if deck['dyn']:

View file

@ -117,6 +117,7 @@ system. It's free and open source.")
"黃文龍",
"David Bailey",
"Arman High",
"Arthur Milchior",
))
abouttext += '<p>' + _("Written by Damien Elmes, with patches, translation,\

View file

@ -61,7 +61,10 @@ class CardLayout(QDialog):
self.setFocus()
def redraw(self):
self.cards = self.col.previewCards(self.note, 2)
did = None
if hasattr(self.parent,"deckChooser"):
did = self.parent.deckChooser.selectedId()
self.cards = self.col.previewCards(self.note, 2, did = did)
idx = self.ord
if idx >= len(self.cards):
self.ord = len(self.cards) - 1