From f0fd03093a7a3cf0dac9a65aade9cafae7a3964f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EA=A6=8C=EA=A6=AB=EA=A6=B6=EA=A6=8F=EA=A7=80=EA=A6=A6?= =?UTF-8?q?=EA=A6=BF=EA=A6=A7=EA=A6=AE=EA=A6=91=EA=A6=A9=EA=A6=AD=EA=A7=80?= Date: Mon, 8 May 2023 19:51:45 +0800 Subject: Message sender footer & dummy chat list --- ChatGroup.ui.qml | 97 +++++++++++++++++++++++++++++++++++++++++++++++++------- 1 file changed, 85 insertions(+), 12 deletions(-) diff --git a/ChatGroup.ui.qml b/ChatGroup.ui.qml index ab42d88..4b14124 100644 --- a/ChatGroup.ui.qml +++ b/ChatGroup.ui.qml @@ -1,27 +1,100 @@ import QtQuick 2.15 import QtQuick.Controls 2.15 import QtQuick.Layouts 1.15 +import QtGraphicalEffects 1.15 import Bootstrap 5.3 -Flickable { +Page { property string titleText: qsTr("Bootstrap Community") - contentHeight: container.height - ColumnLayout { - id: container + header: ToolBar { + Label { + text: titleText + Bootstrap.heading: 5 + anchors.centerIn: parent + } + } + + ListView { + id: list anchors { - top: parent.top - left: parent.left + fill: parent leftMargin: 20 - right: parent.right rightMargin: 20 } + model: [ 11, 1, 6, 1, 11, 1, 7, 1, 11, 1] + delegate: Item { + implicitWidth: list.width + implicitHeight: column.height - Label { - text: titleText - Bootstrap.heading: 5 - Layout.topMargin: 12 - Layout.bottomMargin: 12 + ColumnLayout { + id: column + width: parent.width + layoutDirection: modelData === 1 + ? Qt.RightToLeft : Qt.LeftToRight + anchors { + left: modelData === 1 + ? parent.left : undefined + right: modelData !== 1 + ? parent.right : undefined + bottom: parent.bottom + } + + Label { + text: qsTr("Hey, Marshall! How are you? Can you please change the color theme of the website to pink and purple? 😂") + wrapMode: Label.Wrap + Layout.fillWidth: true + } + + Label { + text: qsTr("08:45 PM") + } + } + + Image { + anchors { + left: modelData !== 1 + ? parent.left : undefined + right: modelData === 1 + ? parent.right : undefined + bottom: parent.bottom + } + source: "https://offsetcode.com/themes/messenger/2.2.0/assets/img/avatars/" + + modelData + ".jpg" + sourceSize { + width: 26 + height: 26 + } + layer { + enabled: true + effect: OpacityMask { + maskSource: Rectangle { + width: 26 + height: 26 + radius: 13 + } + } + } + } + } + } + + footer: Pane { + RowLayout { + width: parent.width + + TextArea { + id: messageField + Layout.fillWidth: true + placeholderText: qsTr("Type your message...") + wrapMode: TextArea.Wrap + } + + Button { + id: sendButton + text: qsTr("Send") + enabled: messageField.length > 0 + } } } } -- cgit v1.2.3