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 }