Warning, /multimedia/elisa/src/qml/ElisaConfigurationDialog.qml is written in an unsupported language. File is not indexed.

0001 /*
0002    SPDX-FileCopyrightText: 2017 (c) Matthieu Gallien <matthieu_gallien@yahoo.fr>
0003    SPDX-FileCopyrightText: 2020 (c) Nate Graham <nate@kde.org>
0004 
0005    SPDX-License-Identifier: LGPL-3.0-or-later
0006  */
0007 
0008 import QtQuick 2.11
0009 import QtQuick.Layouts 1.12
0010 import QtQuick.Window 2.12
0011 import QtQuick.Controls 2.4 as QQC2
0012 import QtQuick.Dialogs as Dialogs
0013 
0014 import org.kde.kirigami 2.14 as Kirigami
0015 
0016 import org.kde.elisa 1.0
0017 
0018 Window {
0019     id: dialog
0020 
0021     title: i18nc("@title:window", "Configure")
0022 
0023     visible: true
0024     modality: Qt.ApplicationModal
0025 
0026     minimumWidth: Kirigami.Units.gridUnit * 36
0027     minimumHeight: Kirigami.Units.gridUnit * 32
0028 
0029     // Close when pressing Esc key
0030     Shortcut {
0031         sequence: StandardKey.Cancel
0032         onActivated: close()
0033     }
0034 
0035     Kirigami.ScrollablePage {
0036         anchors.fill: parent
0037 
0038         SettingsForm {
0039             id: settingsForm
0040             onCloseForm: dialog.close()
0041         }
0042 
0043         footer: QQC2.DialogButtonBox {
0044             QQC2.Button {
0045                 text: i18nc("@action:button", "OK")
0046                 icon.name: 'dialog-ok-apply'
0047                 QQC2.DialogButtonBox.buttonRole: QQC2.DialogButtonBox.AcceptRole
0048                 Accessible.onPressAction: onClicked
0049             }
0050             onAccepted: settingsForm.saveAndCloseForm()
0051 
0052             QQC2.Button {
0053                 text: i18nc("@action:button", "Apply")
0054                 icon.name: 'dialog-ok-apply'
0055                 QQC2.DialogButtonBox.buttonRole: QQC2.DialogButtonBox.ApplyRole
0056                 Accessible.onPressAction: onClicked
0057 
0058                 enabled: ElisaConfigurationDialog.isDirty
0059             }
0060             onApplied: settingsForm.applyChanges()
0061 
0062             QQC2.Button {
0063                 text: i18nc("@action:button", "Cancel")
0064                 icon.name: 'dialog-cancel'
0065                 QQC2.DialogButtonBox.buttonRole: QQC2.DialogButtonBox.RejectRole
0066                 Accessible.onPressAction: onClicked
0067             }
0068             onRejected: settingsForm.discardAndCloseForm()
0069         }
0070     }
0071 
0072     onClosing: close => {
0073         if (ElisaConfigurationDialog.isDirty) {
0074             close.accepted = false
0075             settingsForm.dirtyClosingDialog.open()
0076         }
0077     }
0078 }