use studydeck for deck selection

This commit is contained in:
Damien Elmes 2012-05-24 20:30:11 +09:00
parent c8b414b95b
commit 6a74d6627b
2 changed files with 34 additions and 8 deletions

View file

@ -651,9 +651,19 @@ class Editor(object):
if self.addMode: if self.addMode:
l = QLabel(_("Deck")) l = QLabel(_("Deck"))
tb.addWidget(l, 0, 0) tb.addWidget(l, 0, 0)
self.deck = aqt.tagedit.TagEdit(self.widget, type=1) self.deck = QPushButton()
self.deck.connect(self.deck, SIGNAL("lostFocus"), self.deck.setAutoDefault(False)
self.saveTags) self.deck.setStyleSheet("* { text-align: left; }")
# not working for some reason
#self.deck.setShortcut("Ctrl+D")
self.deckShortcut = QShortcut(
QKeySequence("Ctrl+D"), self.widget)
self.deckShortcut.connect(
self.deckShortcut, SIGNAL("activated()"),
self.deck.click)
self.deck.connect(self.deck, SIGNAL("clicked()"),
self.onChangeDeck)
self.deck.setToolTip("Change Deck (Ctrl+D)")
tb.addWidget(self.deck, 0, 1) tb.addWidget(self.deck, 0, 1)
else: else:
self.deck = None self.deck = None
@ -669,8 +679,6 @@ class Editor(object):
def updateTagsAndDeck(self): def updateTagsAndDeck(self):
if self.tags.col != self.mw.col: if self.tags.col != self.mw.col:
if self.deck:
self.deck.setCol(self.mw.col)
self.tags.setCol(self.mw.col) self.tags.setCol(self.mw.col)
if self.addMode: if self.addMode:
if self.mw.col.conf.get("addToCur", True): if self.mw.col.conf.get("addToCur", True):
@ -713,10 +721,17 @@ class Editor(object):
m['tags'] = self.note.tags m['tags'] = self.note.tags
self.mw.col.models.save(m) self.mw.col.models.save(m)
def onChangeDeck(self):
from aqt.studydeck import StudyDeck
cur = self.deck.text()
ret = StudyDeck(
self.mw, current=cur, accept=_("Choose"),
title=_("Select Deck"), help="addingnotes",
cancel=False, parent=self.parentWindow)
self.deck.setText(ret.name)
def hideCompleters(self): def hideCompleters(self):
self.tags.hideCompleter() self.tags.hideCompleter()
if self.addMode:
self.deck.hideCompleter()
# Format buttons # Format buttons
###################################################################### ######################################################################

View file

@ -10,12 +10,17 @@ from operator import itemgetter
class StudyDeck(QDialog): class StudyDeck(QDialog):
def __init__(self, mw, names=None, accept=None, title=None, def __init__(self, mw, names=None, accept=None, title=None,
help="studydeck", current=None, parent=None): help="studydeck", current=None, cancel=True,
parent=None):
QDialog.__init__(self, parent or mw) QDialog.__init__(self, parent or mw)
self.mw = mw self.mw = mw
self.form = aqt.forms.studydeck.Ui_Dialog() self.form = aqt.forms.studydeck.Ui_Dialog()
self.form.setupUi(self) self.form.setupUi(self)
self.form.filter.installEventFilter(self) self.form.filter.installEventFilter(self)
self.cancel = cancel
if not cancel:
self.form.buttonBox.removeButton(
self.form.buttonBox.button(QDialogButtonBox.Cancel))
if title: if title:
self.setWindowTitle(title) self.setWindowTitle(title)
if not names: if not names:
@ -81,3 +86,9 @@ class StudyDeck(QDialog):
def accept(self): def accept(self):
self.name = self.names[self.form.list.currentRow()] self.name = self.names[self.form.list.currentRow()]
QDialog.accept(self) QDialog.accept(self)
def reject(self):
if not self.cancel:
return self.accept()
QDialog.reject(self)