diff --git a/lib/src/models/config/toolbar/base_configurations.dart b/lib/src/models/config/toolbar/base_configurations.dart index 132fdc8d..206df475 100644 --- a/lib/src/models/config/toolbar/base_configurations.dart +++ b/lib/src/models/config/toolbar/base_configurations.dart @@ -41,7 +41,7 @@ class QuillBaseToolbarConfigurations extends Equatable { final Color? color; /// List of custom buttons - final List customButtons; + final List customButtons; /// The color to use when painting the toolbar section divider. /// diff --git a/lib/src/models/config/toolbar/configurations.dart b/lib/src/models/config/toolbar/configurations.dart index e19ca912..c0fea446 100644 --- a/lib/src/models/config/toolbar/configurations.dart +++ b/lib/src/models/config/toolbar/configurations.dart @@ -4,8 +4,8 @@ import 'package:flutter/widgets.dart' show Axis, Color, Decoration, Widget, WrapAlignment, WrapCrossAlignment; import '../../../widgets/embeds.dart'; +import '../../../widgets/toolbar/buttons/custom_button.dart'; import '../../structs/link_dialog_action.dart'; -import '../../themes/quill_custom_button.dart'; import '../../themes/quill_dialog_theme.dart'; import '../../themes/quill_icon_theme.dart'; import 'buttons/base.dart'; @@ -212,7 +212,7 @@ class QuillToolbarConfigurations extends Equatable { final bool showSearchButton; final bool showSubscript; final bool showSuperscript; - final List customButtons; + final List customButtons; /// The decoration to use for the toolbar. final Decoration? decoration; diff --git a/lib/src/models/themes/quill_custom_button.dart b/lib/src/models/themes/quill_custom_button.dart index 8e7dace1..111ab13e 100644 --- a/lib/src/models/themes/quill_custom_button.dart +++ b/lib/src/models/themes/quill_custom_button.dart @@ -1,22 +1,22 @@ -import 'package:flutter/material.dart'; +// import 'package:flutter/material.dart'; -import '../../widgets/toolbar/base_toolbar.dart'; +// import '../../widgets/toolbar/base_toolbar.dart'; -class QuillCustomButton extends QuillToolbarBaseButtonOptions { - const QuillCustomButton({ - this.icon, - this.onTap, - super.tooltip, - this.child, - super.iconTheme, - }); +// class QuillCustomButton extends QuillToolbarBaseButtonOptions { +// const QuillCustomButton({ +// this.icon, +// this.onTap, +// super.tooltip, +// this.child, +// super.iconTheme, +// }); - /// The icon widget - final Widget? icon; +// /// The icon widget +// final Widget? icon; - /// The function when the icon is tapped - final VoidCallback? onTap; +// /// The function when the icon is tapped +// final VoidCallback? onTap; - /// The customButton placeholder - final Widget? child; -} +// /// The customButton placeholder +// final Widget? child; +// } diff --git a/lib/src/widgets/toolbar/toolbar.dart b/lib/src/widgets/toolbar/toolbar.dart index 90edfad1..ccd4b044 100644 --- a/lib/src/widgets/toolbar/toolbar.dart +++ b/lib/src/widgets/toolbar/toolbar.dart @@ -411,20 +411,21 @@ class QuillToolbar extends StatelessWidget { space: configurations.sectionDividerSpace, ), for (final customButton in configurations.customButtons) - if (customButton.child != null) ...[ - InkWell( - onTap: customButton.onTap, - child: customButton.child, - ), - ] else ...[ - QuillToolbarCustomButton( - options: - toolbarConfigurations.buttonOptions.customButtons, - controller: toolbarConfigurations - .buttonOptions.customButtons.controller ?? - globalController, - ), - ], + customButton, + // if (customButton.child != null) ...[ + // InkWell( + // onTap: customButton.onTap, + // child: customButton.child, + // ), + // ] else ...[ + // QuillToolbarCustomButton( + // options: + // toolbarConfigurations.buttonOptions.customButtons, + // controller: toolbarConfigurations + // .buttonOptions.customButtons.controller ?? + // globalController, + // ), + // ], spacerWidget, ], ]; diff --git a/test/bug_fix_test.dart b/test/bug_fix_test.dart index 041b7d2f..abbe8669 100644 --- a/test/bug_fix_test.dart +++ b/test/bug_fix_test.dart @@ -1,5 +1,6 @@ import 'package:flutter/material.dart'; import 'package:flutter_quill/flutter_quill.dart'; +import 'package:flutter_quill/src/models/config/toolbar/buttons/custom_button.dart'; import 'package:flutter_quill_test/flutter_quill_test.dart'; import 'package:flutter_test/flutter_test.dart'; @@ -12,17 +13,24 @@ void main() { (tester) async { const tooltip = 'custom button'; + final controller = QuillController.basic(); + await tester.pumpWidget( MaterialApp( home: QuillProvider( configurations: QuillConfigurations( - controller: QuillController.basic(), + controller: controller, ), - child: const QuillToolbar( + child: QuillToolbar( configurations: QuillToolbarConfigurations( showRedo: false, customButtons: [ - QuillCustomButton(tooltip: tooltip), + QuillToolbarCustomButton( + options: const QuillToolbarCustomButtonOptions( + tooltip: tooltip, + ), + controller: controller, + ), ], ), ),