|
|
|
@ -1,5 +1,7 @@ |
|
|
|
|
import 'package:flutter/material.dart'; |
|
|
|
|
|
|
|
|
|
import '../../../models/themes/quill_icon_theme.dart'; |
|
|
|
|
|
|
|
|
|
class QuillToolbarIconButton extends StatelessWidget { |
|
|
|
|
const QuillToolbarIconButton({ |
|
|
|
|
required this.onPressed, |
|
|
|
@ -7,10 +9,8 @@ class QuillToolbarIconButton extends StatelessWidget { |
|
|
|
|
required this.isSelected, |
|
|
|
|
this.afterPressed, |
|
|
|
|
this.tooltip, |
|
|
|
|
this.padding, |
|
|
|
|
super.key, |
|
|
|
|
this.iconSelectedStyle, |
|
|
|
|
this.iconUnselectedStyle, |
|
|
|
|
this.iconTheme, |
|
|
|
|
}); |
|
|
|
|
|
|
|
|
|
final VoidCallback? onPressed; |
|
|
|
@ -18,25 +18,37 @@ class QuillToolbarIconButton extends StatelessWidget { |
|
|
|
|
final Widget icon; |
|
|
|
|
|
|
|
|
|
final String? tooltip; |
|
|
|
|
final EdgeInsets? padding; |
|
|
|
|
final bool isSelected; |
|
|
|
|
|
|
|
|
|
final ButtonStyle? iconUnselectedStyle; |
|
|
|
|
final ButtonStyle? iconSelectedStyle; |
|
|
|
|
final QuillIconTheme? iconTheme; |
|
|
|
|
@override |
|
|
|
|
Widget build(BuildContext context) { |
|
|
|
|
if (isSelected) { |
|
|
|
|
return IconButton.filled( |
|
|
|
|
tooltip: tooltip, |
|
|
|
|
padding: padding, |
|
|
|
|
onPressed: onPressed, |
|
|
|
|
icon: icon, |
|
|
|
|
style: iconSelectedStyle, |
|
|
|
|
style: iconTheme?.iconButtonSelectedData?.style, |
|
|
|
|
visualDensity: iconTheme?.iconButtonSelectedData?.visualDensity, |
|
|
|
|
iconSize: iconTheme?.iconButtonSelectedData?.iconSize, |
|
|
|
|
padding: iconTheme?.iconButtonSelectedData?.padding, |
|
|
|
|
alignment: iconTheme?.iconButtonSelectedData?.alignment, |
|
|
|
|
splashRadius: iconTheme?.iconButtonSelectedData?.splashRadius, |
|
|
|
|
color: iconTheme?.iconButtonSelectedData?.color, |
|
|
|
|
focusColor: iconTheme?.iconButtonSelectedData?.focusColor, |
|
|
|
|
hoverColor: iconTheme?.iconButtonSelectedData?.hoverColor, |
|
|
|
|
highlightColor: iconTheme?.iconButtonSelectedData?.highlightColor, |
|
|
|
|
splashColor: iconTheme?.iconButtonSelectedData?.splashColor, |
|
|
|
|
disabledColor: iconTheme?.iconButtonSelectedData?.disabledColor, |
|
|
|
|
mouseCursor: iconTheme?.iconButtonSelectedData?.mouseCursor, |
|
|
|
|
autofocus: iconTheme?.iconButtonSelectedData?.autofocus ?? false, |
|
|
|
|
enableFeedback: iconTheme?.iconButtonSelectedData?.enableFeedback, |
|
|
|
|
constraints: iconTheme?.iconButtonSelectedData?.constraints, |
|
|
|
|
selectedIcon: iconTheme?.iconButtonSelectedData?.selectedIcon, |
|
|
|
|
); |
|
|
|
|
} |
|
|
|
|
return IconButton( |
|
|
|
|
tooltip: tooltip, |
|
|
|
|
padding: padding, |
|
|
|
|
onPressed: onPressed != null |
|
|
|
|
? () { |
|
|
|
|
onPressed?.call(); |
|
|
|
@ -44,7 +56,23 @@ class QuillToolbarIconButton extends StatelessWidget { |
|
|
|
|
} |
|
|
|
|
: null, |
|
|
|
|
icon: icon, |
|
|
|
|
style: iconUnselectedStyle, |
|
|
|
|
style: iconTheme?.iconButtonUnselectedData?.style, |
|
|
|
|
visualDensity: iconTheme?.iconButtonUnselectedData?.visualDensity, |
|
|
|
|
iconSize: iconTheme?.iconButtonUnselectedData?.iconSize, |
|
|
|
|
padding: iconTheme?.iconButtonUnselectedData?.padding, |
|
|
|
|
alignment: iconTheme?.iconButtonUnselectedData?.alignment, |
|
|
|
|
splashRadius: iconTheme?.iconButtonUnselectedData?.splashRadius, |
|
|
|
|
color: iconTheme?.iconButtonUnselectedData?.color, |
|
|
|
|
focusColor: iconTheme?.iconButtonUnselectedData?.focusColor, |
|
|
|
|
hoverColor: iconTheme?.iconButtonUnselectedData?.hoverColor, |
|
|
|
|
highlightColor: iconTheme?.iconButtonUnselectedData?.highlightColor, |
|
|
|
|
splashColor: iconTheme?.iconButtonUnselectedData?.splashColor, |
|
|
|
|
disabledColor: iconTheme?.iconButtonUnselectedData?.disabledColor, |
|
|
|
|
mouseCursor: iconTheme?.iconButtonUnselectedData?.mouseCursor, |
|
|
|
|
autofocus: iconTheme?.iconButtonUnselectedData?.autofocus ?? false, |
|
|
|
|
enableFeedback: iconTheme?.iconButtonUnselectedData?.enableFeedback, |
|
|
|
|
constraints: iconTheme?.iconButtonUnselectedData?.constraints, |
|
|
|
|
selectedIcon: iconTheme?.iconButtonUnselectedData?.selectedIcon, |
|
|
|
|
); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|