mirror of
https://github.com/ankitects/anki.git
synced 2025-11-13 16:17:13 -05:00
add 'replay audio' button to previewer
This commit is contained in:
parent
ba084cb46a
commit
d659d9cff7
2 changed files with 22 additions and 8 deletions
|
|
@ -1015,6 +1015,10 @@ where id in %s""" % ids2str(sf))
|
||||||
self._previewWeb = AnkiWebView(True)
|
self._previewWeb = AnkiWebView(True)
|
||||||
vbox.addWidget(self._previewWeb)
|
vbox.addWidget(self._previewWeb)
|
||||||
bbox = QDialogButtonBox()
|
bbox = QDialogButtonBox()
|
||||||
|
self._previewReplay = bbox.addButton(_("Replay Audio"), QDialogButtonBox.ActionRole)
|
||||||
|
self._previewReplay.setAutoDefault(False)
|
||||||
|
self._previewReplay.setShortcut(QKeySequence("R"))
|
||||||
|
self._previewReplay.setToolTip(_("Shortcut key: %s" % "R"))
|
||||||
self._previewPrev = bbox.addButton("<", QDialogButtonBox.ActionRole)
|
self._previewPrev = bbox.addButton("<", QDialogButtonBox.ActionRole)
|
||||||
self._previewPrev.setAutoDefault(False)
|
self._previewPrev.setAutoDefault(False)
|
||||||
self._previewPrev.setShortcut(QKeySequence("Left"))
|
self._previewPrev.setShortcut(QKeySequence("Left"))
|
||||||
|
|
@ -1023,6 +1027,7 @@ where id in %s""" % ids2str(sf))
|
||||||
self._previewNext.setShortcut(QKeySequence("Right"))
|
self._previewNext.setShortcut(QKeySequence("Right"))
|
||||||
c(self._previewPrev, SIGNAL("clicked()"), self._onPreviewPrev)
|
c(self._previewPrev, SIGNAL("clicked()"), self._onPreviewPrev)
|
||||||
c(self._previewNext, SIGNAL("clicked()"), self._onPreviewNext)
|
c(self._previewNext, SIGNAL("clicked()"), self._onPreviewNext)
|
||||||
|
c(self._previewReplay, SIGNAL("clicked()"), self._onReplayAudio)
|
||||||
vbox.addWidget(bbox)
|
vbox.addWidget(bbox)
|
||||||
self._previewWindow.setLayout(vbox)
|
self._previewWindow.setLayout(vbox)
|
||||||
restoreGeom(self._previewWindow, "preview")
|
restoreGeom(self._previewWindow, "preview")
|
||||||
|
|
@ -1050,6 +1055,9 @@ where id in %s""" % ids2str(sf))
|
||||||
self.onNextCard()
|
self.onNextCard()
|
||||||
self._updatePreviewButtons()
|
self._updatePreviewButtons()
|
||||||
|
|
||||||
|
def _onReplayAudio(self):
|
||||||
|
self.mw.reviewer.replayAudio(self)
|
||||||
|
|
||||||
def _updatePreviewButtons(self):
|
def _updatePreviewButtons(self):
|
||||||
if not self._previewWindow:
|
if not self._previewWindow:
|
||||||
return
|
return
|
||||||
|
|
|
||||||
|
|
@ -106,14 +106,19 @@ class Reviewer(object):
|
||||||
# Audio
|
# Audio
|
||||||
##########################################################################
|
##########################################################################
|
||||||
|
|
||||||
def replayAudio(self):
|
def replayAudio(self, previewer=None):
|
||||||
|
if previewer:
|
||||||
|
state = previewer._previewState
|
||||||
|
c = previewer.card
|
||||||
|
else:
|
||||||
|
state = self.state
|
||||||
|
c = self.card
|
||||||
clearAudioQueue()
|
clearAudioQueue()
|
||||||
c = self.card
|
if state == "question":
|
||||||
if self.state == "question":
|
|
||||||
playFromText(c.q())
|
playFromText(c.q())
|
||||||
elif self.state == "answer":
|
elif state == "answer":
|
||||||
txt = ""
|
txt = ""
|
||||||
if self._replayq(c):
|
if self._replayq(c, previewer):
|
||||||
txt = c.q()
|
txt = c.q()
|
||||||
txt += c.a()
|
txt += c.a()
|
||||||
playFromText(txt)
|
playFromText(txt)
|
||||||
|
|
@ -218,9 +223,10 @@ The front of this card is empty. Please run Tools>Empty Cards.""")
|
||||||
return self.mw.col.decks.confForDid(
|
return self.mw.col.decks.confForDid(
|
||||||
card.odid or card.did)['autoplay']
|
card.odid or card.did)['autoplay']
|
||||||
|
|
||||||
def _replayq(self, card):
|
def _replayq(self, card, previewer=None):
|
||||||
return self.mw.col.decks.confForDid(
|
s = previewer if previewer else self
|
||||||
self.card.odid or self.card.did).get('replayq', True)
|
return s.mw.col.decks.confForDid(
|
||||||
|
s.card.odid or s.card.did).get('replayq', True)
|
||||||
|
|
||||||
def _toggleStar(self):
|
def _toggleStar(self):
|
||||||
self.web.eval("_toggleStar(%s);" % json.dumps(
|
self.web.eval("_toggleStar(%s);" % json.dumps(
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue