Folder.removeFolder: Remove listeners recursively

Ideally when removing a folder one shouldn't have any notes, but
sometimes we do allow an entire folder to be reset.

Related to #36
This commit is contained in:
Vishesh Handa
2020-05-31 03:37:38 +02:00
parent e740bd2223
commit fb5ab57fe0

View File

@ -318,6 +318,12 @@ class NotesFolderFS with NotesFolderNotifier implements NotesFolder {
}
void removeFolder(NotesFolderFS folder) {
var notesCopy = List<Note>.from(folder._notes);
notesCopy.forEach(folder.remove);
var foldersCopy = List<NotesFolderFS>.from(folder._folders);
foldersCopy.forEach(folder.removeFolder);
_removeFolderListeners(folder);
assert(_folders.indexWhere((f) => f.folderPath == folder.folderPath) != -1);