diff --git a/aqt/deckbrowser.py b/aqt/deckbrowser.py index b62374db6..850dbce95 100644 --- a/aqt/deckbrowser.py +++ b/aqt/deckbrowser.py @@ -25,8 +25,7 @@ class DeckBrowser(object): else: cmd = url if cmd == "open": - deck = self._decks[int(arg)] - self._selDeck(deck) + self._selDeck(arg) elif cmd == "opts": self._optsForRow(int(arg)) elif cmd == "download": @@ -42,8 +41,9 @@ class DeckBrowser(object): elif cmd == "refresh": self.refresh() - def _selDeck(self, rec): - print rec + def _selDeck(self, did): + self.mw.col.decks.select(did) + self.mw.moveToState("overview") # HTML generation ########################################################################## diff --git a/aqt/main.py b/aqt/main.py index 2d3549cd2..fb8e8f4d9 100755 --- a/aqt/main.py +++ b/aqt/main.py @@ -190,7 +190,7 @@ Are you sure?"""): self.onSync() # then load collection and launch into the deck browser self.col = Collection(self.pm.collectionPath()) - self.moveToState("deckBrowser") + self.moveToState("overview") def unloadProfile(self): self.col = None @@ -227,6 +227,7 @@ Are you sure?"""): self.reviewer.show() def _reviewCleanup(self, newState): + print "rethink cleanup code?" if newState != "resetRequired": self.reviewer.cleanup() diff --git a/aqt/modelchooser.py b/aqt/modelchooser.py index f697a2d53..9ca540231 100644 --- a/aqt/modelchooser.py +++ b/aqt/modelchooser.py @@ -15,7 +15,7 @@ class ModelChooser(QHBoxLayout): QHBoxLayout.__init__(self) self.widget = widget self.mw = mw - self.deck = mw.deck + self.deck = mw.col self.handleCards = cards self.label = label self._ignoreReset = False @@ -151,7 +151,7 @@ class AddModel(QDialog): def __init__(self, mw, parent=None): self.parent = parent or mw self.mw = mw - self.deck = mw.deck + self.deck = mw.col QDialog.__init__(self, self.parent, Qt.Window) self.model = None self.dialog = aqt.forms.addmodel.Ui_Dialog() @@ -191,7 +191,7 @@ class AddModel(QDialog): self.model = model(self.deck) else: # add copy to deck - self.mw.deck.addModel(model) + self.mw.col.addModel(model) self.model = model QDialog.accept(self) diff --git a/aqt/models.py b/aqt/models.py index 002b951ae..42ceec5ea 100644 --- a/aqt/models.py +++ b/aqt/models.py @@ -10,7 +10,7 @@ class Models(QDialog): self.mw = mw self.parent = parent or mw QDialog.__init__(self, self.parent, Qt.Window) - self.deck = mw.deck + self.deck = mw.col self.mw.checkpoint(_("Models")) self.form = aqt.forms.models.Ui_Dialog() self.form.setupUi(self) diff --git a/aqt/overview.py b/aqt/overview.py index 02b5f34f8..5ad9463d9 100644 --- a/aqt/overview.py +++ b/aqt/overview.py @@ -17,7 +17,6 @@ class Overview(object): addHook("reset", self.refresh) def show(self): - self._setupToolbar() self.web.setKeyHandler(self._keyHandler) self.web.setLinkHandler(self._linkHandler) self.refresh() @@ -41,11 +40,11 @@ class Overview(object): def _linkHandler(self, url): print "link", url if url == "study": - self.mw.deck.reset() + self.mw.col.reset() self.mw.moveToState("review") elif url == "cram": return showInfo("not yet implemented") - #self.mw.deck.cramGroups() + #self.mw.col.cramGroups() #self.mw.moveToState("review") elif url == "opts": self.mw.onStudyOptions() @@ -60,18 +59,28 @@ class Overview(object): fc = self._ovForecast() tbl = self._overviewTable() but = self.mw.button + deck = self.mw.col.decks.current() + dname = deck['name'] + sid = deck.get("sharedFrom") + if True: # sid: + shareLink = 'Reviews and Updates' + else: + shareLink = "" self.web.stdHtml(self._overviewBody % dict( title=_("Overview"), table=tbl, fcsub=_("Reviews over next two weeks"), + deck=deck['name'], + shareLink=shareLink, + desc="", fcdata=fc, ), css) _overviewBody = """
-%(table)s +
%(fcsub)s @@ -101,10 +110,12 @@ $(function () { .due { text-align: right; } .new { text-align: right; } .sub { font-size: 80%; color: #555; } +.smallLink { font-size: 12px; } +h3 { margin-bottom: 0; } """ def _overviewTable(self): - counts = self._ovCounts() + return "" but = self.mw.button buf = "
%s | " % _("Due") @@ -129,27 +140,8 @@ $(function () { # Data ########################################################################## - def _ovCounts(self): - # we have the limited count already - selcnt = [0,0,0] #self.mw.deck.sched.selCounts() - allcnt = [0,0,0] #self.mw.deck.sched.allCounts() - return [ - limitedCount(selcnt[1] + selcnt[2]), - selcnt[0], - limitedCount(allcnt[1] + allcnt[2]), - allcnt[0], - ] - def _ovForecast(self): - fc = self.mw.deck.sched.dueForecast(14) + fc = self.mw.col.sched.dueForecast(14) if not sum(fc): return "'%s'" % _('No cards due in next two weeks') return simplejson.dumps(tuple(enumerate(fc))) - - # Toolbar - ########################################################################## - - def _setupToolbar(self): - if not self.mw.config['showToolbar']: - return - self.mw.form.toolBar.show() diff --git a/aqt/reviewer.py b/aqt/reviewer.py index 155ef9486..a20dd6e48 100644 --- a/aqt/reviewer.py +++ b/aqt/reviewer.py @@ -37,7 +37,7 @@ class Reviewer(object): def lastCard(self): if self._answeredIds: if not self.card or self._answeredIds[-1] != self.card.id: - return self.mw.deck.getCard(self._answeredIds[-1]) + return self.mw.col.getCard(self._answeredIds[-1]) def cleanup(self): self._hideStatus() @@ -52,7 +52,7 @@ class Reviewer(object): # a card has been retrieved from undo c = self.cardQueue.pop() else: - c = self.mw.deck.sched.getCard() + c = self.mw.col.sched.getCard() self.card = c clearAudioQueue() if c: @@ -65,7 +65,7 @@ class Reviewer(object): else: self._hideStatus() self.mw.disableCardMenuItems() - if self.mw.deck.cardCount(): + if self.mw.col.cardCount(): self._showCongrats() else: self._showEmpty() @@ -184,7 +184,7 @@ $(".ansbut").focus(); if self.mw.config['autoplaySounds']: playFromText(q) # render - esc = self.mw.deck.media.escapeImages + esc = self.mw.col.media.escapeImages q=esc(mungeQA(q)) + self.typeAnsInput() a=esc(mungeQA(a)) self.web.eval("_updateQA(%s);" % simplejson.dumps( @@ -208,13 +208,13 @@ $(".ansbut").focus(); ########################################################################## def _defaultEase(self): - if self.mw.deck.sched.answerButtons(self.card) == 4: + if self.mw.col.sched.answerButtons(self.card) == 4: return 3 else: return 2 def _answerButtons(self): - if self.mw.deck.sched.answerButtons(self.card) == 4: + if self.mw.col.sched.answerButtons(self.card) == 4: labels = (_("Again"), _("Hard"), _("Good"), _("Easy")) else: labels = (_("Again"), _("Good"), _("Easy")) @@ -240,7 +240,7 @@ $(".ansbut").focus(); def _buttonTime(self, i, green): if self.mw.config['suppressEstimates']: return "" - txt = self.mw.deck.sched.nextIvlStr(self.card, i+1, True) + txt = self.mw.col.sched.nextIvlStr(self.card, i+1, True) if i == 0: txt = '%s' % txt elif i == green: @@ -252,7 +252,7 @@ $(".ansbut").focus(); def _answerCard(self, ease): "Reschedule card and show next." - self.mw.deck.sched.answerCard(self.card, ease) + self.mw.col.sched.answerCard(self.card, ease) self._answeredIds.append(self.card.id) self.mw.autosave() self.nextCard() @@ -373,7 +373,7 @@ div#filler { def _styles(self): css = self.mw.sharedCSS - css += self.mw.deck.models.css() + css += self.mw.col.models.css() css += self._css return css @@ -401,7 +401,7 @@ div#filler { def processTypedAns(self, given): ord = self.typeAns() try: - cor = self.mw.deck.media.strip( + cor = self.mw.col.media.strip( stripHTML(self.card.note().fields[ord])) except IndexError: self.card.template()['typeAns'] = None @@ -481,7 +481,7 @@ div#filler {
---|