Restore old build of `QuillToolbarFontSizeButton`

pull/1621/head
Aleksei 1 year ago
parent 61fd031c0a
commit 9c79046dc9
  1. 25
      lib/src/models/config/toolbar/buttons/font_size_configurations.dart
  2. 20
      lib/src/widgets/toolbar/buttons/font_size_button.dart

@ -2,15 +2,9 @@ import 'dart:ui';
import 'package:flutter/foundation.dart' show immutable; import 'package:flutter/foundation.dart' show immutable;
import 'package:flutter/material.dart' import 'package:flutter/material.dart'
show ButtonStyle, Colors, PopupMenuEntry, ValueChanged; show Colors, PopupMenuEntry, ValueChanged;
import 'package:flutter/widgets.dart' import 'package:flutter/widgets.dart'
show show Color, EdgeInsets, EdgeInsetsGeometry, TextOverflow, TextStyle;
Color,
EdgeInsets,
EdgeInsetsGeometry,
OutlinedBorder,
TextOverflow,
TextStyle;
import '../../../documents/attribute.dart'; import '../../../documents/attribute.dart';
import '../../quill_configurations.dart'; import '../../quill_configurations.dart';
@ -35,6 +29,9 @@ class QuillToolbarFontSizeButtonOptions extends QuillToolbarBaseButtonOptions<
const QuillToolbarFontSizeButtonOptions({ const QuillToolbarFontSizeButtonOptions({
this.iconSize, this.iconSize,
this.iconButtonFactor, this.iconButtonFactor,
this.fillColor,
this.hoverElevation = 1,
this.highlightElevation = 1,
this.rawItemsMap, this.rawItemsMap,
this.onSelected, this.onSelected,
this.attribute = Attribute.size, this.attribute = Attribute.size,
@ -49,15 +46,15 @@ class QuillToolbarFontSizeButtonOptions extends QuillToolbarBaseButtonOptions<
this.itemPadding, this.itemPadding,
this.defaultItemColor = Colors.red, this.defaultItemColor = Colors.red,
super.childBuilder, super.childBuilder,
this.shape,
}); });
final double? iconSize; final double? iconSize;
final double? iconButtonFactor; final double? iconButtonFactor;
final Color? fillColor;
final double hoverElevation;
final double highlightElevation;
final ButtonStyle? shape; /// By default it will be [fontSizesValues] from [QuillToolbarConfigurations]
/// By default it will be [fontSizesValues] from [QuillSimpleToolbarConfigurations]
/// You can override this if you want /// You can override this if you want
final Map<String, String>? rawItemsMap; final Map<String, String>? rawItemsMap;
final ValueChanged<String>? onSelected; final ValueChanged<String>? onSelected;
@ -91,11 +88,13 @@ class QuillToolbarFontSizeButtonOptions extends QuillToolbarBaseButtonOptions<
Color? defaultItemColor, Color? defaultItemColor,
VoidCallback? afterButtonPressed, VoidCallback? afterButtonPressed,
String? tooltip, String? tooltip,
OutlinedBorder? shape,
}) { }) {
return QuillToolbarFontSizeButtonOptions( return QuillToolbarFontSizeButtonOptions(
iconSize: iconSize ?? this.iconSize, iconSize: iconSize ?? this.iconSize,
iconButtonFactor: iconButtonFactor ?? this.iconButtonFactor, iconButtonFactor: iconButtonFactor ?? this.iconButtonFactor,
fillColor: fillColor ?? this.fillColor,
hoverElevation: hoverElevation ?? this.hoverElevation,
highlightElevation: highlightElevation ?? this.highlightElevation,
rawItemsMap: rawItemsMap ?? this.rawItemsMap, rawItemsMap: rawItemsMap ?? this.rawItemsMap,
onSelected: onSelected ?? this.onSelected, onSelected: onSelected ?? this.onSelected,
attribute: attribute ?? this.attribute, attribute: attribute ?? this.attribute,

@ -146,9 +146,21 @@ class QuillToolbarFontSizeButtonState
builder: (context) { builder: (context) {
final isMaterial3 = Theme.of(context).useMaterial3; final isMaterial3 = Theme.of(context).useMaterial3;
if (!isMaterial3) { if (!isMaterial3) {
return RawMaterialButton( return Tooltip(
onPressed: _onPressed, message: tooltip,
child: _buildContent(context), child: RawMaterialButton(
visualDensity: VisualDensity.compact,
shape: RoundedRectangleBorder(
borderRadius:
BorderRadius.circular(iconTheme?.borderRadius ?? 2),
),
fillColor: options.fillColor,
elevation: 0,
hoverElevation: options.hoverElevation,
highlightElevation: options.hoverElevation,
onPressed: _onPressed,
child: _buildContent(context),
),
); );
} }
return IconButton( return IconButton(
@ -158,7 +170,7 @@ class QuillToolbarFontSizeButtonState
shape: iconTheme?.borderRadius != null shape: iconTheme?.borderRadius != null
? RoundedRectangleBorder( ? RoundedRectangleBorder(
borderRadius: borderRadius:
BorderRadius.circular(iconTheme?.borderRadius ?? -1), BorderRadius.circular(iconTheme?.borderRadius ?? 2),
) )
: null, : null,
), ),

Loading…
Cancel
Save