Update camera_button.dart

pull/1520/head
Ellet 1 year ago
parent 5abe224e58
commit 616dbff748
No known key found for this signature in database
GPG Key ID: C488CC70BBCEF0D1
  1. 1
      CHANGELOG.md
  2. 6
      example/lib/pages/home_page.dart
  3. 15
      flutter_quill_extensions/lib/presentation/embeds/toolbar/camera_button/camera_button.dart
  4. 8
      lib/src/widgets/toolbar/buttons/quill_icon.dart
  5. 2
      lib/src/widgets/toolbar/buttons/select_header_style.dart

@ -4,6 +4,7 @@
- You can use now the `QuillRawEditor` without `QuillEditorProvider` - You can use now the `QuillRawEditor` without `QuillEditorProvider`
- Bug fixes - Bug fixes
- Add implementation of image cropping in the `example` - Add implementation of image cropping in the `example`
- Update the `QuillToolbarIconButton` to use the material 3 buttons
## [8.4.1] ## [8.4.1]
- Add `copyWith` in `OptionalSize` class - Add `copyWith` in `OptionalSize` class

@ -474,7 +474,8 @@ class _HomePageState extends State<HomePage> {
toolbarColor: Colors.deepOrange, toolbarColor: Colors.deepOrange,
toolbarWidgetColor: Colors.white, toolbarWidgetColor: Colors.white,
initAspectRatio: CropAspectRatioPreset.original, initAspectRatio: CropAspectRatioPreset.original,
lockAspectRatio: false), lockAspectRatio: false,
),
IOSUiSettings( IOSUiSettings(
title: 'Cropper', title: 'Cropper',
), ),
@ -517,6 +518,7 @@ class _HomePageState extends State<HomePage> {
configurations: QuillToolbarConfigurations( configurations: QuillToolbarConfigurations(
customButtons: customButtons, customButtons: customButtons,
embedButtons: FlutterQuillEmbeds.toolbarButtons( embedButtons: FlutterQuillEmbeds.toolbarButtons(
cameraButtonOptions: const QuillToolbarCameraButtonOptions(),
imageButtonOptions: QuillToolbarImageButtonOptions( imageButtonOptions: QuillToolbarImageButtonOptions(
imageButtonConfigurations: QuillToolbarImageConfigurations( imageButtonConfigurations: QuillToolbarImageConfigurations(
onImageInsertedCallback: (image) async { onImageInsertedCallback: (image) async {
@ -539,6 +541,7 @@ class _HomePageState extends State<HomePage> {
configurations: QuillToolbarConfigurations( configurations: QuillToolbarConfigurations(
customButtons: customButtons, customButtons: customButtons,
embedButtons: FlutterQuillEmbeds.toolbarButtons( embedButtons: FlutterQuillEmbeds.toolbarButtons(
cameraButtonOptions: const QuillToolbarCameraButtonOptions(),
imageButtonOptions: QuillToolbarImageButtonOptions( imageButtonOptions: QuillToolbarImageButtonOptions(
imageButtonConfigurations: QuillToolbarImageConfigurations( imageButtonConfigurations: QuillToolbarImageConfigurations(
onImageInsertedCallback: (image) async { onImageInsertedCallback: (image) async {
@ -560,6 +563,7 @@ class _HomePageState extends State<HomePage> {
configurations: QuillToolbarConfigurations( configurations: QuillToolbarConfigurations(
customButtons: customButtons, customButtons: customButtons,
embedButtons: FlutterQuillEmbeds.toolbarButtons( embedButtons: FlutterQuillEmbeds.toolbarButtons(
cameraButtonOptions: const QuillToolbarCameraButtonOptions(),
videoButtonOptions: QuillToolbarVideoButtonOptions( videoButtonOptions: QuillToolbarVideoButtonOptions(
videoConfigurations: QuillToolbarVideoConfigurations( videoConfigurations: QuillToolbarVideoConfigurations(
onVideoInsertedCallback: (video) => onVideoInsertedCallback: (video) =>

@ -1,5 +1,3 @@
// ignore_for_file: use_build_context_synchronously
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:flutter_quill/flutter_quill.dart'; import 'package:flutter_quill/flutter_quill.dart';
import 'package:flutter_quill/translations.dart'; import 'package:flutter_quill/translations.dart';
@ -104,6 +102,7 @@ class QuillToolbarCameraButton extends StatelessWidget {
size: iconSize * 1.77, size: iconSize * 1.77,
fillColor: iconFillColor, fillColor: iconFillColor,
borderRadius: iconTheme?.borderRadius ?? 2, borderRadius: iconTheme?.borderRadius ?? 2,
// isDesktop(supportWeb: false) ? null :
onPressed: () => _sharedOnPressed(context), onPressed: () => _sharedOnPressed(context),
); );
} }
@ -126,11 +125,9 @@ class QuillToolbarCameraButton extends StatelessWidget {
BuildContext context, BuildContext context,
QuillController controller, QuillController controller,
) async { ) async {
// if (onVideoPickCallback == null && onImagePickCallback == null) { final imagePickerService =
// throw ArgumentError( QuillSharedExtensionsConfigurations.get(context: context)
// 'onImagePickCallback and onVideoPickCallback are both null', .imagePickerService;
// );
// }
final cameraAction = await _getCameraAction(context); final cameraAction = await _getCameraAction(context);
@ -138,10 +135,6 @@ class QuillToolbarCameraButton extends StatelessWidget {
return; return;
} }
final imagePickerService =
QuillSharedExtensionsConfigurations.get(context: context)
.imagePickerService;
switch (cameraAction) { switch (cameraAction) {
case CameraAction.video: case CameraAction.video:
final videoFile = await imagePickerService.pickVideo( final videoFile = await imagePickerService.pickVideo(

@ -28,6 +28,14 @@ class QuillToolbarIconButton extends StatelessWidget {
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
// return IconButton(
// onPressed: () {
// onPressed?.call();
// afterPressed?.call();
// },
// icon: icon ?? const SizedBox.shrink(),
// tooltip: tooltip,
// );
return ConstrainedBox( return ConstrainedBox(
constraints: BoxConstraints.tightFor(width: size, height: size), constraints: BoxConstraints.tightFor(width: size, height: size),
child: UtilityWidgets.maybeTooltip( child: UtilityWidgets.maybeTooltip(

@ -145,6 +145,8 @@ class QuillToolbarSelectHeaderStyleButtonsState
} }
final theme = Theme.of(context); final theme = Theme.of(context);
final isSelected = _selectedAttribute == attribute; final isSelected = _selectedAttribute == attribute;
// TODO: This needs to be updated to materail 3 as well just like in
// quill_icon.dart
return Padding( return Padding(
padding: const EdgeInsets.symmetric(horizontal: !kIsWeb ? 1.0 : 5.0), padding: const EdgeInsets.symmetric(horizontal: !kIsWeb ? 1.0 : 5.0),
child: ConstrainedBox( child: ConstrainedBox(

Loading…
Cancel
Save