From 56e5c10696eac8bfbd4f1e787ec105726942db63 Mon Sep 17 00:00:00 2001 From: Vishesh Handa Date: Tue, 8 Sep 2020 23:32:42 +0200 Subject: [PATCH] Add scaffolding to make emoji parsing optional --- lib/core/processors/emoji_processor.dart | 17 +++++++++++++++++ lib/core/processors/wiki_links_auto_add.dart | 4 +++- lib/settings.dart | 4 ++++ 3 files changed, 24 insertions(+), 1 deletion(-) create mode 100644 lib/core/processors/emoji_processor.dart diff --git a/lib/core/processors/emoji_processor.dart b/lib/core/processors/emoji_processor.dart new file mode 100644 index 00000000..f1ffab8a --- /dev/null +++ b/lib/core/processors/emoji_processor.dart @@ -0,0 +1,17 @@ +import 'package:flutter_emoji/flutter_emoji.dart'; + +import 'package:gitjournal/core/note.dart'; + +class EmojiProcessor { + static final _emojiParser = EmojiParser(); + + void onSave(Note note) { + note.title = _emojiParser.emojify(note.title); + note.body = _emojiParser.emojify(note.body); + } + + void onLoad(Note note) { + note.body = _emojiParser.unemojify(note.body); + note.title = _emojiParser.unemojify(note.title); + } +} diff --git a/lib/core/processors/wiki_links_auto_add.dart b/lib/core/processors/wiki_links_auto_add.dart index 89305d69..a68b84b0 100644 --- a/lib/core/processors/wiki_links_auto_add.dart +++ b/lib/core/processors/wiki_links_auto_add.dart @@ -6,7 +6,9 @@ class WikiLinksAutoAddProcessor { WikiLinksAutoAddProcessor(this.rootFolder); - void process(Note note) {} + void onSave(Note note) { + //note.body = processBody(note.body, tags); + } String processBody(String body, List tags) { for (var tag in tags) { diff --git a/lib/settings.dart b/lib/settings.dart index d8f35185..c22814e5 100644 --- a/lib/settings.dart +++ b/lib/settings.dart @@ -69,6 +69,7 @@ class Settings extends ChangeNotifier { bool saveTitleInH1 = true; bool swipeToDelete = true; + bool emojiParser = true; Set inlineTagPrefixes = {'#'}; @@ -124,6 +125,7 @@ class Settings extends ChangeNotifier { version = pref.getInt("settingsVersion") ?? version; proMode = pref.getBool("proMode") ?? proMode; + emojiParser = pref.getBool("emojiParser") ?? emojiParser; proExpirationDate = pref.getString("proExpirationDate") ?? proExpirationDate; @@ -218,6 +220,7 @@ class Settings extends ChangeNotifier { _setString(pref, "proExpirationDate", proExpirationDate, defaultSet.proExpirationDate); _setBool(pref, "proMode", proMode, defaultSet.proMode); + _setBool(pref, "emojiParser", emojiParser, defaultSet.emojiParser); _setString(pref, "homeScreen", homeScreen.toInternalString(), defaultSet.homeScreen.toInternalString()); _setString(pref, "imageLocationSpec", imageLocationSpec, @@ -319,6 +322,7 @@ class Settings extends ChangeNotifier { 'saveTitleInH1': saveTitleInH1.toString(), 'swipeToDelete': swipeToDelete.toString(), 'inlineTagPrefixes': inlineTagPrefixes.join(' '), + 'emojiParser': emojiParser.toString(), }; }