diff --git a/aqt/deckbrowser.py b/aqt/deckbrowser.py index d4e2aaee0..97c99492f 100644 --- a/aqt/deckbrowser.py +++ b/aqt/deckbrowser.py @@ -5,6 +5,7 @@ from aqt.qt import * from aqt.utils import askUser, getOnlyText, openLink, showWarning from anki.utils import isMac +from anki.errors import DeckRenameError import aqt class DeckBrowser(object): @@ -36,6 +37,9 @@ class DeckBrowser(object): self._onShared() elif cmd == "import": self.mw.onImport() + elif cmd == "drag": + draggedDeckDid, ontoDeckDid = arg.split(',') + self._dragDeckOnto(draggedDeckDid, ontoDeckDid) def _selDeck(self, did): self.mw.col.decks.select(did) @@ -49,7 +53,7 @@ tr { font-size: 12px; } a.deck { color: #000; text-decoration: none; } a.deck:hover { text-decoration: underline; } td.opts { white-space: nowrap; } -td.deck { width: 90% } +.drag-hover { background-color: #448; } .extra { font-size: 90%; } body { margin: 1em; -webkit-user-select: none; } """ @@ -60,11 +64,42 @@ body { margin: 1em; -webkit-user-select: none; } %(tree)s + """ def _renderPage(self): css = self.mw.sharedCSS + self._css - tree = self._renderDeckTree(self.mw.col.sched.deckDueTree()) + tree = self._renderDeckTree(self.mw.col.sched.deckDueTree()) \ + + self._bogusBottomRowForDraggingDeckToTopLevel() self.web.stdHtml(self._body%dict( title=_("Decks"), tree=tree), css=css) @@ -107,6 +142,9 @@ body { margin: 1em; -webkit-user-select: none; } buf += self._renderDeckTree(children, depth+1) return buf + def _bogusBottomRowForDraggingDeckToTopLevel(self): + return "