diff --git a/aqt/editor.py b/aqt/editor.py index a72df4356..e5b891c4e 100644 --- a/aqt/editor.py +++ b/aqt/editor.py @@ -598,11 +598,9 @@ class Editor(object): if self.addMode: l = QLabel(_("Deck")) tb.addWidget(l, 0, 0) - self.deck = QComboBox() + self.deck = aqt.tagedit.TagEdit(self.widget, type=1) self.deck.connect(self.deck, SIGNAL("lostFocus"), self.saveTagsAndDeck) - self.deck.setEditable(True) - self.deck.addItems(sorted(self.mw.col.decks.allNames())) tb.addWidget(self.deck, 0, 1) else: self.deck = None @@ -619,13 +617,10 @@ class Editor(object): def updateTagsAndDeck(self): if self.tags.col != self.mw.col: if self.deck: - self.deck.clear() - self.deck.addItems(sorted(self.mw.col.decks.allNames())) + self.deck.setCol(self.mw.col) self.tags.setCol(self.mw.col) if self.addMode: - self.deck.lineEdit().setText( - self.mw.col.decks.name( - self.note.model()['did'], default=True)) + self.deck.setText(self.mw.col.decks.name(self.note.model()['did'])) self.tags.setText(self.note.stringTags().strip()) def saveTagsAndDeck(self): @@ -633,7 +628,7 @@ class Editor(object): return self.note.tags = self.mw.col.tags.split(self.tags.text()) if self.addMode: - name = self.deck.lineEdit().text() + name = self.deck.text() if not name.strip(): self.note.model()['did'] = 1 else: @@ -648,6 +643,8 @@ class Editor(object): def hideCompleters(self): self.tags.hideCompleter() + if self.addMode: + self.deck.hideCompleter() # Format buttons ######################################################################