diff options
author | Nicolas Werner <nicolas.werner@hotmail.de> | 2020-10-31 23:24:07 +0100 |
---|---|---|
committer | Nicolas Werner <nicolas.werner@hotmail.de> | 2020-11-25 19:05:11 +0100 |
commit | 7a74b863402e5f67ce7fd0a99ab3ad64b7296344 (patch) | |
tree | e930fa3ee7d43a835d014e70929656b84125672a /resources/qml | |
parent | Disable scroll helper on mobile (diff) | |
download | nheko-7a74b863402e5f67ce7fd0a99ab3ad64b7296344.tar.xz |
Pasteable textinput
Diffstat (limited to 'resources/qml')
-rw-r--r-- | resources/qml/MessageInput.qml | 24 | ||||
-rw-r--r-- | resources/qml/TimelineView.qml | 4 |
2 files changed, 25 insertions, 3 deletions
diff --git a/resources/qml/MessageInput.qml b/resources/qml/MessageInput.qml index 71da9cae..3b424bb3 100644 --- a/resources/qml/MessageInput.qml +++ b/resources/qml/MessageInput.qml @@ -3,6 +3,8 @@ import QtQuick.Controls 2.3 import QtQuick.Layouts 1.2 import QtQuick.Window 2.2 +import im.nheko 1.0 + Rectangle { color: colors.window Layout.fillWidth: true @@ -44,16 +46,36 @@ Rectangle { Layout.fillWidth: true TextArea { + id: textArea + placeholderText: qsTr("Write a message...") placeholderTextColor: colors.buttonText color: colors.text wrapMode: TextEdit.Wrap + onTextChanged: TimelineManager.timeline.input.updateState(selectionStart, selectionEnd, cursorPosition, text) + onCursorPositionChanged: TimelineManager.timeline.input.updateState(selectionStart, selectionEnd, cursorPosition, text) + onSelectionStartChanged: TimelineManager.timeline.input.updateState(selectionStart, selectionEnd, cursorPosition, text) + onSelectionEndChanged: TimelineManager.timeline.input.updateState(selectionStart, selectionEnd, cursorPosition, text) + + Keys.onPressed: { + if (event.matches(StandardKey.Paste)) { + TimelineManager.timeline.input.paste(false) || textArea.paste() + event.accepted = true + } + else if (event.matches(StandardKey.InsertParagraphSeparator)) { + TimelineManager.timeline.input.send() + textArea.clear() + event.accepted = true + } + } + MouseArea { // workaround for wrong cursor shape on some platforms anchors.fill: parent - acceptedButtons: Qt.NoButton + acceptedButtons: Qt.MiddleButton cursorShape: Qt.IBeamCursor + onClicked: TimelineManager.timeline.input.paste(true) || textArea.paste() } background: Rectangle { diff --git a/resources/qml/TimelineView.qml b/resources/qml/TimelineView.qml index 95143b18..d85167af 100644 --- a/resources/qml/TimelineView.qml +++ b/resources/qml/TimelineView.qml @@ -234,8 +234,8 @@ Page { ReplyPopup { } - //MessageInput { - //} + MessageInput { + } } |