don't allow shortcuts to load corrupt decks; remove toolbar

This commit is contained in:
Damien Elmes 2011-03-21 11:30:55 +09:00
parent f96e03875a
commit 909e8fb05c

View file

@ -10,7 +10,6 @@ from anki import Deck
from anki.utils import fmtTimeSpan from anki.utils import fmtTimeSpan
from anki.hooks import addHook from anki.hooks import addHook
import aqt import aqt
#from aqt.utils import askUser
_css = """ _css = """
body { background-color: #eee; } body { background-color: #eee; }
@ -36,6 +35,7 @@ _body = """
""" """
class DeckBrowser(object): class DeckBrowser(object):
"Display a list of remembered decks."
def __init__(self, mw): def __init__(self, mw):
self.mw = mw self.mw = mw
@ -81,19 +81,14 @@ class DeckBrowser(object):
########################################################################## ##########################################################################
def _setupToolbar(self): def _setupToolbar(self):
frm = self.mw.form self.mw.form.toolBar.hide()
tb = frm.toolBar return
tb.clear()
tb.addAction(frm.actionDownloadSharedDeck) tb.addAction(frm.actionDownloadSharedDeck)
tb.addAction(frm.actionNew) tb.addAction(frm.actionNew)
tb.addAction(frm.actionOpen) tb.addAction(frm.actionOpen)
tb.addAction(frm.actionImport) tb.addAction(frm.actionImport)
tb.addAction(frm.actionOpenOnline) tb.addAction(frm.actionOpenOnline)
tb.addAction(frm.actionRefreshDeckBrowser) tb.addAction(frm.actionRefreshDeckBrowser)
tb.setToolButtonStyle(Qt.ToolButtonTextUnderIcon)
# reshow so osx recalculates sizes
tb.hide()
tb.show()
# Event handlers # Event handlers
########################################################################## ##########################################################################
@ -101,8 +96,8 @@ class DeckBrowser(object):
def _linkHandler(self, url): def _linkHandler(self, url):
(cmd, arg) = url.split(":") (cmd, arg) = url.split(":")
if cmd == "open": if cmd == "open":
deck = self._decks[int(arg)]['path'] deck = self._decks[int(arg)]
self.mw.loadDeck(deck) self._loadDeck(deck)
elif cmd == "opts": elif cmd == "opts":
self._optsForRow(int(arg)) self._optsForRow(int(arg))
@ -117,7 +112,11 @@ class DeckBrowser(object):
def _openAccel(self, txt): def _openAccel(self, txt):
for d in self._decks: for d in self._decks:
if d['accel'] == txt: if d['accel'] == txt:
self.mw.loadDeck(d['path']) self._loadDeck(d)
def _loadDeck(self, rec):
if 'path' in rec:
self.mw.loadDeck(rec['path'])
# HTML generation # HTML generation
########################################################################## ##########################################################################
@ -133,7 +132,7 @@ class DeckBrowser(object):
rows=buf, rows=buf,
extra="<p>%s<p>%s" % ( extra="<p>%s<p>%s" % (
self._summary(), self._summary(),
_("Click a deck to open, or type a number."))), _("Click a deck to open it, or type a number."))),
_css) _css)
else: else:
self.web.stdHtml(_body%dict( self.web.stdHtml(_body%dict(