parent
81dd8f92cf
commit
99ab28bf01
7 changed files with 95 additions and 127 deletions
@ -1,108 +0,0 @@ |
|||||||
import 'package:flutter/material.dart'; |
|
||||||
import 'package:flutter_quill/flutter_quill.dart'; |
|
||||||
|
|
||||||
import 'embed_types.dart'; |
|
||||||
import 'toolbar/camera_button.dart'; |
|
||||||
import 'toolbar/formula_button.dart'; |
|
||||||
import 'toolbar/image_button.dart'; |
|
||||||
import 'toolbar/video_button.dart'; |
|
||||||
|
|
||||||
export 'toolbar/image_button.dart'; |
|
||||||
export 'toolbar/image_video_utils.dart'; |
|
||||||
export 'toolbar/video_button.dart'; |
|
||||||
export 'toolbar/formula_button.dart'; |
|
||||||
export 'toolbar/camera_button.dart'; |
|
||||||
|
|
||||||
class QuillEmbedToolbar implements EmbedToolbar { |
|
||||||
QuillEmbedToolbar({ |
|
||||||
this.showImageButton = true, |
|
||||||
this.showVideoButton = true, |
|
||||||
this.showCameraButton = true, |
|
||||||
this.showFormulaButton = false, |
|
||||||
this.onImagePickCallback, |
|
||||||
this.onVideoPickCallback, |
|
||||||
this.mediaPickSettingSelector, |
|
||||||
this.cameraPickSettingSelector, |
|
||||||
this.filePickImpl, |
|
||||||
this.webImagePickImpl, |
|
||||||
this.webVideoPickImpl, |
|
||||||
}); |
|
||||||
|
|
||||||
final bool showImageButton; |
|
||||||
final bool showVideoButton; |
|
||||||
final bool showCameraButton; |
|
||||||
final bool showFormulaButton; |
|
||||||
|
|
||||||
final OnImagePickCallback? onImagePickCallback; |
|
||||||
final OnVideoPickCallback? onVideoPickCallback; |
|
||||||
final MediaPickSettingSelector? mediaPickSettingSelector; |
|
||||||
final MediaPickSettingSelector? cameraPickSettingSelector; |
|
||||||
final FilePickImpl? filePickImpl; |
|
||||||
final WebImagePickImpl? webImagePickImpl; |
|
||||||
final WebVideoPickImpl? webVideoPickImpl; |
|
||||||
|
|
||||||
@override |
|
||||||
bool get notEmpty => |
|
||||||
showImageButton || |
|
||||||
showVideoButton || |
|
||||||
(showCameraButton && |
|
||||||
(onImagePickCallback != null || onVideoPickCallback != null)) || |
|
||||||
showFormulaButton; |
|
||||||
|
|
||||||
@override |
|
||||||
Iterable<Widget> build(QuillController controller, double toolbarIconSize, |
|
||||||
QuillIconTheme? iconTheme, QuillDialogTheme? dialogTheme) { |
|
||||||
return [ |
|
||||||
if (showImageButton) |
|
||||||
ImageButton( |
|
||||||
icon: Icons.image, |
|
||||||
iconSize: toolbarIconSize, |
|
||||||
controller: controller, |
|
||||||
onImagePickCallback: onImagePickCallback, |
|
||||||
filePickImpl: filePickImpl, |
|
||||||
webImagePickImpl: webImagePickImpl, |
|
||||||
mediaPickSettingSelector: mediaPickSettingSelector, |
|
||||||
iconTheme: iconTheme, |
|
||||||
dialogTheme: dialogTheme, |
|
||||||
), |
|
||||||
if (showVideoButton) |
|
||||||
VideoButton( |
|
||||||
icon: Icons.movie_creation, |
|
||||||
iconSize: toolbarIconSize, |
|
||||||
controller: controller, |
|
||||||
onVideoPickCallback: onVideoPickCallback, |
|
||||||
filePickImpl: filePickImpl, |
|
||||||
webVideoPickImpl: webImagePickImpl, |
|
||||||
mediaPickSettingSelector: mediaPickSettingSelector, |
|
||||||
iconTheme: iconTheme, |
|
||||||
dialogTheme: dialogTheme, |
|
||||||
), |
|
||||||
if ((onImagePickCallback != null || onVideoPickCallback != null) && |
|
||||||
showCameraButton) |
|
||||||
CameraButton( |
|
||||||
icon: Icons.photo_camera, |
|
||||||
iconSize: toolbarIconSize, |
|
||||||
controller: controller, |
|
||||||
onImagePickCallback: onImagePickCallback, |
|
||||||
onVideoPickCallback: onVideoPickCallback, |
|
||||||
filePickImpl: filePickImpl, |
|
||||||
webImagePickImpl: webImagePickImpl, |
|
||||||
webVideoPickImpl: webVideoPickImpl, |
|
||||||
cameraPickSettingSelector: cameraPickSettingSelector, |
|
||||||
iconTheme: iconTheme, |
|
||||||
), |
|
||||||
if (showFormulaButton) |
|
||||||
FormulaButton( |
|
||||||
icon: Icons.functions, |
|
||||||
iconSize: toolbarIconSize, |
|
||||||
controller: controller, |
|
||||||
onImagePickCallback: onImagePickCallback, |
|
||||||
filePickImpl: filePickImpl, |
|
||||||
webImagePickImpl: webImagePickImpl, |
|
||||||
mediaPickSettingSelector: mediaPickSettingSelector, |
|
||||||
iconTheme: iconTheme, |
|
||||||
dialogTheme: dialogTheme, |
|
||||||
) |
|
||||||
]; |
|
||||||
} |
|
||||||
} |
|
Loading…
Reference in new issue