diff --git a/aqt/deckconf.py b/aqt/deckconf.py index 15d03f405..36fabb9c9 100644 --- a/aqt/deckconf.py +++ b/aqt/deckconf.py @@ -187,6 +187,7 @@ class DeckConf(QDialog): f.maxTaken.setValue(c['maxTaken']) f.showTimer.setChecked(c.get('timer', 0)) f.autoplaySounds.setChecked(c['autoplay']) + f.replayQuestion.setChecked(c.get('replayq', True)) # description f.desc.setPlainText(self.deck['desc']) @@ -262,6 +263,7 @@ class DeckConf(QDialog): c['maxTaken'] = f.maxTaken.value() c['timer'] = f.showTimer.isChecked() and 1 or 0 c['autoplay'] = f.autoplaySounds.isChecked() + c['replayq'] = f.replayQuestion.isChecked() # description self.deck['desc'] = f.desc.toPlainText() self.mw.col.decks.save(self.deck) diff --git a/aqt/reviewer.py b/aqt/reviewer.py index 4c9950c98..86a3766f1 100644 --- a/aqt/reviewer.py +++ b/aqt/reviewer.py @@ -97,10 +97,12 @@ class Reviewer(object): playFromText(c.q()) elif self.state == "answer": txt = "" - if self.mw.col.conf.get("replayBoth", True): + exclude = c.q() + if self._replayq(c): txt = c.q() + exclude = "" txt += c.a() - playFromText(txt) + playFromText(txt, exclude) # Initializing the webview ########################################################################## @@ -200,6 +202,10 @@ The front of this card is empty. Please run Tools>Maintenance>Empty Cards.""") return self.mw.col.decks.confForDid( self.card.odid or self.card.did)['autoplay'] + def _replayq(self, card): + return self.mw.col.decks.confForDid( + self.card.odid or self.card.did).get('replayq', True) + def _toggleStar(self): self.web.eval("_toggleStar(%s);" % json.dumps( self.card.note().hasTag("marked"))) diff --git a/designer/dconf.ui b/designer/dconf.ui index 6a9c415a3..ccc3ce3cd 100644 --- a/designer/dconf.ui +++ b/designer/dconf.ui @@ -6,8 +6,8 @@ 0 0 - 500 - 438 + 481 + 401 @@ -556,6 +556,16 @@ + + + + When answer shown, replay both question and answer audio + + + false + + + @@ -626,6 +636,7 @@ maxTaken showTimer autoplaySounds + replayQuestion buttonBox desc