From 20ff61e59eae6c32e4671c035a0d5438d169ab2f Mon Sep 17 00:00:00 2001 From: Arthur-Milchior Date: Sat, 16 Feb 2019 12:25:22 +0100 Subject: [PATCH] Show deck of the addCard window --- anki/collection.py | 10 ++++++---- aqt/clayout.py | 3 ++- 2 files changed, 8 insertions(+), 5 deletions(-) diff --git a/anki/collection.py b/anki/collection.py index 2a9e48223..8f6221ba3 100644 --- a/anki/collection.py +++ b/anki/collection.py @@ -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 diff --git a/aqt/clayout.py b/aqt/clayout.py index d0414c6bf..2e9764cee 100644 --- a/aqt/clayout.py +++ b/aqt/clayout.py @@ -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