%(title)s
+%(tb)s
+
@@ -42,8 +47,6 @@ class DeckBrowser(object):
self.web = mw.web
self._browserLastRefreshed = 0
self._decks = []
- mw.connect(mw.form.actionRefreshDeckBrowser, SIGNAL("activated()"),
- self.refresh)
addHook("deckClosing", self.onClose)
def show(self, _init=True):
@@ -80,26 +83,48 @@ class DeckBrowser(object):
# Toolbar
##########################################################################
+ # we don't use the top toolbar
def _setupToolbar(self):
self.mw.form.toolBar.hide()
- return
- tb.addAction(frm.actionDownloadSharedDeck)
- tb.addAction(frm.actionNew)
- tb.addAction(frm.actionOpen)
- tb.addAction(frm.actionImport)
- tb.addAction(frm.actionOpenOnline)
- tb.addAction(frm.actionRefreshDeckBrowser)
+
+ # instead we have a html one under the deck list
+ def _toolbar(self):
+ items = [
+ ("download", _("Download Shared")),
+ ("new", _("Create")),
+ ("import", _("Import")),
+ ("opensel", _("Open")),
+ ("synced", _("Synced")),
+ ("refresh", _("Refresh")),
+ ]
+ h = " | ".join(["
%s" % row for row in items])
+ return h
# Event handlers
##########################################################################
def _linkHandler(self, url):
- (cmd, arg) = url.split(":")
+ if ":" in url:
+ (cmd, arg) = url.split(":")
+ else:
+ cmd = url
if cmd == "open":
deck = self._decks[int(arg)]
self._loadDeck(deck)
elif cmd == "opts":
self._optsForRow(int(arg))
+ elif cmd == "download":
+ self.mw.onGetSharedDeck()
+ elif cmd == "new":
+ self.mw.onNew()
+ elif cmd == "import":
+ self.mw.onImport()
+ elif cmd == "opensel":
+ self.mw.onOpen()
+ elif cmd == "synced":
+ self.mw.onOpenOnline()
+ elif cmd == "refresh":
+ self.refresh()
def _keyHandler(self, evt):
txt = evt.text()
@@ -130,6 +155,7 @@ class DeckBrowser(object):
self.web.stdHtml(_body%dict(
title=_("Decks"),
rows=buf,
+ tb=self._toolbar(),
extra="
%s
%s" % (
self._summary(),
_("Click a deck to open it, or type a number."))),
@@ -139,7 +165,8 @@ class DeckBrowser(object):
title=_("Welcome!"),
rows="
%s |
"%_(
"Click
Download to get started."),
- extra=""),
+ extra="",
+ tb=self._toolbar()),
_css)
def _deckRow(self, c, max, deck):
@@ -153,7 +180,7 @@ class DeckBrowser(object):
# name/link
buf += "
%s%s | " % (
accelName(deck),
- "
%s"%(c, deck['name']))
+ "
%s"%(c, deck['name']))
# due
col = '
%s | '
if deck['due'] > 0: