aboutsummaryrefslogtreecommitdiff
path: root/qml/ComposePane.qml
diff options
context:
space:
mode:
authorMiquel Lionel <lionel@les-miquelots.net>2021-12-20 21:10:36 +0100
committerMiquel Lionel <lionel@les-miquelots.net>2021-12-20 21:28:08 +0100
commit96555dfc65034c46578309f39ae0f754e1acb0f8 (patch)
tree1670bcb917b12c71b8596647067a5f30802ea6f6 /qml/ComposePane.qml
parentb51a3e81dd2178c681226458ca4bb73ae98a5e34 (diff)
downloadkdeltachat-96555dfc65034c46578309f39ae0f754e1acb0f8.tar.gz
kdeltachat-96555dfc65034c46578309f39ae0f754e1acb0f8.zip
Less clicks: focus compose pane on chat selection.
- Also we now use Enter to send chat, and Ctrl/Shift+Enter to add newlines. Updated the F1 help accordingly. - there was no way to refresh the message list until you clicked on the chat again, so I moved updateMessagelist() to trigger on every incoming message. We have working block mechanisms now, so it shouldn't be that much of a bother if someone spams you. - To speed up the delay between the UI displaying the message has waiting to be sent, upon sending a message, the startIo() function is now triggered.
Diffstat (limited to 'qml/ComposePane.qml')
-rw-r--r--qml/ComposePane.qml33
1 files changed, 19 insertions, 14 deletions
diff --git a/qml/ComposePane.qml b/qml/ComposePane.qml
index 254e484..14bfb36 100644
--- a/qml/ComposePane.qml
+++ b/qml/ComposePane.qml
@@ -82,6 +82,20 @@ Pane {
placeholderText: qsTr("Message")
wrapMode: TextArea.Wrap
selectByMouse: true
+ Keys.onReturnPressed: {
+ if (event.key === Qt.Key_Return) {
+ if (event.modifiers & (Qt.ControlModifier | Qt.ShiftModifier)){
+ messageField.append("");
+ } else {
+ if(sendButton.enabled){
+ sendButton.clicked();
+ dcAccounts.startIo();
+ event.accepted = true;
+ }
+ }
+ }
+ }
+
Component.onCompleted: {
let draft = root.context.getDraft(chatId);
if (draft)
@@ -118,22 +132,9 @@ Pane {
Button {
id: sendButton
- action: Kirigami.Action {
- checked: false
- shortcut: "Ctrl+S"
- onTriggered:{
- if (sendButton.enabled) {
- root.focus = true;
- sendButton.focus = true;
- sendButton.down = true;
- sendButton.clicked();
- sendButton.down = false;
- }
- }
- }
hoverEnabled: true
ToolTip.visible: hovered
- ToolTip.text: "Ctrl+S"
+ ToolTip.text: "Press Enter"
visible: root.canSend
Layout.alignment: Qt.AlignBottom
icon.name: "document-send"
@@ -145,6 +146,7 @@ Pane {
attachFileUrl = "";
messageField.text = "";
root.context.setDraft(chatId, null);
+ messageField.forceActiveFocus();
}
}
@@ -192,4 +194,7 @@ Pane {
}
}
+ Component.onCompleted : {
+ messageField.forceActiveFocus();
+ }
}