mirror of
https://github.com/GitJournal/GitJournal.git
synced 2025-08-26 02:30:00 +08:00
Fix FilteredFlattenedNotesFolder
I'm not sure how this ever worked. The 'contains' function matches all parts of the note.
This commit is contained in:
@ -96,7 +96,8 @@ class FlattenedFilteredNotesFolder
|
||||
|
||||
await _lock.synchronized(() {
|
||||
// The filtering is async so we need to check again
|
||||
if (_notes.contains(note)) {
|
||||
var contain = _notes.indexWhere((n) => n.filePath == note.filePath) != -1;
|
||||
if (contain) {
|
||||
notifyNoteModified(-1, note);
|
||||
return;
|
||||
}
|
||||
@ -108,19 +109,20 @@ class FlattenedFilteredNotesFolder
|
||||
Future<void> _noteRemoved(int _, Note note) async {
|
||||
await _lock.synchronized(() {
|
||||
var i = _notes.indexWhere((n) => n.filePath == note.filePath);
|
||||
// assert(i != -1);
|
||||
if (i == -1) {
|
||||
return;
|
||||
}
|
||||
assert(i != -1);
|
||||
|
||||
var _ = _notes.removeAt(i);
|
||||
notifyNoteRemoved(i, note);
|
||||
notifyNoteRemoved(-1, note);
|
||||
});
|
||||
}
|
||||
|
||||
Future<void> _noteModified(int _, Note note) async {
|
||||
return await _lock.synchronized(() async {
|
||||
if (_notes.contains(note)) {
|
||||
var contain = _notes.indexWhere((n) => n.filePath == note.filePath) != -1;
|
||||
if (contain) {
|
||||
if (await filter(note)) {
|
||||
notifyNoteModified(-1, note);
|
||||
} else {
|
||||
@ -128,7 +130,8 @@ class FlattenedFilteredNotesFolder
|
||||
}
|
||||
} else {
|
||||
if (await filter(note)) {
|
||||
_noteAdded(-1, note);
|
||||
_notes.add(note);
|
||||
notifyNoteAdded(-1, note);
|
||||
}
|
||||
}
|
||||
});
|
||||
|
@ -36,6 +36,7 @@ class SortedNotesFolder with NotesFolderNotifier implements NotesFolder {
|
||||
folder.addNoteAddedListener(_noteAddedListener);
|
||||
folder.addNoteRemovedListener(_noteRemovedListener);
|
||||
folder.addNoteModifiedListener(_noteModifiedListener);
|
||||
folder.addNoteRenameListener(_noteRenamedListener);
|
||||
}
|
||||
|
||||
@override
|
||||
@ -46,6 +47,7 @@ class SortedNotesFolder with NotesFolderNotifier implements NotesFolder {
|
||||
folder.removeNoteAddedListener(_noteAddedListener);
|
||||
folder.removeNoteRemovedListener(_noteRemovedListener);
|
||||
folder.removeNoteModifiedListener(_noteModifiedListener);
|
||||
folder.removeNoteRenameListener(_noteRenamedListener);
|
||||
|
||||
super.dispose();
|
||||
}
|
||||
@ -90,6 +92,10 @@ class SortedNotesFolder with NotesFolderNotifier implements NotesFolder {
|
||||
notifyNoteModified(-1, note);
|
||||
}
|
||||
|
||||
void _noteRenamedListener(int _, Note note, String oldPath) {
|
||||
notifyNoteRenamed(-1, note, oldPath);
|
||||
}
|
||||
|
||||
int _insertInCorrectPos(Note note) {
|
||||
if (_notes.isEmpty) {
|
||||
_notes.add(note);
|
||||
|
Reference in New Issue
Block a user