mirror of
https://github.com/bggRGjQaUbCoE/PiliPlus.git
synced 2026-06-12 22:01:39 +08:00
Compare commits
1 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
1c19925b58 |
@@ -5529,28 +5529,38 @@ class EditableTextState extends State<EditableText>
|
||||
|
||||
void _replaceText(ReplaceTextIntent intent) {
|
||||
final TextEditingValue oldValue = _value;
|
||||
final TextEditingValue newValue = intent.currentTextEditingValue.replaced(
|
||||
intent.replacementRange,
|
||||
intent.replacementText,
|
||||
);
|
||||
final TextEditingValue newValue;
|
||||
|
||||
// bggRGjQaUbCoE _replaceText
|
||||
widget.controller.syncRichText(
|
||||
intent.replacementText.isEmpty
|
||||
? TextEditingDeltaDeletion(
|
||||
oldText: oldValue.text,
|
||||
deletedRange: intent.replacementRange,
|
||||
selection: newValue.selection,
|
||||
composing: newValue.composing,
|
||||
)
|
||||
: TextEditingDeltaReplacement(
|
||||
oldText: oldValue.text,
|
||||
replacementText: intent.replacementText,
|
||||
replacedRange: intent.replacementRange,
|
||||
selection: newValue.selection,
|
||||
composing: newValue.composing,
|
||||
),
|
||||
);
|
||||
if (intent.replacementText.isEmpty) {
|
||||
widget.controller.syncRichText(
|
||||
TextEditingDeltaDeletion(
|
||||
oldText: oldValue.text,
|
||||
deletedRange: intent.replacementRange,
|
||||
selection: .collapsed(offset: intent.replacementRange.start),
|
||||
composing: .empty,
|
||||
),
|
||||
);
|
||||
newValue = TextEditingValue(
|
||||
text: widget.controller.plainText,
|
||||
selection: widget.controller.newSelection,
|
||||
composing: .empty,
|
||||
);
|
||||
} else {
|
||||
newValue = intent.currentTextEditingValue.replaced(
|
||||
intent.replacementRange,
|
||||
intent.replacementText,
|
||||
);
|
||||
widget.controller.syncRichText(
|
||||
TextEditingDeltaReplacement(
|
||||
oldText: oldValue.text,
|
||||
replacementText: intent.replacementText,
|
||||
replacedRange: intent.replacementRange,
|
||||
selection: newValue.selection,
|
||||
composing: newValue.composing,
|
||||
),
|
||||
);
|
||||
}
|
||||
|
||||
userUpdateTextEditingValue(newValue, intent.cause);
|
||||
|
||||
|
||||
@@ -334,8 +334,8 @@ abstract class CommonRichTextPubPageState<T extends CommonRichTextPubPage>
|
||||
_onInsertUser(res, fromClick);
|
||||
} else if (res is Set<MentionItem>) {
|
||||
for (final e in res) {
|
||||
e.checked = false;
|
||||
_onInsertUser(e, fromClick);
|
||||
_onInsertUser(e..checked = false, fromClick);
|
||||
fromClick = true;
|
||||
}
|
||||
res.clear();
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user