Warning, /frameworks/qqc2-desktop-style/org.kde.desktop/Dialog.qml is written in an unsupported language. File is not indexed.
0001 /*
0002 SPDX-FileCopyrightText: 2017 Marco Martin <mart@kde.org>
0003 SPDX-FileCopyrightText: 2017 The Qt Company Ltd.
0004
0005 SPDX-License-Identifier: LGPL-3.0-only OR GPL-2.0-or-later
0006 */
0007
0008
0009 import QtQuick
0010 import QtQuick.Controls as QQC2
0011 import QtQuick.Templates as T
0012 import org.kde.kirigami as Kirigami
0013
0014 T.Dialog {
0015 id: control
0016
0017 z: Kirigami.OverlayZStacking.z
0018
0019 implicitWidth: Math.max(implicitBackgroundWidth + leftInset + rightInset,
0020 contentWidth + leftPadding + rightPadding,
0021 implicitHeaderWidth,
0022 implicitFooterWidth)
0023 implicitHeight: Math.max(implicitBackgroundHeight + topInset + bottomInset,
0024 contentHeight + topPadding + bottomPadding
0025 + (implicitHeaderHeight > 0 ? implicitHeaderHeight + spacing : 0)
0026 + (implicitFooterHeight > 0 ? implicitFooterHeight + spacing : 0))
0027
0028 padding: Kirigami.Units.gridUnit
0029
0030 // black background, fades in and out
0031 QQC2.Overlay.modal: Rectangle {
0032 color: Qt.rgba(0, 0, 0, 0.3)
0033
0034 // the opacity of the item is changed internally by QQuickPopup on open/close
0035 Behavior on opacity {
0036 OpacityAnimator {
0037 duration: Kirigami.Units.longDuration
0038 easing.type: Easing.InOutQuad
0039 }
0040 }
0041 }
0042
0043 enter: Transition {
0044 NumberAnimation {
0045 property: "opacity"
0046 from: 0
0047 to: 1
0048 easing.type: Easing.InOutQuad
0049 duration: Kirigami.Units.longDuration
0050 }
0051 }
0052
0053 exit: Transition {
0054 NumberAnimation {
0055 property: "opacity"
0056 from: 1
0057 to: 0
0058 easing.type: Easing.InOutQuad
0059 duration: Kirigami.Units.longDuration
0060 }
0061 }
0062
0063 contentItem: Item {}
0064
0065 background: Kirigami.ShadowedRectangle {
0066 radius: 2
0067 color: Kirigami.Theme.backgroundColor
0068 border.color: Kirigami.ColorUtils.linearInterpolation(Kirigami.Theme.backgroundColor, Kirigami.Theme.textColor, Kirigami.Theme.frameContrast)
0069 border.width: 1
0070
0071 shadow.xOffset: 0
0072 shadow.yOffset: 4
0073 shadow.color: Qt.rgba(0, 0, 0, 0.3)
0074 shadow.size: 16
0075 }
0076
0077 header: Kirigami.Heading {
0078 text: control.title
0079 level: 2
0080 visible: control.title
0081 elide: Label.ElideRight
0082 padding: Kirigami.Units.gridUnit
0083 bottomPadding: 0
0084 }
0085
0086 footer: DialogButtonBox {
0087 visible: count > 0
0088 }
0089 }