Warning, /frameworks/kirigami/src/controls/private/MobileDialogLayer.qml is written in an unsupported language. File is not indexed.

0001 /*
0002  *  SPDX-FileCopyrightText: 2016 Marco Martin <mart@kde.org>
0003  *
0004  *  SPDX-License-Identifier: LGPL-2.0-or-later
0005  */
0006 
0007 import QtQuick
0008 import QtQuick.Controls as QQC2
0009 import QtQuick.Layouts
0010 import org.kde.kirigami as Kirigami
0011 
0012 Kirigami.Dialog {
0013     id: dialog
0014 
0015     clip: true
0016     modal: true
0017 
0018     topPadding: 0
0019     leftPadding: 0
0020     rightPadding: 0
0021     bottomPadding: 0
0022 
0023     header: Kirigami.AbstractApplicationHeader {
0024         pageRow: null
0025         page: null
0026 
0027         minimumHeight: Kirigami.Units.gridUnit * 1.6
0028         maximumHeight: Kirigami.Units.gridUnit * 1.6
0029         preferredHeight: Kirigami.Units.gridUnit * 1.6
0030 
0031         Keys.onEscapePressed: event => {
0032             if (dialog.opened) {
0033                 dialog.close();
0034             } else {
0035                 event.accepted = false;
0036             }
0037         }
0038 
0039         contentItem: RowLayout {
0040             width: parent.width
0041             Kirigami.Heading {
0042                 Layout.leftMargin: Kirigami.Units.largeSpacing
0043                 text: dialog.title
0044                 elide: Text.ElideRight
0045             }
0046             Item {
0047                 Layout.fillWidth: true
0048             }
0049             Kirigami.Icon {
0050                 id: closeIcon
0051                 Layout.alignment: Qt.AlignVCenter
0052                 Layout.rightMargin: Kirigami.Units.largeSpacing
0053                 Layout.preferredHeight: Kirigami.Units.iconSizes.smallMedium
0054                 Layout.preferredWidth: Kirigami.Units.iconSizes.smallMedium
0055                 source: closeMouseArea.containsMouse ? "window-close" : "window-close-symbolic"
0056                 active: closeMouseArea.containsMouse
0057                 MouseArea {
0058                     id: closeMouseArea
0059                     hoverEnabled: true
0060                     anchors.fill: parent
0061                     onClicked: mouse => dialog.close();
0062                 }
0063             }
0064         }
0065     }
0066 
0067     contentItem: QQC2.Control {
0068         topPadding: 0
0069         leftPadding: 0
0070         rightPadding: 0
0071         bottomPadding: 0
0072     }
0073 }