Warning, /plasma-mobile/raven/src/contents/ui/SettingsPage.qml is written in an unsupported language. File is not indexed.
0001 // SPDX-FileCopyrightText: 2022 Devin Lin <devin@kde.org> 0002 // SPDX-License-Identifier: GPL-2.0-or-later 0003 0004 import QtQuick 2.15 0005 import QtQuick.Layouts 1.15 0006 import QtQuick.Controls 2.15 as Controls 0007 0008 import org.kde.kirigami 2.19 as Kirigami 0009 import org.kde.kirigamiaddons.labs.mobileform 0.1 as MobileForm 0010 import org.kde.raven 1.0 0011 0012 Kirigami.ScrollablePage { 0013 id: root 0014 title: i18n("Settings") 0015 0016 Kirigami.Theme.colorSet: Kirigami.Theme.Window 0017 Kirigami.Theme.inherit: false 0018 0019 leftPadding: 0 0020 rightPadding: 0 0021 topPadding: Kirigami.Units.gridUnit 0022 bottomPadding: Kirigami.Units.gridUnit 0023 0024 ColumnLayout { 0025 spacing: 0 0026 width: root.width 0027 0028 MobileForm.FormCard { 0029 Layout.fillWidth: true 0030 0031 contentItem: ColumnLayout { 0032 spacing: 0 0033 0034 MobileForm.FormCardHeader { 0035 title: i18n("General") 0036 } 0037 0038 MobileForm.FormButtonDelegate { 0039 id: aboutDelegate 0040 text: i18n("About") 0041 onClicked: applicationWindow().pageStack.layers.push(applicationWindow().getPage("AboutPage")) 0042 } 0043 } 0044 } 0045 0046 MobileForm.FormCard { 0047 Layout.fillWidth: true 0048 Layout.topMargin: Kirigami.Units.largeSpacing 0049 0050 contentItem: ColumnLayout { 0051 spacing: 0 0052 0053 MobileForm.FormCardHeader { 0054 title: i18n("Accounts") 0055 } 0056 0057 Repeater { 0058 model: MailAccounts.runningMailAgents 0059 delegate: MobileForm.AbstractFormDelegate { 0060 Layout.fillWidth: true 0061 Loader { 0062 id: dialogLoader 0063 sourceComponent: Kirigami.PromptDialog { 0064 id: dialog 0065 title: i18n("Configure %1", model.display) 0066 subtitle: i18n("Modify or delete this account agent.") 0067 standardButtons: Kirigami.Dialog.NoButton 0068 0069 customFooterActions: [ 0070 Kirigami.Action { 0071 text: i18n("Modify") 0072 iconName: "edit-entry" 0073 onTriggered: { 0074 MailAccounts.openConfigWindow(model.index); 0075 dialog.close(); 0076 } 0077 }, 0078 Kirigami.Action { 0079 text: i18n("Delete") 0080 iconName: "delete" 0081 onTriggered: { 0082 MailAccounts.remove(model.index); 0083 dialog.close(); 0084 } 0085 } 0086 ] 0087 } 0088 } 0089 0090 onClicked: { 0091 dialogLoader.active = true; 0092 dialogLoader.item.open(); 0093 } 0094 0095 contentItem: RowLayout { 0096 Kirigami.Icon { 0097 source: model.decoration 0098 Layout.rightMargin: Kirigami.Units.largeSpacing 0099 implicitWidth: Kirigami.Units.iconSizes.medium 0100 implicitHeight: Kirigami.Units.iconSizes.medium 0101 } 0102 0103 ColumnLayout { 0104 Layout.fillWidth: true 0105 spacing: Kirigami.Units.smallSpacing 0106 0107 Controls.Label { 0108 Layout.fillWidth: true 0109 text: model.display 0110 elide: Text.ElideRight 0111 wrapMode: Text.Wrap 0112 maximumLineCount: 2 0113 color: Kirigami.Theme.textColor 0114 } 0115 0116 Controls.Label { 0117 Layout.fillWidth: true 0118 text: model.statusMessage 0119 color: Kirigami.Theme.disabledTextColor 0120 font: Kirigami.Theme.smallFont 0121 elide: Text.ElideRight 0122 } 0123 } 0124 0125 MobileForm.FormArrow { 0126 Layout.alignment: Qt.AlignRight | Qt.AlignVCenter 0127 direction: Qt.RightArrow 0128 } 0129 } 0130 } 0131 } 0132 0133 MobileForm.FormDelegateSeparator { below: addAccountDelegate } 0134 0135 MobileForm.FormButtonDelegate { 0136 id: addAccountDelegate 0137 text: i18n("Add Account") 0138 icon.name: "list-add" 0139 onClicked: applicationWindow().pageStack.layers.push("qrc:/accounts/AddAccountPage.qml") 0140 } 0141 } 0142 } 0143 } 0144 }