mirror of
https://github.com/GitJournal/GitJournal.git
synced 2025-06-27 09:06:43 +08:00
Fix SortedNotes folder and enable it again
This commit is contained in:
@ -8,6 +8,9 @@ class SortedNotesFolder with NotesFolderNotifier implements NotesFolder {
|
|||||||
List<Note> _notes = [];
|
List<Note> _notes = [];
|
||||||
|
|
||||||
SortedNotesFolder(this.folder) {
|
SortedNotesFolder(this.folder) {
|
||||||
|
_notes = List<Note>.from(folder.notes);
|
||||||
|
_notes.sort(_compare);
|
||||||
|
|
||||||
folder.addFolderAddedListener(_folderAddedListener);
|
folder.addFolderAddedListener(_folderAddedListener);
|
||||||
folder.addFolderRemovedListener(_folderRemovedListener);
|
folder.addFolderRemovedListener(_folderRemovedListener);
|
||||||
|
|
||||||
@ -15,9 +18,6 @@ class SortedNotesFolder with NotesFolderNotifier implements NotesFolder {
|
|||||||
folder.addNoteRemovedListener(_noteRemovedListener);
|
folder.addNoteRemovedListener(_noteRemovedListener);
|
||||||
|
|
||||||
folder.addListener(_entityChanged);
|
folder.addListener(_entityChanged);
|
||||||
|
|
||||||
_notes = folder.notes;
|
|
||||||
_notes.sort(_compare);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@override
|
@override
|
||||||
@ -42,6 +42,8 @@ class SortedNotesFolder with NotesFolderNotifier implements NotesFolder {
|
|||||||
}
|
}
|
||||||
|
|
||||||
void _noteAddedListener(int _, Note note) {
|
void _noteAddedListener(int _, Note note) {
|
||||||
|
assert(folder.notes.length == _notes.length + 1);
|
||||||
|
|
||||||
var i = 0;
|
var i = 0;
|
||||||
for (; i < _notes.length; i++) {
|
for (; i < _notes.length; i++) {
|
||||||
var n = _notes[i];
|
var n = _notes[i];
|
||||||
@ -54,6 +56,8 @@ class SortedNotesFolder with NotesFolderNotifier implements NotesFolder {
|
|||||||
}
|
}
|
||||||
|
|
||||||
void _noteRemovedListener(int _, Note note) {
|
void _noteRemovedListener(int _, Note note) {
|
||||||
|
assert(folder.notes.length == _notes.length - 1);
|
||||||
|
|
||||||
var index = _notes.indexWhere((n) => n.filePath == note.filePath);
|
var index = _notes.indexWhere((n) => n.filePath == note.filePath);
|
||||||
assert(index != -1);
|
assert(index != -1);
|
||||||
_notes.removeAt(index);
|
_notes.removeAt(index);
|
||||||
|
@ -3,6 +3,7 @@ import 'package:fimber/fimber.dart';
|
|||||||
|
|
||||||
import 'package:gitjournal/core/note.dart';
|
import 'package:gitjournal/core/note.dart';
|
||||||
import 'package:gitjournal/core/notes_folder.dart';
|
import 'package:gitjournal/core/notes_folder.dart';
|
||||||
|
import 'package:gitjournal/core/sorted_notes_folder.dart';
|
||||||
import 'package:gitjournal/screens/note_editor.dart';
|
import 'package:gitjournal/screens/note_editor.dart';
|
||||||
import 'package:gitjournal/state_container.dart';
|
import 'package:gitjournal/state_container.dart';
|
||||||
import 'package:gitjournal/utils.dart';
|
import 'package:gitjournal/utils.dart';
|
||||||
@ -79,7 +80,7 @@ class JournalListingScreen extends StatelessWidget {
|
|||||||
return Builder(
|
return Builder(
|
||||||
builder: (context) {
|
builder: (context) {
|
||||||
return JournalList(
|
return JournalList(
|
||||||
folder: folder,
|
folder: SortedNotesFolder(folder),
|
||||||
noteSelectedFunction: (Note note) async {
|
noteSelectedFunction: (Note note) async {
|
||||||
var route = MaterialPageRoute(
|
var route = MaterialPageRoute(
|
||||||
builder: (context) => NoteEditor.fromNote(note),
|
builder: (context) => NoteEditor.fromNote(note),
|
||||||
|
Reference in New Issue
Block a user