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 0 - when previewing in add dialog, only non-empty
# type 1 - when previewing edit, only existing # type 1 - when previewing edit, only existing
# type 2 - when previewing in models dialog, all templates # 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: if type == 0:
cms = self.findTemplates(note) cms = self.findTemplates(note)
elif type == 1: elif type == 1:
@ -428,19 +428,21 @@ insert into cards values (?,?,?,?,?,?,0,0,?,0,0,0,0,0,0,0,0,"")""",
return [] return []
cards = [] cards = []
for template in cms: 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 return cards
def _newCard(self, note, template, due, flush=True): def _newCard(self, note, template, due, did = None, flush=True):
"Create a new card." "Create a new card."
card = anki.cards.Card(self) card = anki.cards.Card(self)
card.nid = note.id card.nid = note.id
card.ord = template['ord'] 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) 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 not card.did:
if template['did'] and str(template['did']) in self.decks.decks: if template['did'] and str(template['did']) in self.decks.decks:
card.did = template['did'] card.did = template['did']
elif did:
card.did = did
else: else:
card.did = note.model()['did'] card.did = note.model()['did']
# if invalid did, use default instead # if invalid did, use default instead

View file

@ -61,7 +61,8 @@ class CardLayout(QDialog):
self.setFocus() self.setFocus()
def redraw(self): 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 idx = self.ord
if idx >= len(self.cards): if idx >= len(self.cards):
self.ord = len(self.cards) - 1 self.ord = len(self.cards) - 1