From b812b50ee3b6e0a3a6ed4dbe71e7f013574c79b1 Mon Sep 17 00:00:00 2001 From: Damien Elmes Date: Sun, 11 Dec 2011 00:44:07 +0900 Subject: [PATCH] add template-level deck override --- aqt/clayout.py | 36 ++++++++++++++++++++++++++++++++++-- aqt/editor.py | 4 +++- 2 files changed, 37 insertions(+), 3 deletions(-) diff --git a/aqt/clayout.py b/aqt/clayout.py index 1de593dc1..332cdfb06 100644 --- a/aqt/clayout.py +++ b/aqt/clayout.py @@ -107,14 +107,18 @@ Please create a new card first.""")) l.addWidget(help) c(help, SIGNAL("clicked()"), self.onHelp) l.addStretch() - rename = QPushButton(_("Rename")) + rename = QPushButton(_("Rename...")) rename.setAutoDefault(False) l.addWidget(rename) c(rename, SIGNAL("clicked()"), self.onRename) - repos = QPushButton(_("Reposition")) + repos = QPushButton(_("Reposition...")) repos.setAutoDefault(False) l.addWidget(repos) c(repos, SIGNAL("clicked()"), self.onReorder) + tgt = QPushButton(_("Deck...")) + tgt.setAutoDefault(False) + l.addWidget(tgt) + c(tgt, SIGNAL("clicked()"), self.onTargetDeck) l.addStretch() close = QPushButton(_("Close")) close.setAutoDefault(False) @@ -218,6 +222,34 @@ Please create a new card first.""")) self.mm.addTemplate(self.model, t) self.redraw() + def onTargetDeck(self): + from aqt.tagedit import TagEdit + t = self.card.template() + d = QDialog(self) + d.setWindowTitle("Anki") + d.setMinimumWidth(400) + l = QVBoxLayout() + lab = QLabel(_("""\ +Enter deck to place new %s cards in, or leave blank:""") % + self.card.template()['name']) + lab.setWordWrap(True) + l.addWidget(lab) + te = TagEdit(d, type=1) + te.setCol(self.col) + l.addWidget(te) + if t['did']: + te.setText(self.col.decks.get(t['did'])['name']) + te.selectAll() + bb = QDialogButtonBox(QDialogButtonBox.Close) + self.connect(bb, SIGNAL("rejected()"), d, SLOT("close()")) + l.addWidget(bb) + d.setLayout(l) + d.exec_() + if not te.text().strip(): + t['did'] = None + else: + t['did'] = self.col.decks.id(te.text()) + # Closing & Help ###################################################################### diff --git a/aqt/editor.py b/aqt/editor.py index 81bd47792..5eb2b2114 100644 --- a/aqt/editor.py +++ b/aqt/editor.py @@ -245,7 +245,9 @@ class Editor(object): b.setFixedWidth(20) if not native: b.setStyle(self.plastiqueStyle) - b.setFocusPolicy(Qt.NoFocus) + b.setFocusPolicy(Qt.NoFocus) + else: + b.setAutoDefault(False) if not text: b.setIcon(QIcon(":/icons/%s.png" % name)) if key: