diff --git a/aqt/reviewer.py b/aqt/reviewer.py
index a0f43d340..639c1d026 100644
--- a/aqt/reviewer.py
+++ b/aqt/reviewer.py
@@ -27,7 +27,7 @@ class Reviewer(object):
def show(self):
self.web.setKeyHandler(self._keyHandler)
self.web.setLinkHandler(self._linkHandler)
- self._getCard()
+ self._initWeb()
def lastCard(self):
if self._answeredIds:
@@ -68,23 +68,33 @@ class Reviewer(object):
self.state != "getQuestion"))
self.form.actionRepeatAudio.setEnabled(snd)
- # Showing the question (and preparing answer)
+ # Initializing the webview
##########################################################################
_revHtml = """
-%(buts)s
+
+%(showans)s
+
+
+
"""
+ def _initWeb(self):
+ self.web.stdHtml(self._revHtml % dict(
+ showans=_("Show Answer")), self._styles(),
+ loadCB=lambda x: self._getCard())
+
+ # Showing the question (and preparing answer)
+ ##########################################################################
+
def _showQuestion(self):
self.state = "question"
# fixme: timeboxing
@@ -108,12 +126,11 @@ $(".ansbut").focus();
# render
# buf = self.typeAnsResult()
- buf = self._revHtml % dict(
- q=mungeQA(q),
- a=mungeQA(a) + '',
- buts=self._reviewButtons())
- buf = self.mw.deck.media.escapeImages(buf)
- self.web.stdHtml(buf, self._styles(), bodyClass=c.cssClass())
+ esc = self.mw.deck.media.escapeImages
+ q=esc(mungeQA(q))
+ a=esc(mungeQA(a))
+ self.web.eval("updateQA(%s);" % simplejson.dumps(
+ [q, a, self._answerButtons(), c.cssClass()]))
runHook('showQuestion')
# Showing the answer
@@ -172,7 +189,7 @@ $(".ansbut").focus();
"".join(times) + " | ")
buf += ("" +
" | ".join(buttons) + " |
")
- return "" + buf + ""
+ return "" + buf + ""
return buf
def _buttonTime(self, i, green):
@@ -227,7 +244,6 @@ $(".ansbut").focus();
def _linkHandler(self, url):
- print "link", url
if url == "ans":
self._showAnswer()
elif url.startswith("ease"):
@@ -253,6 +269,10 @@ div.ansbut {
position: relative; top: 25%;
}
+div#q, div#a {
+margin: 0px;
+}
+
#easebuts {
bottom: 1em;
height: 55px;
@@ -261,7 +281,6 @@ div.ansbut {
position: fixed;
width: 400px;
font-size: 100%;
- visibility: hidden;
}
.easebut {
@@ -286,7 +305,7 @@ div#filler {
def _styles(self):
css = self.mw.sharedCSS
- css += self.card.model().css
+ css += self.mw.deck.allCSS()
css += self._css
css = runFilter("addStyles", css)
return css
diff --git a/aqt/webview.py b/aqt/webview.py
index 1e1a11d4c..114d94376 100644
--- a/aqt/webview.py
+++ b/aqt/webview.py
@@ -94,3 +94,4 @@ class AnkiWebView(QWebView):
def _loadFinished(self):
if self._loadFinishedCB:
self._loadFinishedCB(self)
+ self._loadFinishedCB = None