From 96b4e5b04a55881150f5d77b848b23daca634114 Mon Sep 17 00:00:00 2001 From: CatHood0 Date: Wed, 21 Aug 2024 07:06:50 -0400 Subject: [PATCH] Chore: update spell checker service API to deactivate without set to default --- .../simple_spell_checker_service.dart | 15 +++++++++------ flutter_quill_extensions/pubspec.yaml | 2 +- .../default_spellchecker_service.dart | 9 +++++++-- .../editor/spellchecker/spellchecker_service.dart | 9 +++++++-- .../spellchecker_service_provider.dart | 8 ++++++++ 5 files changed, 32 insertions(+), 11 deletions(-) diff --git a/flutter_quill_extensions/lib/src/editor/spell_checker/simple_spell_checker_service.dart b/flutter_quill_extensions/lib/src/editor/spell_checker/simple_spell_checker_service.dart index fe36678b..8faed72b 100644 --- a/flutter_quill_extensions/lib/src/editor/spell_checker/simple_spell_checker_service.dart +++ b/flutter_quill_extensions/lib/src/editor/spell_checker/simple_spell_checker_service.dart @@ -5,8 +5,7 @@ import 'package:simple_spell_checker/simple_spell_checker.dart'; /// SimpleSpellChecker is a simple spell checker for get /// all words divide on different objects if them are wrong or not -class SimpleSpellCheckerService - extends SpellCheckerService { +class SimpleSpellCheckerService extends SpellCheckerService { SimpleSpellCheckerService({required super.language}) : checker = SimpleSpellChecker( language: language, @@ -21,16 +20,20 @@ class SimpleSpellCheckerService @override List? checkSpelling( String text, { - LongPressGestureRecognizer Function(String word)? - customLongPressRecognizerOnWrongSpan, + LongPressGestureRecognizer Function(String word)? customLongPressRecognizerOnWrongSpan, }) { return checker.check( text, - customLongPressRecognizerOnWrongSpan: - customLongPressRecognizerOnWrongSpan, + customLongPressRecognizerOnWrongSpan: customLongPressRecognizerOnWrongSpan, ); } + @override + void toggleChecker() => checker.toggleChecker(); + + @override + bool isServiceActive() => checker.isCheckerActive(); + @override void dispose({bool onlyPartial = false}) { if (onlyPartial) { diff --git a/flutter_quill_extensions/pubspec.yaml b/flutter_quill_extensions/pubspec.yaml index ddee44e3..e2027bb0 100644 --- a/flutter_quill_extensions/pubspec.yaml +++ b/flutter_quill_extensions/pubspec.yaml @@ -41,7 +41,7 @@ dependencies: # Plugins video_player: ^2.8.1 - simple_spell_checker: ^1.1.2 + simple_spell_checker: ^1.1.4 youtube_player_flutter: ^9.0.1 url_launcher: ^6.2.1 super_clipboard: ^0.8.15 diff --git a/lib/src/editor/spellchecker/default_spellchecker_service.dart b/lib/src/editor/spellchecker/default_spellchecker_service.dart index cfeb1a12..5fa44d81 100644 --- a/lib/src/editor/spellchecker/default_spellchecker_service.dart +++ b/lib/src/editor/spellchecker/default_spellchecker_service.dart @@ -14,8 +14,7 @@ class DefaultSpellCheckerService extends SpellCheckerService { @override List? checkSpelling( String text, { - LongPressGestureRecognizer Function(String p1)? - customLongPressRecognizerOnWrongSpan, + LongPressGestureRecognizer Function(String p1)? customLongPressRecognizerOnWrongSpan, }) { return null; } @@ -28,4 +27,10 @@ class DefaultSpellCheckerService extends SpellCheckerService { @override void updateCustomLanguageIfExist({languageIdentifier}) {} + + @override + bool isServiceActive() => false; + + @override + void toggleChecker() {} } diff --git a/lib/src/editor/spellchecker/spellchecker_service.dart b/lib/src/editor/spellchecker/spellchecker_service.dart index b8331420..10235ceb 100644 --- a/lib/src/editor/spellchecker/spellchecker_service.dart +++ b/lib/src/editor/spellchecker/spellchecker_service.dart @@ -7,6 +7,12 @@ abstract class SpellCheckerService { final String language; + /// Decide if the service should be activate or deactivate + /// without dispose the service + void toggleChecker(); + + bool isServiceActive(); + /// dispose all the resources used for SpellcheckerService /// /// if [onlyPartial] is true just dispose a part of the SpellcheckerService @@ -28,6 +34,5 @@ abstract class SpellCheckerService { /// /// Returns a [List] with all misspelled words divide from the right words. List? checkSpelling(String text, - {LongPressGestureRecognizer Function(String)? - customLongPressRecognizerOnWrongSpan}); + {LongPressGestureRecognizer Function(String)? customLongPressRecognizerOnWrongSpan}); } diff --git a/lib/src/editor/spellchecker/spellchecker_service_provider.dart b/lib/src/editor/spellchecker/spellchecker_service_provider.dart index 24a51ebf..e5d41335 100644 --- a/lib/src/editor/spellchecker/spellchecker_service_provider.dart +++ b/lib/src/editor/spellchecker/spellchecker_service_provider.dart @@ -17,6 +17,14 @@ class SpellCheckerServiceProvider { _instance.dispose(onlyPartial: onlyPartial); } + static void toggleState() { + _instance.toggleChecker(); + } + + static bool isServiceActive() { + return _instance.isServiceActive(); + } + static void setNewLanguageState({required String language}) { assert(language.isNotEmpty); _instance.setNewLanguageState(language: language);