mirror of
https://github.com/Nheko-Reborn/nheko.git
synced 2024-11-26 13:08:48 +03:00
Add edit shortcuts and fix some focus stuff
This commit is contained in:
parent
9b7d33e847
commit
6e2ae1d812
5 changed files with 30 additions and 7 deletions
|
@ -139,6 +139,7 @@ Rectangle {
|
||||||
if (TimelineManager.timeline)
|
if (TimelineManager.timeline)
|
||||||
TimelineManager.timeline.input.updateState(selectionStart, selectionEnd, cursorPosition, text);
|
TimelineManager.timeline.input.updateState(selectionStart, selectionEnd, cursorPosition, text);
|
||||||
|
|
||||||
|
forceActiveFocus();
|
||||||
}
|
}
|
||||||
onCursorRectangleChanged: textInput.ensureVisible(cursorRectangle)
|
onCursorRectangleChanged: textInput.ensureVisible(cursorRectangle)
|
||||||
onCursorPositionChanged: {
|
onCursorPositionChanged: {
|
||||||
|
@ -260,7 +261,9 @@ Rectangle {
|
||||||
|
|
||||||
Connections {
|
Connections {
|
||||||
ignoreUnknownSignals: true
|
ignoreUnknownSignals: true
|
||||||
onInsertText: messageInput.insert(messageInput.cursorPosition, text)
|
onInsertText: {
|
||||||
|
messageInput.insert(messageInput.cursorPosition, text);
|
||||||
|
}
|
||||||
onTextChanged: {
|
onTextChanged: {
|
||||||
messageInput.text = newText;
|
messageInput.text = newText;
|
||||||
messageInput.cursorPosition = newText.length;
|
messageInput.cursorPosition = newText.length;
|
||||||
|
@ -271,6 +274,7 @@ Rectangle {
|
||||||
Connections {
|
Connections {
|
||||||
ignoreUnknownSignals: true
|
ignoreUnknownSignals: true
|
||||||
onReplyChanged: messageInput.forceActiveFocus()
|
onReplyChanged: messageInput.forceActiveFocus()
|
||||||
|
onEditChanged: messageInput.forceActiveFocus()
|
||||||
target: TimelineManager.timeline
|
target: TimelineManager.timeline
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -50,7 +50,12 @@ ListView {
|
||||||
|
|
||||||
Shortcut {
|
Shortcut {
|
||||||
sequence: StandardKey.Cancel
|
sequence: StandardKey.Cancel
|
||||||
onActivated: chat.model.reply = undefined
|
onActivated: {
|
||||||
|
if (chat.model.edit)
|
||||||
|
chat.model.edit = undefined;
|
||||||
|
else
|
||||||
|
chat.model.reply = undefined;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
Shortcut {
|
Shortcut {
|
||||||
|
@ -66,6 +71,11 @@ ListView {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Shortcut {
|
||||||
|
sequence: "Ctrl+E"
|
||||||
|
onActivated: chat.model.edit = chat.model.reply
|
||||||
|
}
|
||||||
|
|
||||||
Component {
|
Component {
|
||||||
id: sectionHeader
|
id: sectionHeader
|
||||||
|
|
||||||
|
|
|
@ -18,8 +18,8 @@ Rectangle {
|
||||||
|
|
||||||
Reply {
|
Reply {
|
||||||
id: replyPreview
|
id: replyPreview
|
||||||
visible: room && room.reply
|
|
||||||
|
|
||||||
|
visible: room && room.reply
|
||||||
anchors.left: parent.left
|
anchors.left: parent.left
|
||||||
anchors.leftMargin: 2 * 22 + 3 * 16
|
anchors.leftMargin: 2 * 22 + 3 * 16
|
||||||
anchors.right: closeReplyButton.left
|
anchors.right: closeReplyButton.left
|
||||||
|
@ -32,8 +32,8 @@ Rectangle {
|
||||||
|
|
||||||
ImageButton {
|
ImageButton {
|
||||||
id: closeReplyButton
|
id: closeReplyButton
|
||||||
visible: room && room.reply
|
|
||||||
|
|
||||||
|
visible: room && room.reply
|
||||||
anchors.right: parent.right
|
anchors.right: parent.right
|
||||||
anchors.rightMargin: 16
|
anchors.rightMargin: 16
|
||||||
anchors.top: replyPreview.top
|
anchors.top: replyPreview.top
|
||||||
|
@ -48,8 +48,8 @@ Rectangle {
|
||||||
|
|
||||||
Button {
|
Button {
|
||||||
id: closeEditButton
|
id: closeEditButton
|
||||||
visible: room && room.edit
|
|
||||||
|
|
||||||
|
visible: room && room.edit
|
||||||
anchors.left: parent.left
|
anchors.left: parent.left
|
||||||
anchors.rightMargin: 16
|
anchors.rightMargin: 16
|
||||||
anchors.topMargin: 10
|
anchors.topMargin: 10
|
||||||
|
|
|
@ -97,7 +97,11 @@ Item {
|
||||||
image: ":/icons/icons/ui/edit.png"
|
image: ":/icons/icons/ui/edit.png"
|
||||||
ToolTip.visible: hovered
|
ToolTip.visible: hovered
|
||||||
ToolTip.text: model.isEditable ? qsTr("Edit") : qsTr("Edited")
|
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 {
|
EmojiButton {
|
||||||
|
|
|
@ -91,6 +91,11 @@ Page {
|
||||||
onClicked: TimelineManager.timeline.replyAction(messageContextMenu.eventId)
|
onClicked: TimelineManager.timeline.replyAction(messageContextMenu.eventId)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
MenuItem {
|
||||||
|
text: qsTr("Edit")
|
||||||
|
onClicked: TimelineManager.timeline.editAction(messageContextMenu.eventId)
|
||||||
|
}
|
||||||
|
|
||||||
MenuItem {
|
MenuItem {
|
||||||
text: qsTr("Read receipts")
|
text: qsTr("Read receipts")
|
||||||
onTriggered: TimelineManager.timeline.readReceiptsAction(messageContextMenu.eventId)
|
onTriggered: TimelineManager.timeline.readReceiptsAction(messageContextMenu.eventId)
|
||||||
|
|
Loading…
Reference in a new issue