From 327fddcae2cce2ea037633bd1900ce5695b851d2 Mon Sep 17 00:00:00 2001 From: Vishesh Handa Date: Sun, 31 May 2020 09:56:28 +0200 Subject: [PATCH] Journal/Markdown Editor: Change tick-mark back to cross when empty When creating a new note, if some text is written and then removed, we should update the icon accordingly. Ideally it would be awesome if this could be done for any changes, but I think comparing the body of the note after each change might be too expensive. --- lib/editors/journal_editor.dart | 12 ++++++++---- lib/editors/markdown_editor.dart | 12 ++++++++---- 2 files changed, 16 insertions(+), 8 deletions(-) diff --git a/lib/editors/journal_editor.dart b/lib/editors/journal_editor.dart index 68112215..dc77e0e5 100644 --- a/lib/editors/journal_editor.dart +++ b/lib/editors/journal_editor.dart @@ -109,10 +109,14 @@ class JournalEditorState extends State implements EditorState { } void _noteTextChanged() { - if (_noteModified) return; - setState(() { - _noteModified = true; - }); + if (_noteModified && !widget.isNewNote) return; + + var newState = !(widget.isNewNote && _textController.text.trim().isEmpty); + if (newState != _noteModified) { + setState(() { + _noteModified = newState; + }); + } } @override diff --git a/lib/editors/markdown_editor.dart b/lib/editors/markdown_editor.dart index d687847b..272b69a8 100644 --- a/lib/editors/markdown_editor.dart +++ b/lib/editors/markdown_editor.dart @@ -149,10 +149,14 @@ class MarkdownEditorState extends State implements EditorState { } void _noteTextChanged() { - if (_noteModified) return; - setState(() { - _noteModified = true; - }); + if (_noteModified && !widget.isNewNote) return; + + var newState = !(widget.isNewNote && _textController.text.trim().isEmpty); + if (newState != _noteModified) { + setState(() { + _noteModified = newState; + }); + } } @override