Since only 1 message can be edited instantiate just 1 instance of ChatDocumentHandler and update when a message is edited.

This commit is contained in:
James Graham
2023-02-14 18:33:26 +00:00
parent 61f3d6c9ae
commit dbceaadbba
3 changed files with 13 additions and 10 deletions

View File

@@ -28,6 +28,14 @@ TimelineContainer {
Layout.fillWidth: true
messageId: model.eventId
visible: currentRoom.chatBoxEditId === model.eventId
onVisibleChanged: {
if (visible) {
editChatDocumentHandler.document = textDocument
editChatDocumentHandler.cursorPosition = cursorPosition
editChatDocumentHandler.selectionStart = selectionStart
editChatDocumentHandler.selectionEnd = selectionEnd
}
}
}
LinkPreviewDelegate {
Layout.fillWidth: true

View File

@@ -124,16 +124,6 @@ QQC2.TextArea {
}
}
ChatDocumentHandler {
id: documentHandler
isEdit: true
document: root.textDocument
cursorPosition: root.cursorPosition
selectionStart: root.selectionStart
selectionEnd: root.selectionEnd
room: currentRoom // We don't care about saving for edits so this is OK.
}
TextMetrics {
id: editTextMetrics
text: root.text

View File

@@ -26,6 +26,11 @@ Kirigami.ScrollablePage {
/// cancel implementation.
property bool disableCancelShortcut: false
property var editChatDocumentHandler: ChatDocumentHandler {
isEdit: true
room: currentRoom // We don't care about saving for edits so this is OK.
}
title: currentRoom.displayName
KeyNavigation.left: pageStack.get(0)