From 608a5662a91bc4472f45696f6b5157b82528ddd3 Mon Sep 17 00:00:00 2001 From: Damien Elmes Date: Fri, 28 Jul 2017 17:40:26 +1000 Subject: [PATCH] fix ampersands appearing in deck names https://bugs.kde.org/show_bug.cgi?id=345023 --- aqt/deckchooser.py | 19 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-) diff --git a/aqt/deckchooser.py b/aqt/deckchooser.py index c975f1b12..754a0e074 100644 --- a/aqt/deckchooser.py +++ b/aqt/deckchooser.py @@ -43,10 +43,10 @@ class DeckChooser(QHBoxLayout): did = c.odid else: did = 1 - self.deck.setText(self.mw.col.decks.nameOrNone( + self.setDeckName(self.mw.col.decks.nameOrNone( did) or _("Default")) else: - self.deck.setText(self.mw.col.decks.nameOrNone( + self.setDeckName(self.mw.col.decks.nameOrNone( self.mw.col.models.current()['did']) or _("Default")) # layout sizePolicy = QSizePolicy( @@ -65,21 +65,28 @@ class DeckChooser(QHBoxLayout): def onModelChange(self): if not self.mw.col.conf.get("addToCur", True): - self.deck.setText(self.mw.col.decks.nameOrNone( + self.setDeckName(self.mw.col.decks.nameOrNone( self.mw.col.models.current()['did']) or _("Default")) def onDeckChange(self): from aqt.studydeck import StudyDeck - current = self.deck.text() + current = self.deckName() ret = StudyDeck( self.mw, current=current, accept=_("Choose"), title=_("Choose Deck"), help="addingnotes", cancel=False, parent=self.widget, geomKey="selectDeck") - self.deck.setText(ret.name) + self.setDeckName(ret.name) + + def setDeckName(self, name): + self.deck.setText(name.replace("&", "&&")) + self._deckName = name + + def deckName(self): + return self._deckName def selectedId(self): # save deck name - name = self.deck.text() + name = self.deckName() if not name.strip(): did = 1 else: