diff --git a/resources/qml/MessageInput.qml b/resources/qml/MessageInput.qml
index d665566c..1b40931f 100644
--- a/resources/qml/MessageInput.qml
+++ b/resources/qml/MessageInput.qml
@@ -139,6 +139,7 @@ Rectangle {
if (TimelineManager.timeline)
TimelineManager.timeline.input.updateState(selectionStart, selectionEnd, cursorPosition, text);
+ forceActiveFocus();
}
onCursorRectangleChanged: textInput.ensureVisible(cursorRectangle)
onCursorPositionChanged: {
@@ -260,7 +261,9 @@ Rectangle {
Connections {
ignoreUnknownSignals: true
- onInsertText: messageInput.insert(messageInput.cursorPosition, text)
+ onInsertText: {
+ messageInput.insert(messageInput.cursorPosition, text);
+ }
onTextChanged: {
messageInput.text = newText;
messageInput.cursorPosition = newText.length;
@@ -271,6 +274,7 @@ Rectangle {
Connections {
ignoreUnknownSignals: true
onReplyChanged: messageInput.forceActiveFocus()
+ onEditChanged: messageInput.forceActiveFocus()
target: TimelineManager.timeline
}
diff --git a/resources/qml/MessageView.qml b/resources/qml/MessageView.qml
index dafca0f6..0f058830 100644
--- a/resources/qml/MessageView.qml
+++ b/resources/qml/MessageView.qml
@@ -50,7 +50,12 @@ ListView {
Shortcut {
sequence: StandardKey.Cancel
- onActivated: chat.model.reply = undefined
+ onActivated: {
+ if (chat.model.edit)
+ chat.model.edit = undefined;
+ else
+ chat.model.reply = undefined;
+ }
}
Shortcut {
@@ -66,6 +71,11 @@ ListView {
}
}
+ Shortcut {
+ sequence: "Ctrl+E"
+ onActivated: chat.model.edit = chat.model.reply
+ }
+
Component {
id: sectionHeader
diff --git a/resources/qml/ReplyPopup.qml b/resources/qml/ReplyPopup.qml
index 85b64114..9e97d7aa 100644
--- a/resources/qml/ReplyPopup.qml
+++ b/resources/qml/ReplyPopup.qml
@@ -18,8 +18,8 @@ Rectangle {
Reply {
id: replyPreview
- visible: room && room.reply
+ visible: room && room.reply
anchors.left: parent.left
anchors.leftMargin: 2 * 22 + 3 * 16
anchors.right: closeReplyButton.left
@@ -32,8 +32,8 @@ Rectangle {
ImageButton {
id: closeReplyButton
- visible: room && room.reply
+ visible: room && room.reply
anchors.right: parent.right
anchors.rightMargin: 16
anchors.top: replyPreview.top
@@ -48,8 +48,8 @@ Rectangle {
Button {
id: closeEditButton
- visible: room && room.edit
+ visible: room && room.edit
anchors.left: parent.left
anchors.rightMargin: 16
anchors.topMargin: 10
diff --git a/resources/qml/TimelineRow.qml b/resources/qml/TimelineRow.qml
index d4f058e5..9f054b9b 100644
--- a/resources/qml/TimelineRow.qml
+++ b/resources/qml/TimelineRow.qml
@@ -88,7 +88,7 @@ Item {
ImageButton {
id: editButton
- visible: (Settings.buttonsInTimeline && model.isEditable) || model.isEdited
+ visible: (Settings.buttonsInTimeline && model.isEditable) || model.isEdited
buttonTextColor: chat.model.edit == model.id ? colors.highlight : colors.buttonText
Layout.alignment: Qt.AlignRight | Qt.AlignTop
Layout.preferredHeight: 16
@@ -97,7 +97,11 @@ Item {
image: ":/icons/icons/ui/edit.png"
ToolTip.visible: hovered
ToolTip.text: model.isEditable ? qsTr("Edit") : qsTr("Edited")
- onClicked: if (model.isEditable) chat.model.editAction(model.id)
+ onClicked: {
+ if (model.isEditable)
+ chat.model.editAction(model.id);
+
+ }
}
EmojiButton {
diff --git a/resources/qml/TimelineView.qml b/resources/qml/TimelineView.qml
index c03e8d31..4b3c006a 100644
--- a/resources/qml/TimelineView.qml
+++ b/resources/qml/TimelineView.qml
@@ -92,6 +92,11 @@ Page {
}
MenuItem {
+ text: qsTr("Edit")
+ onClicked: TimelineManager.timeline.editAction(messageContextMenu.eventId)
+ }
+
+ MenuItem {
text: qsTr("Read receipts")
onTriggered: TimelineManager.timeline.readReceiptsAction(messageContextMenu.eventId)
}
|