status-desktop/ui/app/AppLayouts/Chat/ChatColumn/ChatInput.qml

77 lines
2.1 KiB
QML
Raw Normal View History

2020-06-17 19:18:31 +00:00
import QtQuick 2.13
import QtQuick.Controls 2.13
import QtQuick.Layouts 1.13
import QtMultimedia 5.13
import "../components"
2020-05-27 23:06:41 +00:00
import "../../../../shared"
import "../../../../imports"
Rectangle {
border.width: 0
visible: chatsModel.activeChannel.chatType != Constants.chatTypePrivateGroupChat || chatsModel.activeChannel.isMember(profileModel.profile.pubKey)
Audio {
id: sendMessageSound
source: "../../../../sounds/send_message.wav"
}
function onEnter(event){
2020-06-26 03:07:34 +00:00
if (event.modifiers == Qt.NoModifier && (event.key == Qt.Key_Enter || event.key == Qt.Key_Return)) {
if(txtData.text.trim().length > 0){
chatsModel.sendMessage(txtData.text.trim());
txtData.text = "";
2020-06-26 03:07:34 +00:00
event.accepted = true;
sendMessageSound.stop()
Qt.callLater(sendMessageSound.play);
}
}
}
RowLayout {
spacing: 0
2020-05-27 23:06:41 +00:00
anchors.fill: parent
ScrollView {
anchors.fill: parent
Layout.fillWidth: true
Layout.fillHeight: true
StyledTArea {
Layout.fillWidth: true
Layout.fillHeight: true
textFormat: TextArea.PlainText
Layout.preferredWidth: parent.width - sendBtns.width
id: txtData
text: ""
selectByMouse: true
topPadding: Theme.padding
leftPadding: 12
rightPadding: Theme.padding
font.pixelSize: 14
placeholderText: qsTr("Type a message...")
2020-06-26 03:07:34 +00:00
Keys.onPressed: onEnter(event)
background: Rectangle {
color: "#00000000"
}
2020-05-27 23:06:41 +00:00
}
}
ChatButtons {
id: sendBtns
Layout.topMargin: 1
Layout.fillHeight: true
Layout.preferredWidth: 30 + Theme.padding
Layout.minimumWidth: 30 + Theme.padding
Layout.maximumWidth: 200
}
}
}
/*##^##
Designer {
D{i:0;autoSize:true;formeditorColor:"#ffffff";height:100;width:600}
}
##^##*/