diff --git a/aqt/reviewer.py b/aqt/reviewer.py
index 5e1c66db7..b1915fbde 100644
--- a/aqt/reviewer.py
+++ b/aqt/reviewer.py
@@ -244,8 +244,8 @@ $(".ansbut").focus();
self._answerCard(key)
return True
-
def _linkHandler(self, url):
+ print url
if url == "ans":
self._showAnswer()
elif url.startswith("ease"):
@@ -254,6 +254,8 @@ $(".ansbut").focus();
self.mw.onAddCard()
elif url == "dlist":
self.mw.close()
+ elif url == "ov":
+ self.mw.moveToState("overview")
# CSS
##########################################################################
@@ -439,22 +441,22 @@ div#filler {
def _showCongrats(self):
self.state = "congrats"
self.card = None
- self.deck.db.flush()
- self.hideButtons()
- self.disableCardMenuItems()
- self.switchToCongratsScreen()
- self.form.learnMoreButton.setEnabled(
- not not self.deck.newAvail)
- self.startRefreshTimer()
- self.bodyView.setState(state)
- # focus finish button
- self.form.finishButton.setFocus()
+ self.mw.deck.save()
+ buf = """
+
+%s
+
+%s
+%s
+
+
""" % (self.mw.deck.sched.finishedMsg(),
+ _("Overview"),
+ _("Deck List"))
+ self.web.stdHtml(buf, css=self.mw.sharedCSS)
runHook('deckFinished')
def drawDeckFinishedMessage(self):
"Tell the user the deck is finished."
- self.main.mainWin.congratsLabel.setText(
- self.main.deck.deckFinishedMsg())
# Deck empty case
##########################################################################
diff --git a/aqt/webview.py b/aqt/webview.py
index 114d94376..bf6662c8a 100644
--- a/aqt/webview.py
+++ b/aqt/webview.py
@@ -16,8 +16,14 @@ class Bridge(QObject):
@pyqtSlot(str, result=str)
def run(self, str):
return unicode(self._bridge(unicode(str)))
+ @pyqtSlot(str)
+ def link(self, str):
+ print "link", str
+ self._linkHandler(unicode(str))
def setBridge(self, func):
self._bridge = func
+ def setLinkHandler(self, func):
+ self._linkHandler = func
# Page for debug messages
##########################################################################
@@ -42,7 +48,6 @@ class AnkiWebView(QWebView):
self._loadFinishedCB = None
self.setPage(self._page)
self.page().setLinkDelegationPolicy(QWebPage.DelegateAllLinks)
- self.page().mainFrame().addToJavaScriptWindowObject("py", self._bridge)
self.setLinkHandler()
self.setKeyHandler()
self.connect(self, SIGNAL("linkClicked(QUrl)"), self._linkHandler)
@@ -65,6 +70,7 @@ class AnkiWebView(QWebView):
self.linkHandler = handler
else:
self.linkHandler = self._openLinksExternally
+ self._bridge.setLinkHandler(self.linkHandler)
def setKeyHandler(self, handler=None):
# handler should return true if event should be swallowed
self._keyHandler = handler
@@ -72,11 +78,19 @@ class AnkiWebView(QWebView):
if loadCB:
self._loadFinishedCB = loadCB
QWebView.setHtml(self, html)
+ self.page().mainFrame().addToJavaScriptWindowObject("py", self._bridge)
def stdHtml(self, body, css="", bodyClass="", loadCB=None):
self.setHtml("""
+
%s""" % (css, bodyClass, body), loadCB)
# ensure we're focused