fix(CommunityIntroDialog): Improved layout resizing
Improved layout resizing.
This commit is contained in:
parent
37c88cbaac
commit
3fcf6518d2
|
@ -23,6 +23,26 @@ StatusDialog {
|
||||||
signal joined
|
signal joined
|
||||||
signal cancelMembershipRequest
|
signal cancelMembershipRequest
|
||||||
|
|
||||||
|
QtObject {
|
||||||
|
id: d
|
||||||
|
|
||||||
|
readonly property int maxWidth: 640
|
||||||
|
readonly property int minWidth: 300
|
||||||
|
readonly property int maxHeight: 640
|
||||||
|
|
||||||
|
function getHorizontalPaddings() {
|
||||||
|
return root.leftPadding + root.rightPadding
|
||||||
|
}
|
||||||
|
|
||||||
|
function getVerticalPaddings() {
|
||||||
|
return root.topPadding + root.bottomPadding
|
||||||
|
}
|
||||||
|
|
||||||
|
function getMaxMinWidth() {
|
||||||
|
return Math.max(introText.implicitWidth, d.minWidth - d.getHorizontalPaddings())
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
title: qsTr("Welcome to %1").arg(name)
|
title: qsTr("Welcome to %1").arg(name)
|
||||||
|
|
||||||
footer: StatusDialogFooter {
|
footer: StatusDialogFooter {
|
||||||
|
@ -35,12 +55,11 @@ StatusDialog {
|
||||||
type: root.isInvitationPending ? StatusBaseButton.Type.Danger
|
type: root.isInvitationPending ? StatusBaseButton.Type.Danger
|
||||||
: StatusBaseButton.Type.Normal
|
: StatusBaseButton.Type.Normal
|
||||||
enabled: checkBox.checked || root.isInvitationPending
|
enabled: checkBox.checked || root.isInvitationPending
|
||||||
|
|
||||||
onClicked: {
|
onClicked: {
|
||||||
if (root.isInvitationPending) {
|
if (root.isInvitationPending) {
|
||||||
root.cancelMembershipRequest()
|
root.cancelMembershipRequest()
|
||||||
} else {
|
} else {
|
||||||
root.joined()
|
root.joined()
|
||||||
}
|
}
|
||||||
|
|
||||||
root.close()
|
root.close()
|
||||||
|
@ -49,44 +68,47 @@ StatusDialog {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
ColumnLayout {
|
implicitWidth: Math.min(d.getMaxMinWidth(), d.maxWidth - d.getHorizontalPaddings())
|
||||||
|
implicitHeight: Math.min(columnContent.height + footer.height + header.height + d.getVerticalPaddings(), d.maxHeight)
|
||||||
|
|
||||||
|
StatusScrollView {
|
||||||
anchors.fill: parent
|
anchors.fill: parent
|
||||||
|
contentHeight: columnContent.height
|
||||||
|
contentWidth: columnContent.width
|
||||||
|
padding: 0
|
||||||
|
|
||||||
spacing: 24
|
ColumnLayout {
|
||||||
|
id: columnContent
|
||||||
|
|
||||||
StatusRoundedImage {
|
spacing: 24
|
||||||
Layout.alignment: Qt.AlignCenter
|
width: Math.max(root.width - d.getHorizontalPaddings(), d.minWidth - d.getHorizontalPaddings())
|
||||||
Layout.preferredHeight: 64
|
|
||||||
Layout.preferredWidth: 64
|
|
||||||
|
|
||||||
visible: image.status == Image.Loading || image.status == Image.Ready
|
StatusRoundedImage {
|
||||||
image.source: root.imageSrc
|
id: roundImage
|
||||||
}
|
|
||||||
|
|
||||||
StatusScrollView {
|
Layout.alignment: Qt.AlignCenter
|
||||||
Layout.minimumWidth: 300
|
Layout.preferredHeight: 64
|
||||||
Layout.preferredWidth: contentWidth + 2 * padding
|
Layout.preferredWidth: Layout.preferredHeight
|
||||||
|
visible: image.status == Image.Loading || image.status == Image.Ready
|
||||||
Layout.fillHeight: true
|
image.source: root.imageSrc
|
||||||
Layout.preferredHeight: contentHeight + 2 * padding
|
}
|
||||||
Layout.maximumHeight: 400
|
|
||||||
|
|
||||||
StatusBaseText {
|
StatusBaseText {
|
||||||
id: messageContent
|
id: introText
|
||||||
|
|
||||||
width: Math.min(implicitWidth, 640)
|
|
||||||
|
|
||||||
|
Layout.fillWidth: true
|
||||||
text: root.introMessage !== "" ? root.introMessage : qsTr("Community <b>%1</b> has no intro message...").arg(root.name)
|
text: root.introMessage !== "" ? root.introMessage : qsTr("Community <b>%1</b> has no intro message...").arg(root.name)
|
||||||
color: Theme.palette.directColor1
|
color: Theme.palette.directColor1
|
||||||
wrapMode: Text.WordWrap
|
wrapMode: Text.WordWrap
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
StatusCheckBox {
|
StatusCheckBox {
|
||||||
id: checkBox
|
id: checkBox
|
||||||
Layout.alignment: Qt.AlignCenter
|
|
||||||
visible: !root.isInvitationPending
|
Layout.alignment: Qt.AlignCenter
|
||||||
text: qsTr("I agree with the above")
|
visible: !root.isInvitationPending
|
||||||
|
text: qsTr("I agree with the above")
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue