mirror of
https://github.com/ankitects/anki.git
synced 2025-09-19 14:32:22 -04:00
prevent nesting things under filtered decks
This change keeps drag-and-drop behavior the same except for displaying an error if an otherwise acceptable move would nest anything underneath a filtered deck.
This commit is contained in:
parent
ebcab2122d
commit
5e74976361
1 changed files with 8 additions and 3 deletions
|
@ -262,9 +262,14 @@ class DeckManager(object):
|
||||||
self.rename(draggedDeck, ontoDeckName + "::" + self._basename(draggedDeckName))
|
self.rename(draggedDeck, ontoDeckName + "::" + self._basename(draggedDeckName))
|
||||||
|
|
||||||
def _canDragAndDrop(self, draggedDeckName, ontoDeckName):
|
def _canDragAndDrop(self, draggedDeckName, ontoDeckName):
|
||||||
return draggedDeckName <> ontoDeckName \
|
if draggedDeckName == ontoDeckName \
|
||||||
and not self._isParent(ontoDeckName, draggedDeckName) \
|
or self._isParent(ontoDeckName, draggedDeckName) \
|
||||||
and not self._isAncestor(draggedDeckName, ontoDeckName)
|
or self._isAncestor(draggedDeckName, ontoDeckName):
|
||||||
|
return False
|
||||||
|
elif self.byName(ontoDeckName)['dyn']:
|
||||||
|
raise DeckRenameError(_("A filtered deck cannot have subdecks."))
|
||||||
|
else:
|
||||||
|
return True
|
||||||
|
|
||||||
def _isParent(self, parentDeckName, childDeckName):
|
def _isParent(self, parentDeckName, childDeckName):
|
||||||
return self._path(childDeckName) == self._path(parentDeckName) + [ self._basename(childDeckName) ]
|
return self._path(childDeckName) == self._path(parentDeckName) + [ self._basename(childDeckName) ]
|
||||||
|
|
Loading…
Reference in a new issue