Warning, /plasma/plasma-mobile/shell/contents/configuration/ConfigurationKcmPage.qml is written in an unsupported language. File is not indexed.
0001 // SPDX-FileCopyrightText: 2015 Marco Martin <mart@kde.org> 0002 // SPDX-FileCopyrightText: 2020 Nicolas Fella <nicolas.fella@gmx.de> 0003 // SPDX-FileCopyrightText: 2020 Carl Schwan <carlschwan@kde.org> 0004 // SPDX-License-Identifier: GPL-2.0-or-later 0005 0006 import QtQuick 2.6 0007 import QtQuick.Controls 2.2 as QQC2 0008 import org.kde.kirigami 2.5 as Kirigami 0009 0010 Kirigami.Page { 0011 id: container 0012 0013 required property QtObject kcm 0014 required property Item internalPage 0015 0016 signal settingValueChanged() 0017 onSettingValueChanged: saveConfig(); // we save config immediately on mobile 0018 0019 title: kcm.name 0020 topPadding: 0 0021 leftPadding: 0 0022 rightPadding: 0 0023 bottomPadding: 0 0024 flickable: internalPage.flickable 0025 actions.main: internalPage.actions.main 0026 actions.contextualActions: internalPage.contextualActions 0027 0028 onInternalPageChanged: { 0029 internalPage.parent = contentItem; 0030 internalPage.anchors.fill = contentItem; 0031 } 0032 onActiveFocusChanged: { 0033 if (activeFocus) { 0034 internalPage.forceActiveFocus(); 0035 } 0036 } 0037 0038 Component.onCompleted: { 0039 kcm.load() 0040 } 0041 0042 function saveConfig() { 0043 kcm.save(); 0044 } 0045 0046 data: [ 0047 Connections { 0048 target: kcm 0049 onPagePushed: { 0050 app.pageStack.push(configurationKcmPageComponent.createObject(app.pageStack, {"kcm": kcm, "internalPage": page})); 0051 } 0052 onPageRemoved: app.pageStack.pop(); 0053 }, 0054 Connections { 0055 target: app.pageStack 0056 onPageRemoved: { 0057 if (kcm.needsSave) { 0058 kcm.save() 0059 } 0060 if (page == container) { 0061 page.destroy(); 0062 } 0063 } 0064 } 0065 ] 0066 Connections { 0067 target: kcm 0068 function onNeedsSaveChanged() { 0069 if (kcm.needsSave) { 0070 container.settingValueChanged() 0071 } 0072 } 0073 } 0074 }