From 3f1ed1a5668e6537e222c2ac1bc7c284121e0f9c Mon Sep 17 00:00:00 2001 From: Damien Elmes Date: Mon, 21 Mar 2011 12:40:27 +0900 Subject: [PATCH] move the toolback into the browser screen --- aqt/deckbrowser.py | 53 ++++++++++++++++++++++++++++++++++------------ 1 file changed, 40 insertions(+), 13 deletions(-) diff --git a/aqt/deckbrowser.py b/aqt/deckbrowser.py index b7b6639dd..c8a217110 100644 --- a/aqt/deckbrowser.py +++ b/aqt/deckbrowser.py @@ -17,16 +17,21 @@ body { background-color: #eee; } .sub { color: #555; } hr { margin:5 0 5 0; border:0; height:1px; background-color:#ddd; } a:hover { background-color: #aaa; } -a { color: #000; text-decoration: none; } +a.deck { color: #000; text-decoration: none; } .num { text-align: right; padding: 0 5 0 5; } td.opts { text-align: right; white-space: nowrap; } a.opts { font-size: 80%; padding: 2; background-color: #ccc; border-radius: 2px; } +td.menu { text-align: center; } +a.tb { font-size: 80%; text-decoration: none; } +h1 { margin-bottom: 0.2em; } """ _body = """

%(title)s

+%(tb)s +

%(rows)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: