78 lines
1.9 KiB
QML
78 lines
1.9 KiB
QML
import QtQuick 2.14
|
|
import QtQuick.Controls 2.14
|
|
import QtQuick.Layouts 1.1
|
|
import QtQml.Models 2.14
|
|
|
|
import utils 1.0
|
|
|
|
import StatusQ.Core 0.1
|
|
import StatusQ.Core.Theme 0.1
|
|
import StatusQ.Controls 0.1
|
|
import StatusQ.Components 0.1
|
|
import StatusQ.Popups.Dialog 0.1
|
|
|
|
StatusDialog {
|
|
id: root
|
|
|
|
property string name
|
|
property string introMessage
|
|
property int accessType
|
|
property url imageSrc
|
|
|
|
signal joined
|
|
|
|
title: qsTr("Welcome to %1").arg(name)
|
|
|
|
footer: StatusDialogFooter {
|
|
rightButtons: ObjectModel {
|
|
StatusButton {
|
|
text: root.accessType === Constants.communityChatOnRequestAccess
|
|
? qsTr("Request to join %1").arg(root.name)
|
|
: qsTr("Join %1").arg(root.name)
|
|
enabled: checkBox.checked
|
|
onClicked: {
|
|
root.joined()
|
|
root.close()
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
ColumnLayout {
|
|
anchors.fill: parent
|
|
|
|
spacing: 24
|
|
|
|
StatusRoundedImage {
|
|
Layout.alignment: Qt.AlignCenter
|
|
Layout.preferredHeight: 64
|
|
Layout.preferredWidth: 64
|
|
|
|
visible: image.status == Image.Loading || image.status == Image.Ready
|
|
image.source: root.imageSrc
|
|
}
|
|
|
|
StatusScrollView {
|
|
Layout.minimumWidth: 300
|
|
Layout.preferredWidth: contentWidth
|
|
Layout.fillHeight: true
|
|
|
|
StatusBaseText {
|
|
id: messageContent
|
|
|
|
width: Math.min(implicitWidth, 640)
|
|
|
|
text: root.introMessage !== "" ? root.introMessage : qsTr("Community <b>%1</b> has no intro message...").arg(root.name)
|
|
color: Theme.palette.directColor1
|
|
wrapMode: Text.WordWrap
|
|
}
|
|
}
|
|
|
|
StatusCheckBox {
|
|
id: checkBox
|
|
Layout.alignment: Qt.AlignCenter
|
|
text: qsTr("I agree with the above")
|
|
}
|
|
}
|
|
}
|