Show deck of the addCard window

This commit is contained in:
Arthur-Milchior 2019-02-16 12:25:22 +01:00
parent 89719ee5d5
commit 20ff61e59e
2 changed files with 8 additions and 5 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,21 @@ 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
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

View File

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