From fb5ab57fe0ff1174234a1985334c380c9d726346 Mon Sep 17 00:00:00 2001 From: Vishesh Handa Date: Sun, 31 May 2020 03:37:38 +0200 Subject: [PATCH] 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 --- lib/core/notes_folder_fs.dart | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/lib/core/notes_folder_fs.dart b/lib/core/notes_folder_fs.dart index f4f1a791..eb15d4bb 100644 --- a/lib/core/notes_folder_fs.dart +++ b/lib/core/notes_folder_fs.dart @@ -318,6 +318,12 @@ class NotesFolderFS with NotesFolderNotifier implements NotesFolder { } void removeFolder(NotesFolderFS folder) { + var notesCopy = List.from(folder._notes); + notesCopy.forEach(folder.remove); + + var foldersCopy = List.from(folder._folders); + foldersCopy.forEach(folder.removeFolder); + _removeFolderListeners(folder); assert(_folders.indexWhere((f) => f.folderPath == folder.folderPath) != -1);