Browse Source

fix: return text field to the previous state after editing message

yiffed
Inex Code 7 months ago
committed by Christian Pauly
parent
commit
08e61c0db1
  1. 1
      CHANGELOG.md
  2. 14
      lib/views/chat.dart

1
CHANGELOG.md

@ -18,6 +18,7 @@
- Show device name in account information correctly
- Fix tapping on aliases / room pills not always working
- Link clicking in web not always working
- Return message input field to previous state after editing message - Thanks @inexcode
# Version 0.19.0 - 2020-09-21
### Features

14
lib/views/chat.dart

@ -98,6 +98,8 @@ class _ChatState extends State<_Chat> {
String inputText = '';
String pendingText = '';
bool get _canLoadMore => timeline.events.last.type != EventTypes.RoomCreate;
void requestHistory() async {
@ -202,12 +204,13 @@ class _ChatState extends State<_Chat> {
if (sendController.text.isEmpty) return;
room.sendTextEvent(sendController.text,
inReplyTo: replyEvent, editEventId: editEvent?.eventId);
sendController.text = '';
sendController.text = pendingText;
setState(() {
inputText = '';
inputText = pendingText;
replyEvent = null;
editEvent = null;
pendingText = '';
});
}
@ -522,8 +525,9 @@ class _ChatState extends State<_Chat> {
icon: Icon(Icons.edit),
onPressed: () {
setState(() {
pendingText = sendController.text;
editEvent = selectedEvents.first;
sendController.text = editEvent
inputText = sendController.text = editEvent
.getDisplayEvent(timeline)
.getLocalizedBody(MatrixLocals(L10n.of(context)),
withSenderNamePrefix: false, hideReply: true);
@ -787,6 +791,10 @@ class _ChatState extends State<_Chat> {
IconButton(
icon: Icon(Icons.close),
onPressed: () => setState(() {
if (editEvent != null) {
inputText = sendController.text = pendingText;
pendingText = '';
}
replyEvent = null;
editEvent = null;
}),

Loading…
Cancel
Save