Warning, /plasma/plasma-workspace/components/dialogs/examples/test.qml is written in an unsupported language. File is not indexed.
0001 /*
0002 * SPDX-FileCopyrightText: 2021 Devin Lin <espidev@gmail.com>
0003 *
0004 * SPDX-License-Identifier: LGPL-2.0-or-later
0005 */
0006
0007 import QtQuick 2.15
0008 import QtQuick.Controls 2.15
0009 import QtQuick.Layouts 1.15
0010 import QtQuick.Window 2.15
0011 import Qt5Compat.GraphicalEffects
0012 import org.kde.kirigami 2.19 as Kirigami
0013 import org.kde.kirigamiaddons.components 1.0 as KirigamiComponents
0014 import org.kde.plasma.workspace.dialogs 1.0
0015
0016 Kirigami.AbstractApplicationWindow {
0017 id: root
0018
0019 width: 600
0020 height: 600
0021
0022 SystemDialog {
0023 id: simple
0024 mainText: "Reset Data"
0025 subtitle: "This will reset all of your data."
0026 iconName: "documentinfo"
0027
0028 standardButtons: DialogButtonBox.Ok | DialogButtonBox.Cancel
0029 }
0030
0031 SystemDialog {
0032 id: simpleList
0033 mainText: "Reset Data"
0034 subtitle: "This will reset all of your data."
0035 iconName: "documentinfo"
0036
0037 ListView {
0038 Layout.fillWidth: true
0039 implicitHeight: 300
0040
0041 model: ListModel {
0042 ListElement {
0043 display: "banana"
0044 }
0045 ListElement {
0046 display: "banana1"
0047 }
0048 ListElement {
0049 display: "banana2"
0050 }
0051 ListElement {
0052 display: "banana3"
0053 }
0054 }
0055 delegate: ItemDelegate {
0056 icon.name: "kate"
0057 text: display
0058 checkable: true
0059 }
0060 }
0061
0062 standardButtons: DialogButtonBox.Ok | DialogButtonBox.Cancel
0063 }
0064
0065 SystemDialog {
0066 id: desktopPolkit
0067 mainText: "Authentication Required"
0068 subtitle: "Authentication is needed to run `/usr/bin/ls` as the super user."
0069 iconName: "im-user-online"
0070
0071 Kirigami.PasswordField {}
0072
0073 standardButtons: DialogButtonBox.Ok | DialogButtonBox.Cancel
0074 actions: [
0075 Kirigami.Action {
0076 text: "Details"
0077 icon.name: "documentinfo"
0078 onTriggered: desktopPolkit.close()
0079 }
0080 ]
0081 }
0082
0083 SystemDialog {
0084 id: xdgDialog
0085 mainText: "Wallet access"
0086 subtitle: "Share your wallet with 'Somebody'."
0087 iconName: "kwallet"
0088 acceptable: false
0089
0090 standardButtons: DialogButtonBox.Ok | DialogButtonBox.Cancel
0091 Component.onCompleted: {
0092 dialogButtonBox.standardButton(DialogButtonBox.Ok).text = "Share"
0093 }
0094 actions: [
0095 Kirigami.Action {
0096 text: "Something Happens"
0097 icon.name: "documentinfo"
0098 onTriggered: xdgDialog.acceptable = true
0099 }
0100 ]
0101 }
0102
0103 SystemDialog {
0104 id: appchooser
0105 title: "Open with..."
0106 iconName: "applications-all"
0107 ColumnLayout {
0108 Text {
0109 text: "height: " + parent.height + " / " + xdgDialog.height
0110 }
0111
0112 Label {
0113 Layout.fillWidth: true
0114 horizontalAlignment: Text.AlignHCenter
0115 elide: Text.ElideRight
0116 maximumLineCount: 3
0117
0118 text: "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Mauris at viverra mi. Maecenas volutpat et nisi ac scelerisque. Mauris pulvinar blandit dapibus. Nulla facilisi. Donec congue imperdiet maximus. Aliquam gravida velit sed mattis convallis. Nam id nisi egestas nibh ultrices varius quis at sapien."
0119 wrapMode: Text.WordWrap
0120
0121 onLinkActivated: {
0122 AppChooserData.openDiscover()
0123 }
0124 }
0125
0126 Frame {
0127 id: viewBackground
0128 Layout.fillWidth: true
0129 Layout.fillHeight: true
0130 Kirigami.Theme.inherit: false
0131 Kirigami.Theme.colorSet: Kirigami.Theme.View
0132 background: Rectangle {
0133 color: Kirigami.Theme.backgroundColor
0134 property color borderColor: Kirigami.Theme.textColor
0135 border.color: Qt.rgba(borderColor.r, borderColor.g, borderColor.b, 0.3)
0136 }
0137
0138 ScrollView {
0139 anchors.fill: parent
0140 implicitHeight: grid.cellHeight * 3
0141
0142 GridView {
0143 id: grid
0144
0145 cellHeight: Kirigami.Units.iconSizes.huge + 50
0146 cellWidth: Kirigami.Units.iconSizes.huge + 80
0147
0148 model: ListModel {
0149 ListElement {
0150 display: "banana"
0151 }
0152 ListElement {
0153 display: "banana1"
0154 }
0155 ListElement {
0156 display: "banana2"
0157 }
0158 ListElement {
0159 display: "banana3"
0160 }
0161 }
0162 delegate: Rectangle {
0163 color: "blue"
0164 height: grid.cellHeight
0165 width: grid.cellWidth
0166
0167 Kirigami.Icon {
0168 source: "kalgebra"
0169 }
0170 }
0171 }
0172 }
0173 }
0174
0175 Button {
0176 id: showAllAppsButton
0177 Layout.alignment: Qt.AlignHCenter
0178 icon.name: "view-more-symbolic"
0179 text: "Show More"
0180
0181 onClicked: {
0182 visible = false
0183 }
0184 }
0185
0186 Kirigami.SearchField {
0187 id: searchField
0188 Layout.fillWidth: true
0189 visible: !showAllAppsButton.visible
0190 opacity: visible
0191 }
0192 }
0193 }
0194
0195 SystemDialog {
0196 id: mobilePolkit
0197 mainText: "Authentication Required"
0198 subtitle: "Authentication is needed to run `/usr/bin/ls` as the super user."
0199
0200 ColumnLayout {
0201 width: Kirigami.Units.gridUnit * 20
0202
0203 KirigamiComponents.Avatar {
0204 implicitHeight: Kirigami.Units.iconSizes.medium
0205 implicitWidth: Kirigami.Units.iconSizes.medium
0206 Layout.alignment: Qt.AlignHCenter
0207 }
0208 Kirigami.PasswordField {
0209 Layout.fillWidth: true
0210 }
0211 }
0212
0213 standardButtons: DialogButtonBox.Ok | DialogButtonBox.Cancel
0214 actions: [
0215 Kirigami.Action {
0216 text: "Details"
0217 icon.name: "documentinfo"
0218 onTriggered: mobilePolkit.close()
0219 }
0220 ]
0221 }
0222
0223 SystemDialog {
0224 id: sim
0225 mainText: "SIM Locked"
0226 subtitle: "Please enter your SIM PIN in order to unlock it."
0227
0228 width: Kirigami.Units.gridUnit * 20
0229 standardButtons: DialogButtonBox.Ok | DialogButtonBox.Cancel
0230
0231 Kirigami.PasswordField {
0232 Layout.fillWidth: true
0233 }
0234 }
0235
0236 SystemDialog {
0237 id: device
0238 mainText: "Device Request"
0239 subtitle: "Allow <b>PureMaps</b> to access your location?"
0240
0241 layout: Qt.Vertical
0242
0243 actions: [
0244 Kirigami.Action {
0245 text: "Allow all the time"
0246 onTriggered: device.accept()
0247 },
0248 Kirigami.Action {
0249 text: "Allow only while the app is in use"
0250 onTriggered: device.accept()
0251 },
0252 Kirigami.Action {
0253 text: "Deny"
0254 onTriggered: device.accept()
0255 }
0256 ]
0257 }
0258
0259 SystemDialog {
0260 id: wifi
0261 mainText: "eduroam"
0262
0263 Kirigami.FormLayout {
0264 ComboBox {
0265 model: ["PEAP"]
0266 Layout.fillWidth: true
0267 Kirigami.FormData.label: "EAP method:"
0268 currentIndex: 0
0269 }
0270 ComboBox {
0271 model: ["MSCHAPV2"]
0272 Layout.fillWidth: true
0273 Kirigami.FormData.label: "Phase 2 authentication:"
0274 currentIndex: 0
0275 }
0276 TextField {
0277 Kirigami.FormData.label: "Domain:"
0278 Layout.fillWidth: true
0279 text: ""
0280 }
0281 TextField {
0282 Kirigami.FormData.label: "Identity:"
0283 Layout.fillWidth: true
0284 }
0285 TextField {
0286 Kirigami.FormData.label: "Username:"
0287 Layout.fillWidth: true
0288 }
0289 Kirigami.PasswordField {
0290 Kirigami.FormData.label: "Password:"
0291 Layout.fillWidth: true
0292 }
0293 }
0294
0295 standardButtons: DialogButtonBox.Ok | DialogButtonBox.Cancel
0296 Component.onCompleted: {
0297 dialogButtonBox.standardButton(DialogButtonBox.Ok).text = "Save"
0298 }
0299 }
0300
0301 ColumnLayout {
0302 anchors.fill: parent
0303 Button {
0304 text: "Simple dialog (Desktop)"
0305 onClicked: {
0306 simple.present()
0307 }
0308 }
0309 Button {
0310 text: "Simple List"
0311 onClicked: {
0312 simpleList.present()
0313 }
0314 }
0315 Button {
0316 text: "Polkit dialog (Desktop)"
0317 onClicked: {
0318 desktopPolkit.present()
0319 }
0320 }
0321 Button {
0322 text: "App Chooser(-ish)"
0323 onClicked: {
0324 appchooser.present()
0325 }
0326 }
0327 Button {
0328 text: "XDG dialog (Desktop)"
0329 onClicked: {
0330 xdgDialog.present()
0331 }
0332 }
0333 Button {
0334 text: "Polkit dialog (Mobile)"
0335 onClicked: {
0336 mobilePolkit.present()
0337 }
0338 }
0339 Button {
0340 text: "SIM PIN dialog (Mobile)"
0341 onClicked: {
0342 sim.present()
0343 }
0344 }
0345 Button {
0346 text: "Device request dialog (Mobile)"
0347 onClicked: {
0348 device.present()
0349 }
0350 }
0351 Button {
0352 text: "Wifi Dialog (Mobile)"
0353 onClicked: {
0354 wifi.present()
0355 }
0356 }
0357 }
0358 }
0359