mirror of
https://github.com/ankitects/anki.git
synced 2025-11-13 16:17:13 -05:00
add deck to add cards dialog
This commit is contained in:
parent
63e1132b5b
commit
177a2d027b
4 changed files with 37 additions and 19 deletions
|
|
@ -450,13 +450,14 @@ class Browser(QMainWindow):
|
||||||
if not self.model.cards:
|
if not self.model.cards:
|
||||||
# no row change will fire
|
# no row change will fire
|
||||||
self.onRowChanged(None, None)
|
self.onRowChanged(None, None)
|
||||||
txt = _("No matches found.")
|
# somewhat distracting
|
||||||
if not self.mw.pm.profile['fullSearch']:
|
# txt = _("No matches found.")
|
||||||
txt += "<p>" + _(
|
# if not self.mw.pm.profile['fullSearch']:
|
||||||
_("If your cards have formatting, you may want <br>"
|
# txt += "<p>" + _(
|
||||||
"to enable 'search within formatting' in the<br>"
|
# _("If your cards have formatting, you may want <br>"
|
||||||
"browser options."))
|
# "to enable 'search within formatting' in the<br>"
|
||||||
tooltip(txt)
|
# "browser options."))
|
||||||
|
# tooltip(txt)
|
||||||
|
|
||||||
def updateTitle(self):
|
def updateTitle(self):
|
||||||
selected = len(self.form.tableView.selectionModel().selectedRows())
|
selected = len(self.form.tableView.selectionModel().selectedRows())
|
||||||
|
|
|
||||||
|
|
@ -206,7 +206,7 @@ class Editor(object):
|
||||||
self.setupOuter()
|
self.setupOuter()
|
||||||
self.setupButtons()
|
self.setupButtons()
|
||||||
self.setupWeb()
|
self.setupWeb()
|
||||||
self.setupTags()
|
self.setupTagsAndDeck()
|
||||||
self.setupKeyboard()
|
self.setupKeyboard()
|
||||||
|
|
||||||
# Initial setup
|
# Initial setup
|
||||||
|
|
@ -298,7 +298,8 @@ class Editor(object):
|
||||||
_("Cloze (Ctrl+Shift+c)"), text="[...]")
|
_("Cloze (Ctrl+Shift+c)"), text="[...]")
|
||||||
but.setFixedWidth(24)
|
but.setFixedWidth(24)
|
||||||
# fixme: better image names
|
# fixme: better image names
|
||||||
b("text-speak", self.onAddMedia, "F3", _("Add pictures/audio/video (F3)"))
|
b("mail-attachment", self.onAddMedia, "F3",
|
||||||
|
_("Attach pictures/audio/video (F3)"))
|
||||||
b("media-record", self.onRecSound, "F5", _("Record audio (F5)"))
|
b("media-record", self.onRecSound, "F5", _("Record audio (F5)"))
|
||||||
b("adv", self.onAdvanced, text=u"▾")
|
b("adv", self.onAdvanced, text=u"▾")
|
||||||
s = QShortcut(QKeySequence("Ctrl+t, t"), self.widget)
|
s = QShortcut(QKeySequence("Ctrl+t, t"), self.widget)
|
||||||
|
|
@ -392,7 +393,7 @@ class Editor(object):
|
||||||
self.web.setHtml(_html % (getBase(self.mw.col), anki.js.all,
|
self.web.setHtml(_html % (getBase(self.mw.col), anki.js.all,
|
||||||
_("Show Duplicates")),
|
_("Show Duplicates")),
|
||||||
loadCB=self._loadFinished)
|
loadCB=self._loadFinished)
|
||||||
self.updateTags()
|
self.updateTagsAndDeck()
|
||||||
self.updateKeyboard()
|
self.updateKeyboard()
|
||||||
elif hide:
|
elif hide:
|
||||||
self.widget.hide()
|
self.widget.hide()
|
||||||
|
|
@ -424,7 +425,7 @@ class Editor(object):
|
||||||
self._keepButtons = True
|
self._keepButtons = True
|
||||||
self.web.eval("saveField('blur');")
|
self.web.eval("saveField('blur');")
|
||||||
self._keepButtons = False
|
self._keepButtons = False
|
||||||
self.saveTags()
|
self.saveTagsAndDeck()
|
||||||
|
|
||||||
def checkValid(self):
|
def checkValid(self):
|
||||||
cols = []
|
cols = []
|
||||||
|
|
@ -475,36 +476,51 @@ class Editor(object):
|
||||||
form.textEdit.toPlainText())
|
form.textEdit.toPlainText())
|
||||||
self.loadNote(self.currentField)
|
self.loadNote(self.currentField)
|
||||||
|
|
||||||
# Tag handling
|
# Tag & deck handling
|
||||||
######################################################################
|
######################################################################
|
||||||
|
|
||||||
def setupTags(self):
|
def setupTagsAndDeck(self):
|
||||||
import aqt.tagedit
|
import aqt.tagedit
|
||||||
g = QGroupBox(self.widget)
|
g = QGroupBox(self.widget)
|
||||||
g.setFlat(True)
|
g.setFlat(True)
|
||||||
tb = QGridLayout()
|
tb = QGridLayout()
|
||||||
tb.setSpacing(12)
|
tb.setSpacing(12)
|
||||||
tb.setMargin(6)
|
tb.setMargin(6)
|
||||||
|
# deck
|
||||||
|
if self.addMode:
|
||||||
|
l = QLabel(_("Deck"))
|
||||||
|
tb.addWidget(l, 0, 0)
|
||||||
|
self.deck = aqt.tagedit.TagEdit(self.widget, type=1)
|
||||||
|
self.deck.connect(self.deck, SIGNAL("lostFocus"),
|
||||||
|
self.saveTagsAndDeck)
|
||||||
|
tb.addWidget(self.deck, 0, 1)
|
||||||
|
else:
|
||||||
|
self.deck = None
|
||||||
# tags
|
# tags
|
||||||
l = QLabel(_("Tags"))
|
l = QLabel(_("Tags"))
|
||||||
tb.addWidget(l, 0, 2)
|
tb.addWidget(l, 1, 0)
|
||||||
self.tags = aqt.tagedit.TagEdit(self.widget)
|
self.tags = aqt.tagedit.TagEdit(self.widget)
|
||||||
self.tags.connect(self.tags, SIGNAL("lostFocus"),
|
self.tags.connect(self.tags, SIGNAL("lostFocus"),
|
||||||
self.saveTags)
|
self.saveTagsAndDeck)
|
||||||
tb.addWidget(self.tags, 0, 3)
|
tb.addWidget(self.tags, 1, 1)
|
||||||
g.setLayout(tb)
|
g.setLayout(tb)
|
||||||
self.outerLayout.addWidget(g)
|
self.outerLayout.addWidget(g)
|
||||||
|
|
||||||
def updateTags(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:
|
||||||
|
self.deck.setText(self.mw.col.decks.name(self.note.did))
|
||||||
self.tags.setText(self.note.stringTags().strip())
|
self.tags.setText(self.note.stringTags().strip())
|
||||||
|
|
||||||
def saveTags(self):
|
def saveTagsAndDeck(self):
|
||||||
if not self.note:
|
if not self.note:
|
||||||
return
|
return
|
||||||
self.note.tags = self.mw.col.tags.split(unicode(self.tags.text()))
|
self.note.tags = self.mw.col.tags.split(self.tags.text())
|
||||||
if self.addMode:
|
if self.addMode:
|
||||||
|
self.note.did = self.mw.col.decks.id(self.deck.text())
|
||||||
# save group and tags to model
|
# save group and tags to model
|
||||||
m = self.note.model()
|
m = self.note.model()
|
||||||
m['did'] = self.note.did
|
m['did'] = self.note.did
|
||||||
|
|
|
||||||
|
|
@ -106,5 +106,6 @@
|
||||||
<file>icons/delete16.png</file>
|
<file>icons/delete16.png</file>
|
||||||
<file>icons/addtag16.png</file>
|
<file>icons/addtag16.png</file>
|
||||||
<file>icons/deletetag16.png</file>
|
<file>icons/deletetag16.png</file>
|
||||||
|
<file>icons/mail-attachment.png</file>
|
||||||
</qresource>
|
</qresource>
|
||||||
</RCC>
|
</RCC>
|
||||||
|
|
|
||||||
BIN
designer/icons/mail-attachment.png
Normal file
BIN
designer/icons/mail-attachment.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 1,022 B |
Loading…
Reference in a new issue