diff --git a/aqt/deckbrowser.py b/aqt/deckbrowser.py index c8871a8f6..45482f848 100644 --- a/aqt/deckbrowser.py +++ b/aqt/deckbrowser.py @@ -48,16 +48,19 @@ class DeckBrowser(object): # HTML generation ########################################################################## + _dragIndicatorBorderWidth = "1px" + _css = """ tr { font-size: 12px; } a.deck { color: #000; text-decoration: none; } a.deck:hover { text-decoration: underline; } -tr.deck td { border-bottom: thick solid transparent; } +tr.deck td { border-bottom: %(width)s solid transparent; } +tr.top-level-drag-row td { border-bottom: %(width)s solid transparent; } td.opts { white-space: nowrap; } -tr.drag-hover td { border-bottom: 1px solid #aaa; } -.extra { font-size: 90%; } +tr.drag-hover td { border-bottom: %(width)s solid #aaa; } +.extra { font-size: 90%%; } body { margin: 1em; -webkit-user-select: none; } -""" +""" % dict(width=_dragIndicatorBorderWidth) _body = """
@@ -76,13 +79,14 @@ body { margin: 1em; -webkit-user-select: none; } helper: function (event) { return $(this).clone(false); }, + delay: 200, opacity: 0.7 }); $("tr.deck").droppable({ drop: handleDropEvent, hoverClass: 'drag-hover', }); - $("tr.bottom-row").droppable({ + $("tr.top-level-drag-row").droppable({ drop: handleDropEvent, hoverClass: 'drag-hover', }); @@ -99,11 +103,8 @@ body { margin: 1em; -webkit-user-select: none; } def _renderPage(self): css = self.mw.sharedCSS + self._css - tree = self._renderDeckTree(self.mw.col.sched.deckDueTree()) \ - + self._bogusBottomRowForDraggingDeckToTopLevel() - self.web.stdHtml(self._body%dict( - title=_("Decks"), - tree=tree), css=css) + tree = self._renderDeckTree(self.mw.col.sched.deckDueTree()) + self.web.stdHtml(self._body%dict(tree=tree), css=css) self._drawButtons() def _renderDeckTree(self, nodes, depth=0): @@ -114,10 +115,13 @@ body { margin: 1em; -webkit-user-select: none; } %s%s %s""" % ( _("Deck"), _("Due"), _("New")) + buf += self._topLevelDragRow() else: buf = "" for node in nodes: buf += self._deckRow(node, depth) + if depth == 0: + buf += self._topLevelDragRow() return buf def _deckRow(self, node, depth): @@ -143,8 +147,8 @@ body { margin: 1em; -webkit-user-select: none; } buf += self._renderDeckTree(children, depth+1) return buf - def _bogusBottomRowForDraggingDeckToTopLevel(self): - return " " + def _topLevelDragRow(self): + return " " def _dueImg(self, due, new): if due: