diff --git a/lib/widgets/editor.dart b/lib/widgets/editor.dart index 75ee0e52..b02f97eb 100644 --- a/lib/widgets/editor.dart +++ b/lib/widgets/editor.dart @@ -11,7 +11,7 @@ import 'package:flutter_quill/models/documents/document.dart'; import 'package:flutter_quill/models/documents/nodes/container.dart' as containerNode; import 'package:flutter_quill/models/documents/nodes/embed.dart'; -import 'package:flutter_quill/models/documents/nodes/leaf.dart'; +import 'package:flutter_quill/models/documents/nodes/leaf.dart' as leaf; import 'package:flutter_quill/models/documents/nodes/line.dart'; import 'package:flutter_quill/models/documents/nodes/node.dart'; import 'package:flutter_quill/widgets/image.dart'; @@ -73,20 +73,16 @@ abstract class RenderAbstractEditor { void selectPosition(SelectionChangedCause cause); } -Widget _defaultEmbedBuilder(BuildContext context, Embed node) { +Widget _defaultEmbedBuilder(BuildContext context, leaf.Embed node) { switch (node.value.type) { - case 'divider': + case 'image': final style = QuillStyles.getStyles(context, true); return Divider( height: style.paragraph.style.fontSize * style.paragraph.style.height, thickness: 2, color: Colors.grey.shade200, ); - case 'image': - String imageUrl = node.value.data; - return imageUrl.startsWith('http') - ? Image.network(imageUrl) - : Image.asset(imageUrl); + default: throw UnimplementedError( 'Embeddable type "${node.value.type}" is not supported by default embed ' @@ -348,7 +344,7 @@ class _QuillEditorSelectionGestureDetectorBuilder } return false; } - Leaf segment = segmentResult.node as Leaf; + leaf.Leaf segment = segmentResult.node as leaf.Leaf; if (segment.style.containsKey(Attribute.link.key)) { var launchUrl = getEditor().widget.onLaunchUrl; if (launchUrl == null) { diff --git a/lib/widgets/text_line.dart b/lib/widgets/text_line.dart index a90a6883..53bb07f8 100644 --- a/lib/widgets/text_line.dart +++ b/lib/widgets/text_line.dart @@ -60,7 +60,7 @@ class TextLine extends StatelessWidget { textAlign, textDirection, 1.0, - Localizations.localeOf(context, nullOk: true), + Localizations.localeOf(context), strutStyle, TextWidthBasis.parent, null); diff --git a/lib/widgets/text_selection.dart b/lib/widgets/text_selection.dart index 64534c0c..e74318ac 100644 --- a/lib/widgets/text_selection.dart +++ b/lib/widgets/text_selection.dart @@ -199,14 +199,14 @@ class EditorTextSelectionOverlay { showWhenUnlinked: false, offset: -editingRegion.topLeft, child: selectionCtrls.buildToolbar( - context, - editingRegion, - baseLineHeight, - midpoint, - endpoints, - selectionDelegate, - clipboardStatus, - ), + context, + editingRegion, + baseLineHeight, + midpoint, + endpoints, + selectionDelegate, + clipboardStatus, + Offset(0, 0)), ), ); } diff --git a/lib/widgets/toolbar.dart b/lib/widgets/toolbar.dart index 6818803a..1f54bd79 100644 --- a/lib/widgets/toolbar.dart +++ b/lib/widgets/toolbar.dart @@ -446,7 +446,13 @@ Widget _selectHeadingStyleButtonBuilder( height: iconSize * 1.77, fillColor: Theme.of(context).canvasColor, child: Text( - _valueToText[value], + _valueToText[value.key == "header" + ? Attribute.header + : (value.key == "h1") + ? Attribute.h1 + : (value.key == "h2") + ? Attribute.h2 + : Attribute.h3], style: TextStyle(fontSize: 13, fontWeight: FontWeight.w600), ), initialValue: value, diff --git a/pubspec.lock b/pubspec.lock index 02cc03c0..10c6a87a 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -7,49 +7,49 @@ packages: name: async url: "https://pub.dartlang.org" source: hosted - version: "2.5.0-nullsafety.3" + version: "2.5.0" boolean_selector: dependency: transitive description: name: boolean_selector url: "https://pub.dartlang.org" source: hosted - version: "2.1.0-nullsafety.3" + version: "2.1.0" characters: dependency: transitive description: name: characters url: "https://pub.dartlang.org" source: hosted - version: "1.1.0-nullsafety.5" + version: "1.1.0" charcode: dependency: transitive description: name: charcode url: "https://pub.dartlang.org" source: hosted - version: "1.2.0-nullsafety.3" + version: "1.2.0" clock: dependency: transitive description: name: clock url: "https://pub.dartlang.org" source: hosted - version: "1.1.0-nullsafety.3" + version: "1.1.0" collection: dependency: "direct main" description: name: collection url: "https://pub.dartlang.org" source: hosted - version: "1.15.0-nullsafety.5" + version: "1.15.0" fake_async: dependency: transitive description: name: fake_async url: "https://pub.dartlang.org" source: hosted - version: "1.2.0-nullsafety.3" + version: "1.2.0" flutter: dependency: "direct main" description: flutter @@ -113,28 +113,28 @@ packages: name: js url: "https://pub.dartlang.org" source: hosted - version: "0.6.3-nullsafety.3" + version: "0.6.3" matcher: dependency: transitive description: name: matcher url: "https://pub.dartlang.org" source: hosted - version: "0.12.10-nullsafety.3" + version: "0.12.10" meta: dependency: transitive description: name: meta url: "https://pub.dartlang.org" source: hosted - version: "1.3.0-nullsafety.6" + version: "1.3.0" path: dependency: transitive description: name: path url: "https://pub.dartlang.org" source: hosted - version: "1.8.0-nullsafety.3" + version: "1.8.0" pedantic: dependency: transitive description: @@ -188,42 +188,42 @@ packages: name: source_span url: "https://pub.dartlang.org" source: hosted - version: "1.8.0-nullsafety.4" + version: "1.8.0" stack_trace: dependency: transitive description: name: stack_trace url: "https://pub.dartlang.org" source: hosted - version: "1.10.0-nullsafety.6" + version: "1.10.0" stream_channel: dependency: transitive description: name: stream_channel url: "https://pub.dartlang.org" source: hosted - version: "2.1.0-nullsafety.3" + version: "2.1.0" string_scanner: dependency: transitive description: name: string_scanner url: "https://pub.dartlang.org" source: hosted - version: "1.1.0-nullsafety.3" + version: "1.1.0" term_glyph: dependency: transitive description: name: term_glyph url: "https://pub.dartlang.org" source: hosted - version: "1.2.0-nullsafety.3" + version: "1.2.0" test_api: dependency: transitive description: name: test_api url: "https://pub.dartlang.org" source: hosted - version: "0.2.19-nullsafety.6" + version: "0.2.19" tuple: dependency: "direct main" description: @@ -237,7 +237,7 @@ packages: name: typed_data url: "https://pub.dartlang.org" source: hosted - version: "1.3.0-nullsafety.5" + version: "1.3.0" url_launcher: dependency: "direct main" description: @@ -286,7 +286,7 @@ packages: name: vector_math url: "https://pub.dartlang.org" source: hosted - version: "2.1.0-nullsafety.5" + version: "2.1.0" sdks: dart: ">=2.12.0-0.0 <3.0.0" flutter: ">=1.22.0"