Warning, /maui/nomad-style/Dialog.qml is written in an unsupported language. File is not indexed.

0001 /*
0002  * Copyright 2017 Marco Martin <mart@kde.org>
0003  * Copyright 2017 The Qt Company Ltd.
0004  *
0005  * GNU Lesser General Public License Usage
0006  * Alternatively, this file may be used under the terms of the GNU Lesser
0007  * General Public License version 3 as published by the Free Software
0008  * Foundation and appearing in the file LICENSE.LGPLv3 included in the
0009  * packaging of this file. Please review the following information to
0010  * ensure the GNU Lesser General Public License version 3 requirements
0011  * will be met: https://www.gnu.org/licenses/lgpl.html.
0012  *
0013  * GNU General Public License Usage
0014  * Alternatively, this file may be used under the terms of the GNU
0015  * General Public License version 2.0 or later as published by the Free
0016  * Software Foundation and appearing in the file LICENSE.GPL included in
0017  * the packaging of this file. Please review the following information to
0018  * ensure the GNU General Public License version 2.0 requirements will be
0019  * met: http://www.gnu.org/licenses/gpl-2.0.html.
0020  */
0021 
0022 
0023 import QtQuick 2.6
0024 import QtGraphicalEffects 1.0
0025 import QtQuick.Templates 2.3 as T
0026 import org.kde.kirigami 2.2 as Kirigami
0027 
0028 T.Dialog {
0029     id: control
0030 
0031     implicitWidth: Math.max(background ? background.implicitWidth : 0,
0032                             contentWidth > 0 ? contentWidth + leftPadding + rightPadding : 0)
0033     implicitHeight: Math.max(background ? background.implicitHeight : 0,
0034                              contentWidth > 0 ? contentHeight + topPadding + bottomPadding : 0)
0035 
0036     contentWidth: contentItem.implicitWidth || (contentChildren.length === 1 ? contentChildren[0].implicitWidth : 0)
0037     contentHeight: contentItem.implicitHeight || (contentChildren.length === 1 ? contentChildren[0].implicitHeight : 0) + header.implicitHeight + footer.implicitHeight
0038 
0039     padding: Kirigami.Units.gridUnit
0040 
0041     enter: Transition {
0042         NumberAnimation {
0043             property: "opacity"
0044             from: 0
0045             to: 1
0046             easing.type: Easing.InOutQuad
0047             duration: 250
0048         }
0049     }
0050 
0051     exit: Transition {
0052         NumberAnimation {
0053             property: "opacity"
0054             from: 1
0055             to: 0
0056             easing.type: Easing.InOutQuad
0057             duration: 250
0058         }
0059     }
0060 
0061     contentItem: Item {}
0062 
0063     background: Rectangle {
0064         radius: height * 0.005
0065         color: Kirigami.Theme.viewBackgroundColor
0066         property color borderColor: Kirigami.Theme.textColor
0067         border.color: Qt.rgba(borderColor.r, borderColor.g, borderColor.b, 0.3)
0068         layer.enabled: true
0069         
0070         layer.effect: DropShadow {
0071             transparentBorder: true
0072             radius: 8
0073             samples: 16
0074             horizontalOffset: 0
0075             verticalOffset: 4
0076             color: Qt.rgba(0, 0, 0, 0.3)
0077         }
0078     }
0079 
0080     header: Kirigami.Heading {
0081         text: control.title
0082         level: 2
0083         visible: control.title
0084         elide: Label.ElideRight
0085         padding: Kirigami.Units.largeSpacing
0086         bottomPadding: 0
0087     }
0088 
0089     footer: DialogButtonBox {
0090         visible: count > 0
0091         padding: Kirigami.Units.largeSpacing * 2
0092     }
0093 }