From 7aab2add9684302d8b39cb0368213a1b87045980 Mon Sep 17 00:00:00 2001 From: Ahmed Hnewa <73608287+freshtechtips@users.noreply.github.com> Date: Sun, 22 Oct 2023 18:17:52 +0300 Subject: [PATCH] Refactor toolbar class names --- .../lib/embeds/toolbar/camera_button.dart | 2 +- .../lib/embeds/toolbar/formula_button.dart | 2 +- .../lib/embeds/toolbar/image_button.dart | 2 +- .../lib/embeds/toolbar/media_button.dart | 2 +- .../lib/embeds/toolbar/video_button.dart | 2 +- .../toolbar/buttons/arrow_indicated_list.dart | 11 ++-- .../widgets/toolbar/buttons/clear_format.dart | 12 +++-- lib/src/widgets/toolbar/buttons/color.dart | 13 ++--- .../toolbar/buttons/custom_button.dart | 2 +- .../{quill_font_size.dart => font_size.dart} | 0 lib/src/widgets/toolbar/buttons/history.dart | 2 +- lib/src/widgets/toolbar/buttons/indent.dart | 11 ++-- .../widgets/toolbar/buttons/link_style.dart | 14 +++--- .../widgets/toolbar/buttons/link_style2.dart | 16 +++--- .../widgets/toolbar/buttons/quill_icon.dart | 4 +- lib/src/widgets/toolbar/buttons/search.dart | 6 +-- .../toolbar/buttons/select_alignment.dart | 12 +++-- .../toolbar/buttons/select_header_style.dart | 14 +++--- .../toolbar/buttons/toggle_check_list.dart | 12 +++-- .../widgets/toolbar/buttons/toggle_style.dart | 14 +++--- lib/src/widgets/toolbar/toolbar.dart | 50 +++++++++---------- test/bug_fix_test.dart | 8 +-- 22 files changed, 114 insertions(+), 97 deletions(-) rename lib/src/widgets/toolbar/buttons/{quill_font_size.dart => font_size.dart} (100%) diff --git a/flutter_quill_extensions/lib/embeds/toolbar/camera_button.dart b/flutter_quill_extensions/lib/embeds/toolbar/camera_button.dart index 6fab2583..2c512567 100644 --- a/flutter_quill_extensions/lib/embeds/toolbar/camera_button.dart +++ b/flutter_quill_extensions/lib/embeds/toolbar/camera_button.dart @@ -53,7 +53,7 @@ class CameraButton extends StatelessWidget { final iconFillColor = iconTheme?.iconUnselectedFillColor ?? (fillColor ?? theme.canvasColor); - return QuillIconButton( + return QuillToolbarIconButton( icon: Icon(icon, size: iconSize, color: iconColor), tooltip: tooltip, highlightElevation: 0, diff --git a/flutter_quill_extensions/lib/embeds/toolbar/formula_button.dart b/flutter_quill_extensions/lib/embeds/toolbar/formula_button.dart index 5c7c5684..882d067c 100644 --- a/flutter_quill_extensions/lib/embeds/toolbar/formula_button.dart +++ b/flutter_quill_extensions/lib/embeds/toolbar/formula_button.dart @@ -34,7 +34,7 @@ class FormulaButton extends StatelessWidget { final iconFillColor = iconTheme?.iconUnselectedFillColor ?? (fillColor ?? theme.canvasColor); - return QuillIconButton( + return QuillToolbarIconButton( icon: Icon(icon, size: iconSize, color: iconColor), tooltip: tooltip, highlightElevation: 0, diff --git a/flutter_quill_extensions/lib/embeds/toolbar/image_button.dart b/flutter_quill_extensions/lib/embeds/toolbar/image_button.dart index 55420518..af5f924f 100644 --- a/flutter_quill_extensions/lib/embeds/toolbar/image_button.dart +++ b/flutter_quill_extensions/lib/embeds/toolbar/image_button.dart @@ -51,7 +51,7 @@ class ImageButton extends StatelessWidget { final iconFillColor = iconTheme?.iconUnselectedFillColor ?? (fillColor ?? theme.canvasColor); - return QuillIconButton( + return QuillToolbarIconButton( icon: Icon(icon, size: iconSize, color: iconColor), tooltip: tooltip, highlightElevation: 0, diff --git a/flutter_quill_extensions/lib/embeds/toolbar/media_button.dart b/flutter_quill_extensions/lib/embeds/toolbar/media_button.dart index 8a13a5fc..a5eae3dd 100644 --- a/flutter_quill_extensions/lib/embeds/toolbar/media_button.dart +++ b/flutter_quill_extensions/lib/embeds/toolbar/media_button.dart @@ -94,7 +94,7 @@ class MediaButton extends StatelessWidget { final iconFillColor = iconTheme?.iconUnselectedFillColor ?? fillColor ?? theme.canvasColor; - return QuillIconButton( + return QuillToolbarIconButton( icon: Icon(icon, size: iconSize, color: iconColor), tooltip: tooltip, highlightElevation: 0, diff --git a/flutter_quill_extensions/lib/embeds/toolbar/video_button.dart b/flutter_quill_extensions/lib/embeds/toolbar/video_button.dart index 3f0a0226..f09d193b 100644 --- a/flutter_quill_extensions/lib/embeds/toolbar/video_button.dart +++ b/flutter_quill_extensions/lib/embeds/toolbar/video_button.dart @@ -53,7 +53,7 @@ class VideoButton extends StatelessWidget { final iconFillColor = iconTheme?.iconUnselectedFillColor ?? (fillColor ?? theme.canvasColor); - return QuillIconButton( + return QuillToolbarIconButton( icon: Icon(icon, size: iconSize, color: iconColor), tooltip: tooltip, highlightElevation: 0, diff --git a/lib/src/widgets/toolbar/buttons/arrow_indicated_list.dart b/lib/src/widgets/toolbar/buttons/arrow_indicated_list.dart index 84f19854..146fcc95 100644 --- a/lib/src/widgets/toolbar/buttons/arrow_indicated_list.dart +++ b/lib/src/widgets/toolbar/buttons/arrow_indicated_list.dart @@ -6,8 +6,8 @@ import 'package:flutter/material.dart'; /// /// The arrow indicators are automatically hidden if the list is not /// scrollable in the direction of the respective arrow. -class ArrowIndicatedButtonList extends StatefulWidget { - const ArrowIndicatedButtonList({ +class QuillToolbarArrowIndicatedButtonList extends StatefulWidget { + const QuillToolbarArrowIndicatedButtonList({ required this.axis, required this.buttons, Key? key, @@ -17,11 +17,12 @@ class ArrowIndicatedButtonList extends StatefulWidget { final List buttons; @override - _ArrowIndicatedButtonListState createState() => - _ArrowIndicatedButtonListState(); + _QuillToolbarArrowIndicatedButtonListState createState() => + _QuillToolbarArrowIndicatedButtonListState(); } -class _ArrowIndicatedButtonListState extends State +class _QuillToolbarArrowIndicatedButtonListState + extends State with WidgetsBindingObserver { final ScrollController _controller = ScrollController(); bool _showBackwardArrow = false; diff --git a/lib/src/widgets/toolbar/buttons/clear_format.dart b/lib/src/widgets/toolbar/buttons/clear_format.dart index 7a1d5397..56a4af79 100644 --- a/lib/src/widgets/toolbar/buttons/clear_format.dart +++ b/lib/src/widgets/toolbar/buttons/clear_format.dart @@ -5,8 +5,8 @@ import '../../../models/themes/quill_icon_theme.dart'; import '../../controller.dart'; import '../toolbar.dart'; -class ClearFormatButton extends StatefulWidget { - const ClearFormatButton({ +class QuillToolbarClearFormatButton extends StatefulWidget { + const QuillToolbarClearFormatButton({ required this.icon, required this.controller, this.iconSize = kDefaultIconSize, @@ -26,10 +26,12 @@ class ClearFormatButton extends StatefulWidget { final String? tooltip; @override - _ClearFormatButtonState createState() => _ClearFormatButtonState(); + _QuillToolbarClearFormatButtonState createState() => + _QuillToolbarClearFormatButtonState(); } -class _ClearFormatButtonState extends State { +class _QuillToolbarClearFormatButtonState + extends State { @override Widget build(BuildContext context) { final theme = Theme.of(context); @@ -37,7 +39,7 @@ class _ClearFormatButtonState extends State { widget.iconTheme?.iconUnselectedColor ?? theme.iconTheme.color; final fillColor = widget.iconTheme?.iconUnselectedFillColor ?? theme.canvasColor; - return QuillIconButton( + return QuillToolbarIconButton( tooltip: widget.tooltip, highlightElevation: 0, hoverElevation: 0, diff --git a/lib/src/widgets/toolbar/buttons/color.dart b/lib/src/widgets/toolbar/buttons/color.dart index 8733c209..e7d5e6b7 100644 --- a/lib/src/widgets/toolbar/buttons/color.dart +++ b/lib/src/widgets/toolbar/buttons/color.dart @@ -13,8 +13,8 @@ import '../toolbar.dart'; /// /// When pressed, this button displays overlay toolbar with /// buttons for each color. -class ColorButton extends StatefulWidget { - const ColorButton({ +class QuillToolbarColorButton extends StatefulWidget { + const QuillToolbarColorButton({ required this.icon, required this.controller, required this.background, @@ -36,10 +36,11 @@ class ColorButton extends StatefulWidget { final Color dialogBarrierColor; @override - _ColorButtonState createState() => _ColorButtonState(); + _QuillToolbarColorButtonState createState() => + _QuillToolbarColorButtonState(); } -class _ColorButtonState extends State { +class _QuillToolbarColorButtonState extends State { late bool _isToggledColor; late bool _isToggledBackground; late bool _isWhite; @@ -81,7 +82,7 @@ class _ColorButtonState extends State { } @override - void didUpdateWidget(covariant ColorButton oldWidget) { + void didUpdateWidget(covariant QuillToolbarColorButton oldWidget) { super.didUpdateWidget(oldWidget); if (oldWidget.controller != widget.controller) { oldWidget.controller.removeListener(_didChangeEditingValue); @@ -122,7 +123,7 @@ class _ColorButtonState extends State { ? stringToColor('#ffffff') : (widget.iconTheme?.iconUnselectedFillColor ?? theme.canvasColor); - return QuillIconButton( + return QuillToolbarIconButton( tooltip: widget.tooltip, highlightElevation: 0, hoverElevation: 0, diff --git a/lib/src/widgets/toolbar/buttons/custom_button.dart b/lib/src/widgets/toolbar/buttons/custom_button.dart index 99924f8b..b958ed0e 100644 --- a/lib/src/widgets/toolbar/buttons/custom_button.dart +++ b/lib/src/widgets/toolbar/buttons/custom_button.dart @@ -28,7 +28,7 @@ class CustomButton extends StatelessWidget { final theme = Theme.of(context); final iconColor = iconTheme?.iconUnselectedColor ?? theme.iconTheme.color; - return QuillIconButton( + return QuillToolbarIconButton( highlightElevation: 0, hoverElevation: 0, size: iconSize * kIconButtonFactor, diff --git a/lib/src/widgets/toolbar/buttons/quill_font_size.dart b/lib/src/widgets/toolbar/buttons/font_size.dart similarity index 100% rename from lib/src/widgets/toolbar/buttons/quill_font_size.dart rename to lib/src/widgets/toolbar/buttons/font_size.dart diff --git a/lib/src/widgets/toolbar/buttons/history.dart b/lib/src/widgets/toolbar/buttons/history.dart index 6d9da528..817d9410 100644 --- a/lib/src/widgets/toolbar/buttons/history.dart +++ b/lib/src/widgets/toolbar/buttons/history.dart @@ -97,7 +97,7 @@ class _QuillToolbarHistoryButtonState extends State { ), ); } - return QuillIconButton( + return QuillToolbarIconButton( tooltip: tooltip, highlightElevation: 0, hoverElevation: 0, diff --git a/lib/src/widgets/toolbar/buttons/indent.dart b/lib/src/widgets/toolbar/buttons/indent.dart index 2297431a..835c568e 100644 --- a/lib/src/widgets/toolbar/buttons/indent.dart +++ b/lib/src/widgets/toolbar/buttons/indent.dart @@ -4,8 +4,8 @@ import '../../../models/themes/quill_icon_theme.dart'; import '../../controller.dart'; import '../toolbar.dart'; -class IndentButton extends StatefulWidget { - const IndentButton({ +class QuillToolbarIndentButton extends StatefulWidget { + const QuillToolbarIndentButton({ required this.icon, required this.controller, required this.isIncrease, @@ -26,10 +26,11 @@ class IndentButton extends StatefulWidget { final String? tooltip; @override - _IndentButtonState createState() => _IndentButtonState(); + _QuillToolbarIndentButtonState createState() => + _QuillToolbarIndentButtonState(); } -class _IndentButtonState extends State { +class _QuillToolbarIndentButtonState extends State { @override Widget build(BuildContext context) { final theme = Theme.of(context); @@ -38,7 +39,7 @@ class _IndentButtonState extends State { widget.iconTheme?.iconUnselectedColor ?? theme.iconTheme.color; final iconFillColor = widget.iconTheme?.iconUnselectedFillColor ?? theme.canvasColor; - return QuillIconButton( + return QuillToolbarIconButton( tooltip: widget.tooltip, highlightElevation: 0, hoverElevation: 0, diff --git a/lib/src/widgets/toolbar/buttons/link_style.dart b/lib/src/widgets/toolbar/buttons/link_style.dart index bca23b58..277f20d3 100644 --- a/lib/src/widgets/toolbar/buttons/link_style.dart +++ b/lib/src/widgets/toolbar/buttons/link_style.dart @@ -10,8 +10,8 @@ import '../../controller.dart'; import '../../link.dart'; import '../toolbar.dart'; -class LinkStyleButton extends StatefulWidget { - const LinkStyleButton({ +class QuillToolbarLinkStyleButton extends StatefulWidget { + const QuillToolbarLinkStyleButton({ required this.controller, this.iconSize = kDefaultIconSize, this.icon, @@ -37,10 +37,12 @@ class LinkStyleButton extends StatefulWidget { final Color dialogBarrierColor; @override - _LinkStyleButtonState createState() => _LinkStyleButtonState(); + _QuillToolbarLinkStyleButtonState createState() => + _QuillToolbarLinkStyleButtonState(); } -class _LinkStyleButtonState extends State { +class _QuillToolbarLinkStyleButtonState + extends State { void _didChangeSelection() { setState(() {}); } @@ -52,7 +54,7 @@ class _LinkStyleButtonState extends State { } @override - void didUpdateWidget(covariant LinkStyleButton oldWidget) { + void didUpdateWidget(covariant QuillToolbarLinkStyleButton oldWidget) { super.didUpdateWidget(oldWidget); if (oldWidget.controller != widget.controller) { oldWidget.controller.removeListener(_didChangeSelection); @@ -71,7 +73,7 @@ class _LinkStyleButtonState extends State { final theme = Theme.of(context); final isToggled = _getLinkAttributeValue() != null; final pressedHandler = () => _openLinkDialog(context); - return QuillIconButton( + return QuillToolbarIconButton( tooltip: widget.tooltip, highlightElevation: 0, hoverElevation: 0, diff --git a/lib/src/widgets/toolbar/buttons/link_style2.dart b/lib/src/widgets/toolbar/buttons/link_style2.dart index 2e21941a..927273bb 100644 --- a/lib/src/widgets/toolbar/buttons/link_style2.dart +++ b/lib/src/widgets/toolbar/buttons/link_style2.dart @@ -12,10 +12,10 @@ import '../../controller.dart'; import '../../link.dart'; import '../toolbar.dart'; -/// Alternative version of [LinkStyleButton]. This widget has more customization +/// Alternative version of [QuillToolbarLinkStyleButton]. This widget has more customization /// and uses dialog similar to one which is used on [http://quilljs.com]. -class LinkStyleButton2 extends StatefulWidget { - const LinkStyleButton2({ +class QuillToolbarLinkStyleButton2 extends StatefulWidget { + const QuillToolbarLinkStyleButton2({ required this.controller, this.icon, this.iconSize = kDefaultIconSize, @@ -71,10 +71,12 @@ class LinkStyleButton2 extends StatefulWidget { final Color dialogBarrierColor; @override - State createState() => _LinkStyleButton2State(); + State createState() => + _QuillToolbarLinkStyleButton2State(); } -class _LinkStyleButton2State extends State { +class _QuillToolbarLinkStyleButton2State + extends State { @override void dispose() { super.dispose(); @@ -88,7 +90,7 @@ class _LinkStyleButton2State extends State { } @override - void didUpdateWidget(covariant LinkStyleButton2 oldWidget) { + void didUpdateWidget(covariant QuillToolbarLinkStyleButton2 oldWidget) { super.didUpdateWidget(oldWidget); if (oldWidget.controller != widget.controller) { oldWidget.controller.removeListener(_didChangeSelection); @@ -100,7 +102,7 @@ class _LinkStyleButton2State extends State { Widget build(BuildContext context) { final theme = Theme.of(context); final isToggled = _getLinkAttributeValue() != null; - return QuillIconButton( + return QuillToolbarIconButton( tooltip: widget.tooltip, highlightElevation: 0, hoverElevation: 0, diff --git a/lib/src/widgets/toolbar/buttons/quill_icon.dart b/lib/src/widgets/toolbar/buttons/quill_icon.dart index c07f740a..0ac6e8f9 100644 --- a/lib/src/widgets/toolbar/buttons/quill_icon.dart +++ b/lib/src/widgets/toolbar/buttons/quill_icon.dart @@ -2,8 +2,8 @@ import 'package:flutter/material.dart'; import '../../../utils/widgets.dart'; -class QuillIconButton extends StatelessWidget { - const QuillIconButton({ +class QuillToolbarIconButton extends StatelessWidget { + const QuillToolbarIconButton({ required this.onPressed, this.afterPressed, this.icon, diff --git a/lib/src/widgets/toolbar/buttons/search.dart b/lib/src/widgets/toolbar/buttons/search.dart index 6245de78..3e8fa792 100644 --- a/lib/src/widgets/toolbar/buttons/search.dart +++ b/lib/src/widgets/toolbar/buttons/search.dart @@ -6,8 +6,8 @@ import '../../controller.dart'; import '../search_dialog.dart'; import '../toolbar.dart'; -class SearchButton extends StatelessWidget { - const SearchButton({ +class QuillToolbarSearchButton extends StatelessWidget { + const QuillToolbarSearchButton({ required this.icon, required this.controller, this.iconSize = kDefaultIconSize, @@ -40,7 +40,7 @@ class SearchButton extends StatelessWidget { final iconFillColor = iconTheme?.iconUnselectedFillColor ?? (fillColor ?? theme.canvasColor); - return QuillIconButton( + return QuillToolbarIconButton( tooltip: tooltip, icon: Icon(icon, size: iconSize, color: iconColor), highlightElevation: 0, diff --git a/lib/src/widgets/toolbar/buttons/select_alignment.dart b/lib/src/widgets/toolbar/buttons/select_alignment.dart index 6957ce66..a14a6603 100644 --- a/lib/src/widgets/toolbar/buttons/select_alignment.dart +++ b/lib/src/widgets/toolbar/buttons/select_alignment.dart @@ -9,8 +9,8 @@ import '../../controller.dart'; import '../enum.dart'; import '../toolbar.dart'; -class SelectAlignmentButton extends StatefulWidget { - const SelectAlignmentButton({ +class QuillToolbarSelectAlignmentButton extends StatefulWidget { + const QuillToolbarSelectAlignmentButton({ required this.controller, this.iconSize = kDefaultIconSize, this.iconTheme, @@ -37,10 +37,12 @@ class SelectAlignmentButton extends StatefulWidget { final EdgeInsetsGeometry? padding; @override - _SelectAlignmentButtonState createState() => _SelectAlignmentButtonState(); + _QuillToolbarSelectAlignmentButtonState createState() => + _QuillToolbarSelectAlignmentButtonState(); } -class _SelectAlignmentButtonState extends State { +class _QuillToolbarSelectAlignmentButtonState + extends State { Attribute? _value; Style get _selectionStyle => widget.controller.getSelectionStyle(); @@ -164,7 +166,7 @@ class _SelectAlignmentButtonState extends State { } @override - void didUpdateWidget(covariant SelectAlignmentButton oldWidget) { + void didUpdateWidget(covariant QuillToolbarSelectAlignmentButton oldWidget) { super.didUpdateWidget(oldWidget); if (oldWidget.controller != widget.controller) { oldWidget.controller.removeListener(_didChangeEditingValue); diff --git a/lib/src/widgets/toolbar/buttons/select_header_style.dart b/lib/src/widgets/toolbar/buttons/select_header_style.dart index cde2cb3f..0803e99e 100644 --- a/lib/src/widgets/toolbar/buttons/select_header_style.dart +++ b/lib/src/widgets/toolbar/buttons/select_header_style.dart @@ -8,8 +8,8 @@ import '../../../utils/widgets.dart'; import '../../controller.dart'; import '../toolbar.dart'; -class SelectHeaderStyleButton extends StatefulWidget { - const SelectHeaderStyleButton({ +class QuillToolbarSelectHeaderStyleButton extends StatefulWidget { + const QuillToolbarSelectHeaderStyleButton({ required this.controller, this.axis = Axis.horizontal, this.iconSize = kDefaultIconSize, @@ -34,11 +34,12 @@ class SelectHeaderStyleButton extends StatefulWidget { final String? tooltip; @override - _SelectHeaderStyleButtonState createState() => - _SelectHeaderStyleButtonState(); + _QuillToolbarSelectHeaderStyleButtonState createState() => + _QuillToolbarSelectHeaderStyleButtonState(); } -class _SelectHeaderStyleButtonState extends State { +class _QuillToolbarSelectHeaderStyleButtonState + extends State { Attribute? _selectedAttribute; Style get _selectionStyle => widget.controller.getSelectionStyle(); @@ -148,7 +149,8 @@ class _SelectHeaderStyleButtonState extends State { } @override - void didUpdateWidget(covariant SelectHeaderStyleButton oldWidget) { + void didUpdateWidget( + covariant QuillToolbarSelectHeaderStyleButton oldWidget) { super.didUpdateWidget(oldWidget); if (oldWidget.controller != widget.controller) { oldWidget.controller.removeListener(_didChangeEditingValue); diff --git a/lib/src/widgets/toolbar/buttons/toggle_check_list.dart b/lib/src/widgets/toolbar/buttons/toggle_check_list.dart index fa5c1452..d431c8b1 100644 --- a/lib/src/widgets/toolbar/buttons/toggle_check_list.dart +++ b/lib/src/widgets/toolbar/buttons/toggle_check_list.dart @@ -7,8 +7,8 @@ import '../../../utils/widgets.dart'; import '../../controller.dart'; import '../toolbar.dart'; -class ToggleCheckListButton extends StatefulWidget { - const ToggleCheckListButton({ +class QuillToolbarToggleCheckListButton extends StatefulWidget { + const QuillToolbarToggleCheckListButton({ required this.icon, required this.controller, required this.attribute, @@ -37,10 +37,12 @@ class ToggleCheckListButton extends StatefulWidget { final String? tooltip; @override - _ToggleCheckListButtonState createState() => _ToggleCheckListButtonState(); + _QuillToolbarToggleCheckListButtonState createState() => + _QuillToolbarToggleCheckListButtonState(); } -class _ToggleCheckListButtonState extends State { +class _QuillToolbarToggleCheckListButtonState + extends State { bool? _isToggled; Style get _selectionStyle => widget.controller.getSelectionStyle(); @@ -77,7 +79,7 @@ class _ToggleCheckListButtonState extends State { } @override - void didUpdateWidget(covariant ToggleCheckListButton oldWidget) { + void didUpdateWidget(covariant QuillToolbarToggleCheckListButton oldWidget) { super.didUpdateWidget(oldWidget); if (oldWidget.controller != widget.controller) { oldWidget.controller.removeListener(_didChangeEditingValue); diff --git a/lib/src/widgets/toolbar/buttons/toggle_style.dart b/lib/src/widgets/toolbar/buttons/toggle_style.dart index 110cba31..b5ca2131 100644 --- a/lib/src/widgets/toolbar/buttons/toggle_style.dart +++ b/lib/src/widgets/toolbar/buttons/toggle_style.dart @@ -21,8 +21,8 @@ typedef ToggleStyleButtonBuilder = Widget Function( QuillIconTheme? iconTheme, ]); -class ToggleStyleButton extends StatefulWidget { - const ToggleStyleButton({ +class QuillToolbarToggleStyleButton extends StatefulWidget { + const QuillToolbarToggleStyleButton({ required this.options, required this.controller, required this.attribute, @@ -60,10 +60,12 @@ class ToggleStyleButton extends StatefulWidget { final QuillController controller; @override - _ToggleStyleButtonState createState() => _ToggleStyleButtonState(); + _QuillToolbarToggleStyleButtonState createState() => + _QuillToolbarToggleStyleButtonState(); } -class _ToggleStyleButtonState extends State { +class _QuillToolbarToggleStyleButtonState + extends State { /// Since it's not safe to call anything related to the context in dispose /// then we will save a reference to the [controller] /// and update it in [didChangeDependencies] @@ -229,7 +231,7 @@ class _ToggleStyleButtonState extends State { } @override - void didUpdateWidget(covariant ToggleStyleButton oldWidget) { + void didUpdateWidget(covariant QuillToolbarToggleStyleButton oldWidget) { super.didUpdateWidget(oldWidget); if (oldWidget.controller != controller) { oldWidget.controller.removeListener(_didChangeEditingValue); @@ -301,7 +303,7 @@ Widget defaultToggleStyleButtonBuilder( theme.canvasColor) //Unselected icon fill color : : (iconTheme?.disabledIconFillColor ?? (fillColor ?? theme.canvasColor)); //Disabled icon fill color - return QuillIconButton( + return QuillToolbarIconButton( highlightElevation: 0, hoverElevation: 0, size: iconSize * kIconButtonFactor, diff --git a/lib/src/widgets/toolbar/toolbar.dart b/lib/src/widgets/toolbar/toolbar.dart index ddb921b8..4252b223 100644 --- a/lib/src/widgets/toolbar/toolbar.dart +++ b/lib/src/widgets/toolbar/toolbar.dart @@ -16,7 +16,7 @@ export 'buttons/history.dart'; export 'buttons/indent.dart'; export 'buttons/link_style.dart'; export 'buttons/link_style2.dart'; -export 'buttons/quill_font_size.dart'; +export 'buttons/font_size.dart'; export 'buttons/quill_icon.dart'; export 'buttons/search.dart'; export 'buttons/select_alignment.dart'; @@ -232,7 +232,7 @@ class QuillToolbar extends StatelessWidget implements PreferredSizeWidget { context.requireQuillController, ), if (showBoldButton) - ToggleStyleButton( + QuillToolbarToggleStyleButton( attribute: Attribute.bold, options: toolbarConfigurations.buttonOptions.bold, controller: toolbarConfigurations.buttonOptions.bold.controller ?? @@ -245,7 +245,7 @@ class QuillToolbar extends StatelessWidget implements PreferredSizeWidget { // afterButtonPressed: afterButtonPressed, ), if (showSubscript) - ToggleStyleButton( + QuillToolbarToggleStyleButton( attribute: Attribute.subscript, options: toolbarConfigurations.buttonOptions.subscript, controller: @@ -259,7 +259,7 @@ class QuillToolbar extends StatelessWidget implements PreferredSizeWidget { // afterButtonPressed: afterButtonPressed, ), if (showSuperscript) - ToggleStyleButton( + QuillToolbarToggleStyleButton( attribute: Attribute.superscript, options: toolbarConfigurations.buttonOptions.superscript, controller: @@ -273,7 +273,7 @@ class QuillToolbar extends StatelessWidget implements PreferredSizeWidget { // afterButtonPressed: afterButtonPressed, ), if (showItalicButton) - ToggleStyleButton( + QuillToolbarToggleStyleButton( attribute: Attribute.italic, options: toolbarConfigurations.buttonOptions.italic, controller: @@ -287,7 +287,7 @@ class QuillToolbar extends StatelessWidget implements PreferredSizeWidget { // afterButtonPressed: afterButtonPressed, ), if (showSmallButton) - ToggleStyleButton( + QuillToolbarToggleStyleButton( attribute: Attribute.small, options: toolbarConfigurations.buttonOptions.small, controller: @@ -301,7 +301,7 @@ class QuillToolbar extends StatelessWidget implements PreferredSizeWidget { // afterButtonPressed: afterButtonPressed, ), if (showUnderLineButton) - ToggleStyleButton( + QuillToolbarToggleStyleButton( attribute: Attribute.underline, options: toolbarConfigurations.buttonOptions.underLine, controller: @@ -315,7 +315,7 @@ class QuillToolbar extends StatelessWidget implements PreferredSizeWidget { // afterButtonPressed: afterButtonPressed, ), if (showStrikeThrough) - ToggleStyleButton( + QuillToolbarToggleStyleButton( attribute: Attribute.strikeThrough, options: toolbarConfigurations.buttonOptions.strikeThrough, controller: toolbarConfigurations @@ -329,7 +329,7 @@ class QuillToolbar extends StatelessWidget implements PreferredSizeWidget { // afterButtonPressed: afterButtonPressed, ), if (showInlineCode) - ToggleStyleButton( + QuillToolbarToggleStyleButton( attribute: Attribute.inlineCode, options: toolbarConfigurations.buttonOptions.inlineCode, controller: @@ -343,7 +343,7 @@ class QuillToolbar extends StatelessWidget implements PreferredSizeWidget { // afterButtonPressed: afterButtonPressed, ), if (showColorButton) - ColorButton( + QuillToolbarColorButton( icon: Icons.color_lens, iconSize: toolbarIconSize, tooltip: buttonTooltips[ToolbarButtons.color], @@ -355,7 +355,7 @@ class QuillToolbar extends StatelessWidget implements PreferredSizeWidget { context.requireQuillSharedConfigurations.dialogBarrierColor, ), if (showBackgroundColorButton) - ColorButton( + QuillToolbarColorButton( icon: Icons.format_color_fill, iconSize: toolbarIconSize, tooltip: buttonTooltips[ToolbarButtons.backgroundColor], @@ -367,7 +367,7 @@ class QuillToolbar extends StatelessWidget implements PreferredSizeWidget { context.requireQuillSharedConfigurations.dialogBarrierColor, ), if (showClearFormat) - ClearFormatButton( + QuillToolbarClearFormatButton( icon: Icons.format_clear, iconSize: toolbarIconSize, tooltip: buttonTooltips[ToolbarButtons.clearFormat], @@ -391,7 +391,7 @@ class QuillToolbar extends StatelessWidget implements PreferredSizeWidget { space: sectionDividerSpace, ), if (showAlignmentButtons) - SelectAlignmentButton( + QuillToolbarSelectAlignmentButton( controller: controller, tooltips: Map.of(buttonTooltips) ..removeWhere((key, value) => ![ @@ -409,7 +409,7 @@ class QuillToolbar extends StatelessWidget implements PreferredSizeWidget { afterButtonPressed: afterButtonPressed, ), if (showDirection) - ToggleStyleButton( + QuillToolbarToggleStyleButton( attribute: Attribute.rtl, options: toolbarConfigurations.buttonOptions.direction, controller: @@ -434,7 +434,7 @@ class QuillToolbar extends StatelessWidget implements PreferredSizeWidget { space: sectionDividerSpace, ), if (showHeaderStyle) - SelectHeaderStyleButton( + QuillToolbarSelectHeaderStyleButton( tooltip: buttonTooltips[ToolbarButtons.headerStyle], controller: controller, axis: axis, @@ -454,7 +454,7 @@ class QuillToolbar extends StatelessWidget implements PreferredSizeWidget { space: sectionDividerSpace, ), if (showListNumbers) - ToggleStyleButton( + QuillToolbarToggleStyleButton( attribute: Attribute.ol, options: toolbarConfigurations.buttonOptions.listNumbers, controller: @@ -468,7 +468,7 @@ class QuillToolbar extends StatelessWidget implements PreferredSizeWidget { // afterButtonPressed: afterButtonPressed, ), if (showListBullets) - ToggleStyleButton( + QuillToolbarToggleStyleButton( attribute: Attribute.ul, options: toolbarConfigurations.buttonOptions.listBullets, controller: @@ -482,7 +482,7 @@ class QuillToolbar extends StatelessWidget implements PreferredSizeWidget { // afterButtonPressed: afterButtonPressed, ), if (showListCheck) - ToggleCheckListButton( + QuillToolbarToggleCheckListButton( attribute: Attribute.unchecked, tooltip: buttonTooltips[ToolbarButtons.listChecks], controller: controller, @@ -492,7 +492,7 @@ class QuillToolbar extends StatelessWidget implements PreferredSizeWidget { afterButtonPressed: afterButtonPressed, ), if (showCodeBlock) - ToggleStyleButton( + QuillToolbarToggleStyleButton( attribute: Attribute.codeBlock, options: toolbarConfigurations.buttonOptions.codeBlock, controller: @@ -511,7 +511,7 @@ class QuillToolbar extends StatelessWidget implements PreferredSizeWidget { QuillDivider(axis, color: sectionDividerColor, space: sectionDividerSpace), if (showQuote) - ToggleStyleButton( + QuillToolbarToggleStyleButton( options: toolbarConfigurations.buttonOptions.quote, controller: toolbarConfigurations.buttonOptions.quote.controller ?? @@ -525,7 +525,7 @@ class QuillToolbar extends StatelessWidget implements PreferredSizeWidget { // afterButtonPressed: afterButtonPressed, ), if (showIndent) - IndentButton( + QuillToolbarIndentButton( icon: Icons.format_indent_increase, iconSize: toolbarIconSize, tooltip: buttonTooltips[ToolbarButtons.indentIncrease], @@ -535,7 +535,7 @@ class QuillToolbar extends StatelessWidget implements PreferredSizeWidget { afterButtonPressed: afterButtonPressed, ), if (showIndent) - IndentButton( + QuillToolbarIndentButton( icon: Icons.format_indent_decrease, iconSize: toolbarIconSize, tooltip: buttonTooltips[ToolbarButtons.indentDecrease], @@ -548,7 +548,7 @@ class QuillToolbar extends StatelessWidget implements PreferredSizeWidget { QuillDivider(axis, color: sectionDividerColor, space: sectionDividerSpace), if (showLink) - LinkStyleButton( + QuillToolbarLinkStyleButton( tooltip: buttonTooltips[ToolbarButtons.link], controller: controller, iconSize: toolbarIconSize, @@ -561,7 +561,7 @@ class QuillToolbar extends StatelessWidget implements PreferredSizeWidget { context.requireQuillSharedConfigurations.dialogBarrierColor, ), if (showSearchButton) - SearchButton( + QuillToolbarSearchButton( icon: Icons.search, iconSize: toolbarIconSize, dialogBarrierColor: @@ -664,7 +664,7 @@ class QuillToolbar extends StatelessWidget implements PreferredSizeWidget { height: axis == Axis.horizontal ? toolbarSize : null, width: axis == Axis.vertical ? toolbarSize : null, ), - child: ArrowIndicatedButtonList( + child: QuillToolbarArrowIndicatedButtonList( axis: axis, buttons: childrenBuilder(context), ), diff --git a/test/bug_fix_test.dart b/test/bug_fix_test.dart index b3c93c41..f9a8124d 100644 --- a/test/bug_fix_test.dart +++ b/test/bug_fix_test.dart @@ -30,21 +30,21 @@ void main() { final builtinFinder = find.descendant( of: find.byType(QuillToolbarHistoryButton), - matching: find.byType(QuillIconButton), + matching: find.byType(QuillToolbarIconButton), matchRoot: true, ); expect(builtinFinder, findsOneWidget); final builtinButton = - builtinFinder.evaluate().first.widget as QuillIconButton; + builtinFinder.evaluate().first.widget as QuillToolbarIconButton; final customFinder = find.descendant( of: find.byType(QuillToolbar), matching: find.byWidgetPredicate((widget) => - widget is QuillIconButton && widget.tooltip == tooltip), + widget is QuillToolbarIconButton && widget.tooltip == tooltip), matchRoot: true); expect(customFinder, findsOneWidget); final customButton = - customFinder.evaluate().first.widget as QuillIconButton; + customFinder.evaluate().first.widget as QuillToolbarIconButton; expect(customButton.fillColor, equals(builtinButton.fillColor)); });