From f2aac2df2958c9de79d3030094cc8f4889907956 Mon Sep 17 00:00:00 2001 From: Ahmed Hnewa <73608287+freshtechtips@users.noreply.github.com> Date: Sat, 21 Oct 2023 11:17:15 +0300 Subject: [PATCH] Delete deprecated Text class && Move local property to shared place --- example/lib/pages/home_page.dart | 2 +- example/lib/pages/read_only_page.dart | 2 +- example/lib/widgets/demo_scaffold.dart | 2 +- example/lib/widgets/time_stamp_embed_widget.dart | 2 +- flutter_quill_extensions/lib/embeds/builders.dart | 2 +- .../lib/embeds/toolbar/camera_button.dart | 2 +- .../lib/embeds/toolbar/image_video_utils.dart | 2 +- .../lib/embeds/toolbar/media_button.dart | 2 +- flutter_quill_extensions/pubspec.yaml | 6 +++--- lib/extensions.dart | 2 +- lib/flutter_quill.dart | 2 +- .../config}/quill_configurations.dart | 14 +++++++++----- lib/src/models/documents/nodes/leaf.dart | 3 --- lib/src/widgets/editor.dart | 8 +------- lib/src/widgets/toolbar.dart | 8 +------- lib/src/widgets/utils/provider.dart | 2 +- 16 files changed, 25 insertions(+), 36 deletions(-) rename lib/src/{core => models/config}/quill_configurations.dart (78%) diff --git a/example/lib/pages/home_page.dart b/example/lib/pages/home_page.dart index c52369f1..2914f8e2 100644 --- a/example/lib/pages/home_page.dart +++ b/example/lib/pages/home_page.dart @@ -9,7 +9,7 @@ import 'package:flutter/foundation.dart'; import 'package:flutter/material.dart'; import 'package:flutter/services.dart'; import 'package:flutter_quill/extensions.dart'; -import 'package:flutter_quill/flutter_quill.dart' hide Text; +import 'package:flutter_quill/flutter_quill.dart'; import 'package:flutter_quill_extensions/flutter_quill_extensions.dart'; import 'package:path/path.dart' as path; import 'package:path_provider/path_provider.dart'; diff --git a/example/lib/pages/read_only_page.dart b/example/lib/pages/read_only_page.dart index 5f04b987..fb14d475 100644 --- a/example/lib/pages/read_only_page.dart +++ b/example/lib/pages/read_only_page.dart @@ -1,7 +1,7 @@ import 'package:flutter/foundation.dart'; import 'package:flutter/material.dart'; import 'package:flutter_quill/extensions.dart'; -import 'package:flutter_quill/flutter_quill.dart' hide Text; +import 'package:flutter_quill/flutter_quill.dart'; import 'package:flutter_quill_extensions/flutter_quill_extensions.dart'; import '../universal_ui/universal_ui.dart'; diff --git a/example/lib/widgets/demo_scaffold.dart b/example/lib/widgets/demo_scaffold.dart index 61cb8b10..83a1845d 100644 --- a/example/lib/widgets/demo_scaffold.dart +++ b/example/lib/widgets/demo_scaffold.dart @@ -5,7 +5,7 @@ import 'package:filesystem_picker/filesystem_picker.dart'; import 'package:flutter/foundation.dart'; import 'package:flutter/material.dart'; import 'package:flutter/services.dart'; -import 'package:flutter_quill/flutter_quill.dart' hide Text; +import 'package:flutter_quill/flutter_quill.dart'; import 'package:flutter_quill_extensions/flutter_quill_extensions.dart'; import 'package:path_provider/path_provider.dart'; diff --git a/example/lib/widgets/time_stamp_embed_widget.dart b/example/lib/widgets/time_stamp_embed_widget.dart index cf922952..968cb441 100644 --- a/example/lib/widgets/time_stamp_embed_widget.dart +++ b/example/lib/widgets/time_stamp_embed_widget.dart @@ -1,7 +1,7 @@ import 'dart:convert'; import 'package:flutter/material.dart'; -import 'package:flutter_quill/flutter_quill.dart' hide Text; +import 'package:flutter_quill/flutter_quill.dart'; class TimeStampEmbed extends Embeddable { const TimeStampEmbed( diff --git a/flutter_quill_extensions/lib/embeds/builders.dart b/flutter_quill_extensions/lib/embeds/builders.dart index 8ea23202..5b3103f1 100644 --- a/flutter_quill_extensions/lib/embeds/builders.dart +++ b/flutter_quill_extensions/lib/embeds/builders.dart @@ -5,7 +5,7 @@ import 'package:flutter/foundation.dart'; import 'package:flutter/material.dart'; import 'package:flutter/services.dart'; import 'package:flutter_quill/extensions.dart' as base; -import 'package:flutter_quill/flutter_quill.dart' hide Text; +import 'package:flutter_quill/flutter_quill.dart'; import 'package:flutter_quill/translations.dart'; import 'package:math_keyboard/math_keyboard.dart'; import 'package:universal_html/html.dart' as html; diff --git a/flutter_quill_extensions/lib/embeds/toolbar/camera_button.dart b/flutter_quill_extensions/lib/embeds/toolbar/camera_button.dart index d654425c..6fab2583 100644 --- a/flutter_quill_extensions/lib/embeds/toolbar/camera_button.dart +++ b/flutter_quill_extensions/lib/embeds/toolbar/camera_button.dart @@ -1,5 +1,5 @@ import 'package:flutter/material.dart'; -import 'package:flutter_quill/flutter_quill.dart' hide Text; +import 'package:flutter_quill/flutter_quill.dart'; import 'package:flutter_quill/translations.dart'; import 'package:image_picker/image_picker.dart'; diff --git a/flutter_quill_extensions/lib/embeds/toolbar/image_video_utils.dart b/flutter_quill_extensions/lib/embeds/toolbar/image_video_utils.dart index 66045a51..5da99c6d 100644 --- a/flutter_quill_extensions/lib/embeds/toolbar/image_video_utils.dart +++ b/flutter_quill_extensions/lib/embeds/toolbar/image_video_utils.dart @@ -3,7 +3,7 @@ import 'dart:io' show File; import 'package:flutter/foundation.dart'; import 'package:flutter/material.dart'; import 'package:flutter_quill/extensions.dart'; -import 'package:flutter_quill/flutter_quill.dart' hide Text; +import 'package:flutter_quill/flutter_quill.dart'; import 'package:flutter_quill/translations.dart'; import 'package:image_picker/image_picker.dart'; diff --git a/flutter_quill_extensions/lib/embeds/toolbar/media_button.dart b/flutter_quill_extensions/lib/embeds/toolbar/media_button.dart index 135f4536..8a13a5fc 100644 --- a/flutter_quill_extensions/lib/embeds/toolbar/media_button.dart +++ b/flutter_quill_extensions/lib/embeds/toolbar/media_button.dart @@ -4,7 +4,7 @@ import 'dart:ui'; import 'package:flutter/foundation.dart'; import 'package:flutter/material.dart'; import 'package:flutter_quill/extensions.dart'; -import 'package:flutter_quill/flutter_quill.dart' hide Text; +import 'package:flutter_quill/flutter_quill.dart'; import 'package:flutter_quill/translations.dart'; import 'package:image_picker/image_picker.dart'; diff --git a/flutter_quill_extensions/pubspec.yaml b/flutter_quill_extensions/pubspec.yaml index 83a3c069..2c6231ef 100644 --- a/flutter_quill_extensions/pubspec.yaml +++ b/flutter_quill_extensions/pubspec.yaml @@ -19,10 +19,10 @@ dependencies: flutter: sdk: flutter - flutter_quill: ^7.4.16 + # flutter_quill: ^7.5.0 # In case you are working on changes for both libraries, - # flutter_quill: - # path: ~/development/playground/framework_based/flutter/flutter-quill + flutter_quill: + path: /Users/ahmedhnewa/development/playground/framework_based/flutter/flutter-quill http: ^1.1.0 image_picker: ">=1.0.4" diff --git a/lib/extensions.dart b/lib/extensions.dart index b7c2b0af..79f53845 100644 --- a/lib/extensions.dart +++ b/lib/extensions.dart @@ -1,6 +1,6 @@ library flutter_quill.extensions; -export 'src/models/documents/nodes/leaf.dart' hide Text; +export 'src/models/documents/nodes/leaf.dart'; export 'src/models/rules/insert.dart'; export 'src/utils/platform.dart'; export 'src/utils/string.dart'; diff --git a/lib/flutter_quill.dart b/lib/flutter_quill.dart index feee0e19..8f004617 100644 --- a/lib/flutter_quill.dart +++ b/lib/flutter_quill.dart @@ -1,6 +1,6 @@ library flutter_quill; -export 'src/core/quill_configurations.dart'; +export 'src/models/config/quill_configurations.dart'; export 'src/models/documents/attribute.dart'; export 'src/models/documents/document.dart'; export 'src/models/documents/nodes/block.dart'; diff --git a/lib/src/core/quill_configurations.dart b/lib/src/models/config/quill_configurations.dart similarity index 78% rename from lib/src/core/quill_configurations.dart rename to lib/src/models/config/quill_configurations.dart index 68eef5b1..f5786222 100644 --- a/lib/src/core/quill_configurations.dart +++ b/lib/src/models/config/quill_configurations.dart @@ -1,16 +1,15 @@ import 'package:flutter/foundation.dart' show immutable; -import 'package:flutter/material.dart' show Color, Colors; +import 'package:flutter/material.dart' show Color, Colors, Locale; -import '../../flutter_quill.dart'; - -// I will start on this in the major-update-2 +import '../../../flutter_quill.dart'; +/// The configurations for the toolbar widget of flutter quill @immutable class QuillToolbarConfigurations { const QuillToolbarConfigurations(); } -/// +/// The configurations for the quill editor widget of flutter quill @immutable class QuillEditorConfigurations { const QuillEditorConfigurations(); @@ -21,12 +20,17 @@ class QuillEditorConfigurations { class QuillSharedConfigurations { const QuillSharedConfigurations({ this.dialogBarrierColor = Colors.black54, + this.locale, }); // This is just example or showcase of this major update to make the library // more maintanable, flexible, and customizable /// The barrier color of the shown dialogs final Color dialogBarrierColor; + + /// The locale to use for the editor and toolbar, defaults to system locale + /// More https://github.com/singerdmx/flutter-quill#translation + final Locale? locale; } @immutable diff --git a/lib/src/models/documents/nodes/leaf.dart b/lib/src/models/documents/nodes/leaf.dart index 556590bc..8bf78462 100644 --- a/lib/src/models/documents/nodes/leaf.dart +++ b/lib/src/models/documents/nodes/leaf.dart @@ -200,9 +200,6 @@ abstract class Leaf extends Node { } } -@Deprecated('Please use [QuillText] instead') -class Text extends QuillText {} - /// A span of formatted text within a line in a Quill document. /// /// Text is a leaf node of a document tree. diff --git a/lib/src/widgets/editor.dart b/lib/src/widgets/editor.dart index 80c34db5..6b29fde5 100644 --- a/lib/src/widgets/editor.dart +++ b/lib/src/widgets/editor.dart @@ -175,7 +175,6 @@ class QuillEditor extends StatefulWidget { this.linkActionPickerDelegate = defaultLinkActionPickerDelegate, this.customStyleBuilder, this.customRecognizerBuilder, - this.locale, this.floatingCursorDisabled = false, this.textSelectionControls, this.onImagePaste, @@ -217,7 +216,6 @@ class QuillEditor extends StatefulWidget { expands: expands, padding: padding, keyboardAppearance: keyboardAppearance ?? Brightness.light, - locale: locale, embedBuilders: embedBuilders, placeholder: placeholder, editorKey: editorKey, @@ -381,10 +379,6 @@ class QuillEditor extends StatefulWidget { final CustomStyleBuilder? customStyleBuilder; final CustomRecognizerBuilder? customRecognizerBuilder; - /// The locale to use for the editor toolbar, defaults to system locale - /// More https://github.com/singerdmx/flutter-quill#translation - final Locale? locale; - /// Delegate function responsible for showing menu with link actions on /// mobile platforms (iOS, Android). /// @@ -561,7 +555,7 @@ class QuillEditorState extends State ); final editor = I18n( - initialLocale: widget.locale, + initialLocale: context.sharedQuillConfigurations?.locale, child: selectionEnabled ? _selectionGestureDetectorBuilder.build( behavior: HitTestBehavior.translucent, diff --git a/lib/src/widgets/toolbar.dart b/lib/src/widgets/toolbar.dart index ea9be6a9..75653510 100644 --- a/lib/src/widgets/toolbar.dart +++ b/lib/src/widgets/toolbar.dart @@ -46,7 +46,6 @@ class QuillToolbar extends StatelessWidget implements PreferredSizeWidget { this.multiRowsDisplay = true, this.color, this.customButtons = const [], - this.locale, VoidCallback? afterButtonPressed, this.sectionDividerColor, this.sectionDividerSpace, @@ -243,7 +242,6 @@ class QuillToolbar extends StatelessWidget implements PreferredSizeWidget { toolbarIconCrossAlignment: toolbarIconCrossAlignment, multiRowsDisplay: multiRowsDisplay, customButtons: customButtons, - locale: locale, afterButtonPressed: afterButtonPressed, childrenBuilder: (context) { final controller = context.requireQuillController; @@ -625,10 +623,6 @@ class QuillToolbar extends StatelessWidget implements PreferredSizeWidget { /// is given. final Color? color; - /// The locale to use for the editor toolbar, defaults to system locale - /// More https://github.com/singerdmx/flutter-quill#translation - final Locale? locale; - /// List of custom buttons final List customButtons; @@ -652,7 +646,7 @@ class QuillToolbar extends StatelessWidget implements PreferredSizeWidget { @override Widget build(BuildContext context) { return I18n( - initialLocale: locale, + initialLocale: context.sharedQuillConfigurations?.locale, child: multiRowsDisplay ? Wrap( direction: axis, diff --git a/lib/src/widgets/utils/provider.dart b/lib/src/widgets/utils/provider.dart index 0148f2e4..80ebed63 100644 --- a/lib/src/widgets/utils/provider.dart +++ b/lib/src/widgets/utils/provider.dart @@ -1,7 +1,7 @@ import 'package:flutter/foundation.dart' show debugPrint, kDebugMode; import 'package:flutter/widgets.dart' show InheritedWidget, BuildContext; -import '../../core/quill_configurations.dart'; +import '../../models/config/quill_configurations.dart'; class QuillProvider extends InheritedWidget { const QuillProvider({