184 lines
6.2 KiB
QML
184 lines
6.2 KiB
QML
// Copyright (C) 2017 The Qt Company Ltd.
|
|
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause
|
|
|
|
import QtQuick
|
|
import QtQuick.Layouts
|
|
import QtQuick.Controls
|
|
|
|
ScrollablePage {
|
|
id: page
|
|
|
|
readonly property int buttonWidth: Math.max(button.implicitWidth, Math.min(button.implicitWidth * 2, page.availableWidth / 3))
|
|
|
|
Column {
|
|
spacing: 40
|
|
width: parent.width
|
|
|
|
Label {
|
|
width: parent.width
|
|
wrapMode: Label.Wrap
|
|
horizontalAlignment: Qt.AlignHCenter
|
|
text: qsTr("Dialog is a popup that is mostly used for short-term tasks "
|
|
+ "and brief communications with the user.")
|
|
}
|
|
|
|
Button {
|
|
text: qsTr("Message")
|
|
anchors.horizontalCenter: parent.horizontalCenter
|
|
width: page.buttonWidth
|
|
onClicked: messageDialog.open()
|
|
|
|
Dialog {
|
|
id: messageDialog
|
|
enabled: !GalleryConfig.disabled
|
|
|
|
x: (parent.width - width) / 2
|
|
y: (parent.height - height) / 2
|
|
|
|
title: qsTr("Message")
|
|
|
|
Label {
|
|
text: qsTr("Lorem ipsum dolor sit amet...")
|
|
}
|
|
}
|
|
}
|
|
|
|
Button {
|
|
id: button
|
|
text: qsTr("Confirmation")
|
|
anchors.horizontalCenter: parent.horizontalCenter
|
|
width: page.buttonWidth
|
|
onClicked: confirmationDialog.open()
|
|
|
|
Dialog {
|
|
id: confirmationDialog
|
|
enabled: !GalleryConfig.disabled
|
|
|
|
x: (parent.width - width) / 2
|
|
y: (parent.height - height) / 2
|
|
parent: Overlay.overlay
|
|
|
|
modal: true
|
|
title: qsTr("Confirmation")
|
|
standardButtons: Dialog.Yes | Dialog.No
|
|
|
|
Column {
|
|
spacing: 20
|
|
anchors.fill: parent
|
|
Label {
|
|
text: qsTr("The document has been modified.\nDo you want to save your changes?")
|
|
}
|
|
CheckBox {
|
|
text: qsTr("Do not ask again")
|
|
anchors.right: parent.right
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
Button {
|
|
text: qsTr("Content")
|
|
anchors.horizontalCenter: parent.horizontalCenter
|
|
width: page.buttonWidth
|
|
onClicked: contentDialog.open()
|
|
|
|
Dialog {
|
|
id: contentDialog
|
|
enabled: !GalleryConfig.disabled
|
|
|
|
x: (parent.width - width) / 2
|
|
y: (parent.height - height) / 2
|
|
width: Math.min(page.width, page.height) / 3 * 2
|
|
contentHeight: logo.height * 2
|
|
parent: Overlay.overlay
|
|
|
|
modal: true
|
|
title: qsTr("Content")
|
|
standardButtons: Dialog.Close
|
|
|
|
Flickable {
|
|
id: flickable
|
|
clip: true
|
|
anchors.fill: parent
|
|
contentHeight: column.height
|
|
|
|
Column {
|
|
id: column
|
|
spacing: 20
|
|
width: parent.width
|
|
|
|
Image {
|
|
id: logo
|
|
width: parent.width / 2
|
|
anchors.horizontalCenter: parent.horizontalCenter
|
|
fillMode: Image.PreserveAspectFit
|
|
source: "../images/qt-logo.png"
|
|
}
|
|
|
|
Label {
|
|
width: parent.width
|
|
text: qsTr("Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nunc finibus "
|
|
+ "in est quis laoreet. Interdum et malesuada fames ac ante ipsum primis "
|
|
+ "in faucibus. Curabitur eget justo sollicitudin enim faucibus bibendum. "
|
|
+ "Suspendisse potenti. Vestibulum cursus consequat mauris id sollicitudin. "
|
|
+ "Duis facilisis hendrerit consectetur. Curabitur sapien tortor, efficitur "
|
|
+ "id auctor nec, efficitur et nisl. Ut venenatis eros in nunc placerat, "
|
|
+ "eu aliquam enim suscipit.")
|
|
wrapMode: Label.Wrap
|
|
}
|
|
}
|
|
|
|
ScrollIndicator.vertical: ScrollIndicator {
|
|
parent: contentDialog.contentItem
|
|
anchors.top: flickable.top
|
|
anchors.bottom: flickable.bottom
|
|
anchors.right: parent.right
|
|
anchors.rightMargin: -contentDialog.rightPadding + 1
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
Button {
|
|
text: qsTr("Input")
|
|
anchors.horizontalCenter: parent.horizontalCenter
|
|
width: page.buttonWidth
|
|
onClicked: inputDialog.open()
|
|
|
|
Dialog {
|
|
id: inputDialog
|
|
enabled: !GalleryConfig.disabled
|
|
|
|
x: (parent.width - width) / 2
|
|
y: (parent.height - height) / 2
|
|
parent: Overlay.overlay
|
|
|
|
focus: true
|
|
modal: true
|
|
title: qsTr("Input")
|
|
standardButtons: Dialog.Ok | Dialog.Cancel
|
|
|
|
ColumnLayout {
|
|
spacing: 20
|
|
anchors.fill: parent
|
|
Label {
|
|
elide: Label.ElideRight
|
|
text: qsTr("Please enter the credentials:")
|
|
Layout.fillWidth: true
|
|
}
|
|
TextField {
|
|
focus: true
|
|
placeholderText: qsTr("Username")
|
|
Layout.fillWidth: true
|
|
}
|
|
TextField {
|
|
placeholderText: qsTr("Password")
|
|
echoMode: TextField.PasswordEchoOnEdit
|
|
Layout.fillWidth: true
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|