added custom button widget in toolbar

pull/1272/head
Pramod 2 years ago
parent 1f42da82fb
commit 463ecaba6e
  1. 5
      lib/src/models/themes/quill_custom_button.dart
  2. 28
      lib/src/widgets/toolbar.dart

@ -1,11 +1,14 @@
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
class QuillCustomButton { class QuillCustomButton {
const QuillCustomButton({this.icon, this.onTap}); const QuillCustomButton({this.icon, this.onTap, this.child});
///The icon widget ///The icon widget
final IconData? icon; final IconData? icon;
///The function when the icon is tapped ///The function when the icon is tapped
final VoidCallback? onTap; final VoidCallback? onTap;
///The customButton placeholder
final Widget? child;
} }

@ -485,16 +485,24 @@ class QuillToolbar extends StatelessWidget implements PreferredSizeWidget {
endIndent: 12, endIndent: 12,
color: Colors.grey.shade400, color: Colors.grey.shade400,
), ),
for (var customButton in customButtons) for (var customButton in customButtons) ...[
QuillIconButton( if (customButton.child != null) ...[
highlightElevation: 0, InkWell(
hoverElevation: 0, onTap: customButton.onTap,
size: toolbarIconSize * kIconButtonFactor, child: customButton.child,
icon: Icon(customButton.icon, size: toolbarIconSize), ),
borderRadius: iconTheme?.borderRadius ?? 2, ] else ...[
onPressed: customButton.onTap, QuillIconButton(
afterPressed: afterButtonPressed, highlightElevation: 0,
), hoverElevation: 0,
size: toolbarIconSize * kIconButtonFactor,
icon: Icon(customButton.icon, size: toolbarIconSize),
borderRadius: iconTheme?.borderRadius ?? 2,
onPressed: customButton.onTap,
afterPressed: afterButtonPressed,
),
],
],
], ],
); );
} }

Loading…
Cancel
Save