diff --git a/CHANGELOG.md b/CHANGELOG.md index eeffd94f..6216b20a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,7 @@ +## [7.6.0] + +- **Breaking change**: To customize the buttons in the toolbar, you can do that in the `QuillProvider` + # [7.5.0] - **Breaking change**: The widgets `QuillEditor` and `QuillToolbar` are no longer have controller parameter, instead you need to make sure in the widget tree you have wrapped them with `QuillProvider` widget and provide the controller and the require configurations diff --git a/lib/src/widgets/raw_editor/raw_editor.dart b/lib/src/widgets/raw_editor/raw_editor.dart index a43320dd..0156e834 100644 --- a/lib/src/widgets/raw_editor/raw_editor.dart +++ b/lib/src/widgets/raw_editor/raw_editor.dart @@ -50,7 +50,7 @@ import '../quill_single_child_scroll_view.dart'; import '../text_block.dart'; import '../text_line.dart'; import '../text_selection.dart'; -import '../toolbar/link_style_button2.dart'; +import '../toolbar/buttons/link_style2.dart'; import '../toolbar/search_dialog.dart'; import 'raw_editor_state_selection_delegate_mixin.dart'; import 'raw_editor_state_text_input_client_mixin.dart'; diff --git a/lib/src/widgets/toolbar.dart b/lib/src/widgets/toolbar.dart index 68c42fec..86a18e3f 100644 --- a/lib/src/widgets/toolbar.dart +++ b/lib/src/widgets/toolbar.dart @@ -4,25 +4,25 @@ import 'package:i18n_extension/i18n_widget.dart'; import '../../flutter_quill.dart'; import '../translations/toolbar.i18n.dart'; import '../utils/extensions/build_context.dart'; -import 'toolbar/arrow_indicated_button_list.dart'; +import 'toolbar/buttons/arrow_indicated_list.dart'; export '../models/config/toolbar/buttons/base.dart'; export '../models/config/toolbar/configurations.dart'; -export 'toolbar/clear_format_button.dart'; -export 'toolbar/color_button.dart'; -export 'toolbar/custom_button.dart'; -export 'toolbar/history_button.dart'; -export 'toolbar/indent_button.dart'; -export 'toolbar/link_style_button.dart'; -export 'toolbar/link_style_button2.dart'; -export 'toolbar/quill_font_family_button.dart'; -export 'toolbar/quill_font_size_button.dart'; -export 'toolbar/quill_icon_button.dart'; -export 'toolbar/search_button.dart'; -export 'toolbar/select_alignment_button.dart'; -export 'toolbar/select_header_style_button.dart'; -export 'toolbar/toggle_check_list_button.dart'; -export 'toolbar/toggle_style_button.dart'; +export 'toolbar/buttons/clear_format.dart'; +export 'toolbar/buttons/color.dart'; +export 'toolbar/buttons/custom_button.dart'; +export 'toolbar/buttons/history.dart'; +export 'toolbar/buttons/indent.dart'; +export 'toolbar/buttons/link_style.dart'; +export 'toolbar/buttons/link_style2.dart'; +export 'toolbar/buttons/font_family.dart'; +export 'toolbar/buttons/quill_font_size.dart'; +export 'toolbar/buttons/quill_icon.dart'; +export 'toolbar/buttons/search.dart'; +export 'toolbar/buttons/select_alignment.dart'; +export 'toolbar/buttons/select_header_style.dart'; +export 'toolbar/buttons/toggle_check_list.dart'; +export 'toolbar/buttons/toggle_style.dart'; typedef QuillToolbarChildrenBuilder = List Function( BuildContext context, diff --git a/lib/src/widgets/toolbar/arrow_indicated_button_list.dart b/lib/src/widgets/toolbar/buttons/arrow_indicated_list.dart similarity index 100% rename from lib/src/widgets/toolbar/arrow_indicated_button_list.dart rename to lib/src/widgets/toolbar/buttons/arrow_indicated_list.dart diff --git a/lib/src/widgets/toolbar/clear_format_button.dart b/lib/src/widgets/toolbar/buttons/clear_format.dart similarity index 90% rename from lib/src/widgets/toolbar/clear_format_button.dart rename to lib/src/widgets/toolbar/buttons/clear_format.dart index 14610232..54c5a07d 100644 --- a/lib/src/widgets/toolbar/clear_format_button.dart +++ b/lib/src/widgets/toolbar/buttons/clear_format.dart @@ -1,9 +1,9 @@ import 'package:flutter/material.dart'; -import '../../models/documents/attribute.dart'; -import '../../models/themes/quill_icon_theme.dart'; -import '../controller.dart'; -import '../toolbar.dart'; +import '../../../models/documents/attribute.dart'; +import '../../../models/themes/quill_icon_theme.dart'; +import '../../controller.dart'; +import '../../toolbar.dart'; class ClearFormatButton extends StatefulWidget { const ClearFormatButton({ diff --git a/lib/src/widgets/toolbar/color_button.dart b/lib/src/widgets/toolbar/buttons/color.dart similarity index 97% rename from lib/src/widgets/toolbar/color_button.dart rename to lib/src/widgets/toolbar/buttons/color.dart index 4be77c67..5222dbe4 100644 --- a/lib/src/widgets/toolbar/color_button.dart +++ b/lib/src/widgets/toolbar/buttons/color.dart @@ -1,13 +1,13 @@ import 'package:flutter/material.dart'; import 'package:flutter_colorpicker/flutter_colorpicker.dart'; -import '../../models/documents/attribute.dart'; -import '../../models/documents/style.dart'; -import '../../models/themes/quill_icon_theme.dart'; -import '../../translations/toolbar.i18n.dart'; -import '../../utils/color.dart'; -import '../controller.dart'; -import '../toolbar.dart'; +import '../../../models/documents/attribute.dart'; +import '../../../models/documents/style.dart'; +import '../../../models/themes/quill_icon_theme.dart'; +import '../../../translations/toolbar.i18n.dart'; +import '../../../utils/color.dart'; +import '../../controller.dart'; +import '../../toolbar.dart'; /// Controls color styles. /// diff --git a/lib/src/widgets/toolbar/custom_button.dart b/lib/src/widgets/toolbar/buttons/custom_button.dart similarity index 93% rename from lib/src/widgets/toolbar/custom_button.dart rename to lib/src/widgets/toolbar/buttons/custom_button.dart index 614c79bc..a226c000 100644 --- a/lib/src/widgets/toolbar/custom_button.dart +++ b/lib/src/widgets/toolbar/buttons/custom_button.dart @@ -1,7 +1,7 @@ import 'package:flutter/material.dart'; -import '../../models/themes/quill_icon_theme.dart'; -import '../toolbar.dart'; +import '../../../models/themes/quill_icon_theme.dart'; +import '../../toolbar.dart'; class CustomButton extends StatelessWidget { const CustomButton({ diff --git a/lib/src/widgets/toolbar/quill_font_family_button.dart b/lib/src/widgets/toolbar/buttons/font_family.dart similarity index 95% rename from lib/src/widgets/toolbar/quill_font_family_button.dart rename to lib/src/widgets/toolbar/buttons/font_family.dart index e7ee24b7..6d2397e1 100644 --- a/lib/src/widgets/toolbar/quill_font_family_button.dart +++ b/lib/src/widgets/toolbar/buttons/font_family.dart @@ -1,13 +1,13 @@ import 'package:flutter/material.dart'; -import '../../models/config/toolbar/buttons/font_family.dart'; -import '../../models/documents/attribute.dart'; -import '../../models/documents/style.dart'; -import '../../translations/toolbar.i18n.dart'; -import '../../utils/extensions/build_context.dart'; -import '../../utils/extensions/quill_controller.dart'; -import '../../utils/widgets.dart'; -import '../controller.dart'; +import '../../../models/config/toolbar/buttons/font_family.dart'; +import '../../../models/documents/attribute.dart'; +import '../../../models/documents/style.dart'; +import '../../../translations/toolbar.i18n.dart'; +import '../../../utils/extensions/build_context.dart'; +import '../../../utils/extensions/quill_controller.dart'; +import '../../../utils/widgets.dart'; +import '../../controller.dart'; class QuillToolbarFontFamilyButton extends StatefulWidget { QuillToolbarFontFamilyButton({ diff --git a/lib/src/widgets/toolbar/history_button.dart b/lib/src/widgets/toolbar/buttons/history.dart similarity index 94% rename from lib/src/widgets/toolbar/history_button.dart rename to lib/src/widgets/toolbar/buttons/history.dart index da2cb368..4d4d2533 100644 --- a/lib/src/widgets/toolbar/history_button.dart +++ b/lib/src/widgets/toolbar/buttons/history.dart @@ -1,10 +1,10 @@ import 'package:flutter/material.dart'; -import '../../../translations.dart'; -import '../../utils/extensions/build_context.dart'; -import '../../utils/extensions/quill_controller.dart'; -import '../controller.dart'; -import '../toolbar.dart'; +import '../../../../translations.dart'; +import '../../../utils/extensions/build_context.dart'; +import '../../../utils/extensions/quill_controller.dart'; +import '../../controller.dart'; +import '../../toolbar.dart'; class QuillToolbarHistoryButton extends StatefulWidget { const QuillToolbarHistoryButton({ diff --git a/lib/src/widgets/toolbar/indent_button.dart b/lib/src/widgets/toolbar/buttons/indent.dart similarity index 92% rename from lib/src/widgets/toolbar/indent_button.dart rename to lib/src/widgets/toolbar/buttons/indent.dart index 89b57d4a..83f15fb8 100644 --- a/lib/src/widgets/toolbar/indent_button.dart +++ b/lib/src/widgets/toolbar/buttons/indent.dart @@ -1,8 +1,8 @@ import 'package:flutter/material.dart'; -import '../../models/themes/quill_icon_theme.dart'; -import '../controller.dart'; -import '../toolbar.dart'; +import '../../../models/themes/quill_icon_theme.dart'; +import '../../controller.dart'; +import '../../toolbar.dart'; class IndentButton extends StatefulWidget { const IndentButton({ diff --git a/lib/src/widgets/toolbar/link_style_button.dart b/lib/src/widgets/toolbar/buttons/link_style.dart similarity index 95% rename from lib/src/widgets/toolbar/link_style_button.dart rename to lib/src/widgets/toolbar/buttons/link_style.dart index 48232599..dd4f650c 100644 --- a/lib/src/widgets/toolbar/link_style_button.dart +++ b/lib/src/widgets/toolbar/buttons/link_style.dart @@ -1,14 +1,14 @@ import 'package:flutter/material.dart'; -import '../../models/documents/attribute.dart'; -import '../../models/rules/insert.dart'; -import '../../models/structs/link_dialog_action.dart'; -import '../../models/themes/quill_dialog_theme.dart'; -import '../../models/themes/quill_icon_theme.dart'; -import '../../translations/toolbar.i18n.dart'; -import '../controller.dart'; -import '../link.dart'; -import '../toolbar.dart'; +import '../../../models/documents/attribute.dart'; +import '../../../models/rules/insert.dart'; +import '../../../models/structs/link_dialog_action.dart'; +import '../../../models/themes/quill_dialog_theme.dart'; +import '../../../models/themes/quill_icon_theme.dart'; +import '../../../translations/toolbar.i18n.dart'; +import '../../controller.dart'; +import '../../link.dart'; +import '../../toolbar.dart'; class LinkStyleButton extends StatefulWidget { const LinkStyleButton({ diff --git a/lib/src/widgets/toolbar/link_style_button2.dart b/lib/src/widgets/toolbar/buttons/link_style2.dart similarity index 97% rename from lib/src/widgets/toolbar/link_style_button2.dart rename to lib/src/widgets/toolbar/buttons/link_style2.dart index 3655534d..a3c9178f 100644 --- a/lib/src/widgets/toolbar/link_style_button2.dart +++ b/lib/src/widgets/toolbar/buttons/link_style2.dart @@ -2,15 +2,15 @@ import 'package:flutter/foundation.dart'; import 'package:flutter/material.dart'; import 'package:url_launcher/link.dart'; -import '../../../extensions.dart' +import '../../../../extensions.dart' show UtilityWidgets, AutoFormatMultipleLinksRule; -import '../../../translations.dart'; -import '../../models/documents/attribute.dart'; -import '../../models/themes/quill_dialog_theme.dart'; -import '../../models/themes/quill_icon_theme.dart'; -import '../controller.dart'; -import '../link.dart'; -import '../toolbar.dart'; +import '../../../../translations.dart'; +import '../../../models/documents/attribute.dart'; +import '../../../models/themes/quill_dialog_theme.dart'; +import '../../../models/themes/quill_icon_theme.dart'; +import '../../controller.dart'; +import '../../link.dart'; +import '../../toolbar.dart'; /// Alternative version of [LinkStyleButton]. This widget has more customization /// and uses dialog similar to one which is used on [http://quilljs.com]. diff --git a/lib/src/widgets/toolbar/quill_font_size_button.dart b/lib/src/widgets/toolbar/buttons/quill_font_size.dart similarity index 95% rename from lib/src/widgets/toolbar/quill_font_size_button.dart rename to lib/src/widgets/toolbar/buttons/quill_font_size.dart index 021ac6a0..57491a68 100644 --- a/lib/src/widgets/toolbar/quill_font_size_button.dart +++ b/lib/src/widgets/toolbar/buttons/quill_font_size.dart @@ -1,12 +1,12 @@ import 'package:flutter/material.dart'; -import '../../models/documents/attribute.dart'; -import '../../models/documents/style.dart'; -import '../../models/themes/quill_icon_theme.dart'; -import '../../translations/toolbar.i18n.dart'; -import '../../utils/font.dart'; -import '../../utils/widgets.dart'; -import '../controller.dart'; +import '../../../models/documents/attribute.dart'; +import '../../../models/documents/style.dart'; +import '../../../models/themes/quill_icon_theme.dart'; +import '../../../translations/toolbar.i18n.dart'; +import '../../../utils/font.dart'; +import '../../../utils/widgets.dart'; +import '../../controller.dart'; class QuillFontSizeButton extends StatefulWidget { const QuillFontSizeButton({ diff --git a/lib/src/widgets/toolbar/quill_icon_button.dart b/lib/src/widgets/toolbar/buttons/quill_icon.dart similarity index 97% rename from lib/src/widgets/toolbar/quill_icon_button.dart rename to lib/src/widgets/toolbar/buttons/quill_icon.dart index 52405702..c07f740a 100644 --- a/lib/src/widgets/toolbar/quill_icon_button.dart +++ b/lib/src/widgets/toolbar/buttons/quill_icon.dart @@ -1,6 +1,6 @@ import 'package:flutter/material.dart'; -import '../../utils/widgets.dart'; +import '../../../utils/widgets.dart'; class QuillIconButton extends StatelessWidget { const QuillIconButton({ diff --git a/lib/src/widgets/toolbar/search_button.dart b/lib/src/widgets/toolbar/buttons/search.dart similarity index 89% rename from lib/src/widgets/toolbar/search_button.dart rename to lib/src/widgets/toolbar/buttons/search.dart index 0a490420..eec9c429 100644 --- a/lib/src/widgets/toolbar/search_button.dart +++ b/lib/src/widgets/toolbar/buttons/search.dart @@ -1,10 +1,10 @@ import 'package:flutter/material.dart'; -import '../../models/themes/quill_dialog_theme.dart'; -import '../../models/themes/quill_icon_theme.dart'; -import '../controller.dart'; -import '../toolbar.dart'; -import 'search_dialog.dart'; +import '../../../models/themes/quill_dialog_theme.dart'; +import '../../../models/themes/quill_icon_theme.dart'; +import '../../controller.dart'; +import '../../toolbar.dart'; +import '../search_dialog.dart'; class SearchButton extends StatelessWidget { const SearchButton({ diff --git a/lib/src/widgets/toolbar/select_alignment_button.dart b/lib/src/widgets/toolbar/buttons/select_alignment.dart similarity index 96% rename from lib/src/widgets/toolbar/select_alignment_button.dart rename to lib/src/widgets/toolbar/buttons/select_alignment.dart index 922b30fc..87d40be0 100644 --- a/lib/src/widgets/toolbar/select_alignment_button.dart +++ b/lib/src/widgets/toolbar/buttons/select_alignment.dart @@ -1,13 +1,13 @@ import 'package:flutter/foundation.dart'; import 'package:flutter/material.dart'; -import '../../models/documents/attribute.dart'; -import '../../models/documents/style.dart'; -import '../../models/themes/quill_icon_theme.dart'; -import '../../utils/widgets.dart'; -import '../controller.dart'; -import '../toolbar.dart'; -import 'enum.dart'; +import '../../../models/documents/attribute.dart'; +import '../../../models/documents/style.dart'; +import '../../../models/themes/quill_icon_theme.dart'; +import '../../../utils/widgets.dart'; +import '../../controller.dart'; +import '../../toolbar.dart'; +import '../enum.dart'; class SelectAlignmentButton extends StatefulWidget { const SelectAlignmentButton({ diff --git a/lib/src/widgets/toolbar/select_header_style_button.dart b/lib/src/widgets/toolbar/buttons/select_header_style.dart similarity index 95% rename from lib/src/widgets/toolbar/select_header_style_button.dart rename to lib/src/widgets/toolbar/buttons/select_header_style.dart index 986abc22..cacda410 100644 --- a/lib/src/widgets/toolbar/select_header_style_button.dart +++ b/lib/src/widgets/toolbar/buttons/select_header_style.dart @@ -1,12 +1,12 @@ import 'package:flutter/foundation.dart'; import 'package:flutter/material.dart'; -import '../../models/documents/attribute.dart'; -import '../../models/documents/style.dart'; -import '../../models/themes/quill_icon_theme.dart'; -import '../../utils/widgets.dart'; -import '../controller.dart'; -import '../toolbar.dart'; +import '../../../models/documents/attribute.dart'; +import '../../../models/documents/style.dart'; +import '../../../models/themes/quill_icon_theme.dart'; +import '../../../utils/widgets.dart'; +import '../../controller.dart'; +import '../../toolbar.dart'; class SelectHeaderStyleButton extends StatefulWidget { const SelectHeaderStyleButton({ diff --git a/lib/src/widgets/toolbar/toggle_check_list_button.dart b/lib/src/widgets/toolbar/buttons/toggle_check_list.dart similarity index 92% rename from lib/src/widgets/toolbar/toggle_check_list_button.dart rename to lib/src/widgets/toolbar/buttons/toggle_check_list.dart index 60821e60..628c7535 100644 --- a/lib/src/widgets/toolbar/toggle_check_list_button.dart +++ b/lib/src/widgets/toolbar/buttons/toggle_check_list.dart @@ -1,11 +1,11 @@ import 'package:flutter/material.dart'; -import '../../models/documents/attribute.dart'; -import '../../models/documents/style.dart'; -import '../../models/themes/quill_icon_theme.dart'; -import '../../utils/widgets.dart'; -import '../controller.dart'; -import '../toolbar.dart'; +import '../../../models/documents/attribute.dart'; +import '../../../models/documents/style.dart'; +import '../../../models/themes/quill_icon_theme.dart'; +import '../../../utils/widgets.dart'; +import '../../controller.dart'; +import '../../toolbar.dart'; class ToggleCheckListButton extends StatefulWidget { const ToggleCheckListButton({ diff --git a/lib/src/widgets/toolbar/toggle_style_button.dart b/lib/src/widgets/toolbar/buttons/toggle_style.dart similarity index 94% rename from lib/src/widgets/toolbar/toggle_style_button.dart rename to lib/src/widgets/toolbar/buttons/toggle_style.dart index 53099743..5c16ca41 100644 --- a/lib/src/widgets/toolbar/toggle_style_button.dart +++ b/lib/src/widgets/toolbar/buttons/toggle_style.dart @@ -1,11 +1,11 @@ import 'package:flutter/material.dart'; -import '../../models/documents/attribute.dart'; -import '../../models/documents/style.dart'; -import '../../models/themes/quill_icon_theme.dart'; -import '../../utils/widgets.dart'; -import '../controller.dart'; -import '../toolbar.dart'; +import '../../../models/documents/attribute.dart'; +import '../../../models/documents/style.dart'; +import '../../../models/themes/quill_icon_theme.dart'; +import '../../../utils/widgets.dart'; +import '../../controller.dart'; +import '../../toolbar.dart'; typedef ToggleStyleButtonBuilder = Widget Function( BuildContext context, diff --git a/pubspec.yaml b/pubspec.yaml index 0e1921d4..276a8160 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -1,6 +1,6 @@ name: flutter_quill description: A rich text editor built for the modern Android, iOS, web and desktop platforms. It is the WYSIWYG editor and a Quill component for Flutter. -version: 7.5.0 +version: 7.6.0 homepage: https://1o24bbs.com/c/bulletjournal/108 repository: https://github.com/singerdmx/flutter-quill platforms: