moment/src/gui/Pages/Chat/Composer/Composer.qml

66 lines
1.9 KiB
QML
Raw Normal View History

// Copyright Mirage authors & contributors <https://github.com/mirukana/mirage>
// SPDX-License-Identifier: LGPL-3.0-or-later
import QtQuick 2.12
import QtQuick.Layouts 1.12
import "../../.."
import "../../../Base"
import "../AutoCompletion"
Rectangle {
id: composer
property UserAutoCompletion userCompletion
property alias eventList: messageArea.eventList
readonly property bool hasFocus: messageArea.activeFocus
readonly property alias messageArea: messageArea
function takeFocus() { messageArea.forceActiveFocus() }
implicitHeight: Math.max(theme.baseElementsHeight, row.implicitHeight)
color: theme.chat.composer.background
HRowLayout {
id: row
anchors.fill: parent
HUserAvatar {
id: avatar
readonly property QtObject writerInfo:
ModelStore.get("accounts").find(clientUserId)
2020-08-20 12:21:47 -04:00
clientUserId: messageArea.writerId
userId: clientUserId
mxc: writerInfo ? writerInfo.avatar_url : ""
displayName: writerInfo ? writerInfo.display_name : ""
radius: 0
}
2020-08-20 12:21:47 -04:00
HScrollView {
Layout.fillHeight: true
Layout.fillWidth: true
2020-08-20 12:21:47 -04:00
MessageArea {
id: messageArea
autoCompletionOpen: userCompletion.open && userCompletion.count
usersCompleted: userCompletion.usersCompleted
2020-08-20 12:21:47 -04:00
onAutoCompletePrevious: userCompletion.previous()
onAutoCompleteNext: userCompletion.next()
onCancelAutoCompletion: userCompletion.cancel()
onAcceptAutoCompletion:
! userCompletion.autoOpen ||
userCompletion.autoOpenCompleted ?
userCompletion.accept() :
null
2020-08-20 12:21:47 -04:00
}
}
UploadButton {
Layout.fillHeight: true
}
}
}