diff --git a/lib/src/widgets/toolbar/image_button.dart b/lib/src/widgets/toolbar/image_button.dart index 662604ba..581dde77 100644 --- a/lib/src/widgets/toolbar/image_button.dart +++ b/lib/src/widgets/toolbar/image_button.dart @@ -6,7 +6,6 @@ import '../../models/themes/quill_dialog_theme.dart'; import '../../models/themes/quill_icon_theme.dart'; import '../controller.dart'; import '../toolbar.dart'; -import 'link_dialog.dart'; class ImageButton extends StatelessWidget { const ImageButton({ diff --git a/lib/src/widgets/toolbar/image_video_utils.dart b/lib/src/widgets/toolbar/image_video_utils.dart index 84c13cc0..4dad48cb 100644 --- a/lib/src/widgets/toolbar/image_video_utils.dart +++ b/lib/src/widgets/toolbar/image_video_utils.dart @@ -5,11 +5,70 @@ import 'package:flutter/material.dart'; import 'package:image_picker/image_picker.dart'; import '../../models/documents/nodes/embeddable.dart'; +import '../../models/themes/quill_dialog_theme.dart'; import '../../translations/toolbar.i18n.dart'; import '../../utils/platform.dart'; import '../controller.dart'; import '../toolbar.dart'; +class LinkDialog extends StatefulWidget { + const LinkDialog({this.dialogTheme, this.link, Key? key}) : super(key: key); + + final QuillDialogTheme? dialogTheme; + final String? link; + + @override + LinkDialogState createState() => LinkDialogState(); +} + +class LinkDialogState extends State { + late String _link; + late TextEditingController _controller; + + @override + void initState() { + super.initState(); + _link = widget.link ?? ''; + _controller = TextEditingController(text: _link); + } + + @override + Widget build(BuildContext context) { + return AlertDialog( + backgroundColor: widget.dialogTheme?.dialogBackgroundColor, + content: TextField( + style: widget.dialogTheme?.inputTextStyle, + decoration: InputDecoration( + labelText: 'Paste a link'.i18n, + labelStyle: widget.dialogTheme?.labelTextStyle, + floatingLabelStyle: widget.dialogTheme?.labelTextStyle), + autofocus: true, + onChanged: _linkChanged, + controller: _controller, + ), + actions: [ + TextButton( + onPressed: _link.isNotEmpty ? _applyLink : null, + child: Text( + 'Ok'.i18n, + style: widget.dialogTheme?.labelTextStyle, + ), + ), + ], + ); + } + + void _linkChanged(String value) { + setState(() { + _link = value; + }); + } + + void _applyLink() { + Navigator.pop(context, _link); + } +} + enum MediaPickSetting { Gallery, Link, diff --git a/lib/src/widgets/toolbar/link_dialog.dart b/lib/src/widgets/toolbar/link_dialog.dart deleted file mode 100644 index cd1f1370..00000000 --- a/lib/src/widgets/toolbar/link_dialog.dart +++ /dev/null @@ -1,62 +0,0 @@ -import 'package:flutter/material.dart'; - -import '../../models/themes/quill_dialog_theme.dart'; -import '../../translations/toolbar.i18n.dart'; - -class LinkDialog extends StatefulWidget { - const LinkDialog({this.dialogTheme, this.link, Key? key}) : super(key: key); - - final QuillDialogTheme? dialogTheme; - final String? link; - - @override - LinkDialogState createState() => LinkDialogState(); -} - -class LinkDialogState extends State { - late String _link; - late TextEditingController _controller; - - @override - void initState() { - super.initState(); - _link = widget.link ?? ''; - _controller = TextEditingController(text: _link); - } - - @override - Widget build(BuildContext context) { - return AlertDialog( - backgroundColor: widget.dialogTheme?.dialogBackgroundColor, - content: TextField( - style: widget.dialogTheme?.inputTextStyle, - decoration: InputDecoration( - labelText: 'Paste a link'.i18n, - labelStyle: widget.dialogTheme?.labelTextStyle, - floatingLabelStyle: widget.dialogTheme?.labelTextStyle), - autofocus: true, - onChanged: _linkChanged, - controller: _controller, - ), - actions: [ - TextButton( - onPressed: _link.isNotEmpty ? _applyLink : null, - child: Text( - 'Ok'.i18n, - style: widget.dialogTheme?.labelTextStyle, - ), - ), - ], - ); - } - - void _linkChanged(String value) { - setState(() { - _link = value; - }); - } - - void _applyLink() { - Navigator.pop(context, _link); - } -} diff --git a/lib/src/widgets/toolbar/video_button.dart b/lib/src/widgets/toolbar/video_button.dart index 6517a8e5..6b7f0e75 100644 --- a/lib/src/widgets/toolbar/video_button.dart +++ b/lib/src/widgets/toolbar/video_button.dart @@ -6,7 +6,6 @@ import '../../models/themes/quill_dialog_theme.dart'; import '../../models/themes/quill_icon_theme.dart'; import '../controller.dart'; import '../toolbar.dart'; -import 'link_dialog.dart'; class VideoButton extends StatelessWidget { const VideoButton({