moment/harmonyqml/SendBox.qml
miruka cccc43a9ae Reorganize sidePane, accounts and rooms
- Accordion design for accounts and rooms (not finished)
- Toolbar and account/room lists reduce correctly, buttons become
  hamburger menu if not enough width
- Can set status using the "Set status message" account fields
- Uniformized avatar sizes for sidePane, roomHeader and SendBox
2019-03-26 03:19:55 -04:00

63 lines
1.8 KiB
QML

import QtQuick 2.7
import QtQuick.Controls 2.2
import QtQuick.Layouts 1.4
Rectangle {
function setFocus() { textArea.forceActiveFocus() }
id: "root"
Layout.fillWidth: true
Layout.minimumHeight: 32
Layout.preferredHeight: textArea.implicitHeight
// parent.height / 2 causes binding loop?
Layout.maximumHeight: pageStack.height / 2
color: "#BBB"
RowLayout {
anchors.fill: parent
spacing: 0
Avatar {
id: "avatar"
username: chatPage.user.display_name
dimmension: root.Layout.minimumHeight
//visible: textArea.text === ""
visible: textArea.height <= root.Layout.minimumHeight
}
ScrollView {
Layout.fillHeight: true
Layout.fillWidth: true
id: sendBoxScrollView
clip: true
TextArea {
id: textArea
placeholderText: qsTr("Type a message...")
wrapMode: TextEdit.Wrap
selectByMouse: true
font.family: "Roboto"
font.pixelSize: 16
focus: true
Keys.onReturnPressed: {
event.accepted = true
if (event.modifiers & Qt.ShiftModifier ||
event.modifiers & Qt.ControlModifier ||
event.modifiers & Qt.AltModifier) {
textArea.insert(textArea.cursorPosition, "\n")
return
}
Backend.sendMessage(chatPage.user.user_id,
chatPage.room.room_id,
textArea.text)
textArea.clear()
}
Keys.onEnterPressed: Keys.onReturnPressed(event) // numpad enter
}
}
}
}