fix ampersands appearing in deck names

https://bugs.kde.org/show_bug.cgi?id=345023
This commit is contained in:
Damien Elmes 2017-07-28 17:40:26 +10:00
parent 44d0766cc5
commit 608a5662a9

View file

@ -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: