refactor and format

pull/609/head
li3317 3 years ago
parent 3a9630421e
commit 850f2a0c03
  1. 2
      lib/src/widgets/editor.dart
  2. 3
      lib/src/widgets/raw_editor.dart
  3. 22
      lib/src/widgets/raw_editor/raw_editor_state_selection_delegate_mixin.dart

@ -6,11 +6,11 @@ import 'package:flutter/gestures.dart';
import 'package:flutter/material.dart';
import 'package:flutter/rendering.dart';
import 'package:flutter/services.dart';
import '../models/documents/style.dart';
import 'package:tuple/tuple.dart';
import '../models/documents/document.dart';
import '../models/documents/nodes/container.dart' as container_node;
import '../models/documents/style.dart';
import '../utils/platform.dart';
import 'box.dart';
import 'controller.dart';

@ -852,7 +852,8 @@ class RawEditorState extends EditorState
@override
void copySelection(SelectionChangedCause cause) {
_pastePlainText = widget.controller.getPlainText();
_pastePlainText =
widget.controller.getPlainText();
_pasteStyle = widget.controller.getAllIndividualSelectionStyles();
// Copied straight from EditableTextState
super.copySelection(cause);

@ -4,7 +4,6 @@ import 'package:flutter/rendering.dart';
import 'package:flutter/widgets.dart';
import '../../models/documents/nodes/leaf.dart';
import '../../models/documents/style.dart';
import '../../utils/delta.dart';
import '../editor.dart';
@ -27,17 +26,16 @@ mixin RawEditorStateSelectionDelegateMixin on EditorState
diff.start, diff.deleted.length, insertedText, value.selection);
if (insertedText == pastePlainText && pastePlainText != '') {
var pos = diff.start;
for ( var i = 0; i < pasteStyle.length; i++){
int offset = pasteStyle[i].item1;
Style style = pasteStyle[i].item2;
if (i == pasteStyle.length - 1) {
style.attributes.forEach((k, v) => widget.controller
.formatText(pos + offset, pastePlainText.length - offset, v));
} else {
style.attributes.forEach((k, v) => widget.controller
.formatText(pos + offset, pasteStyle[i + 1].item1, v));
}
final pos = diff.start;
for (var i = 0; i < pasteStyle.length; i++) {
final offset = pasteStyle[i].item1;
final style = pasteStyle[i].item2;
widget.controller.formatTextStyle(
pos + offset,
i == pasteStyle.length - 1
? pastePlainText.length - offset
: pasteStyle[i + 1].item1,
style);
}
}
}

Loading…
Cancel
Save