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 }