Warning, /plasma-mobile/calindori/src/contents/ui/SettingsPage.qml is written in an unsupported language. File is not indexed.

0001 /*
0002  * SPDX-FileCopyrightText: 2020 Dimitris Kardarakos <dimkard@posteo.net>
0003  * SPDX-FileCopyrightText: 2022 Devin Lin <devin@kde.org>
0004  *
0005  * SPDX-License-Identifier: GPL-3.0-or-later
0006  */
0007 
0008 import QtQuick 2.7
0009 import QtQuick.Layouts 1.1
0010 import QtQuick.Controls 2.15 as Controls
0011 import org.kde.kirigami 2.19 as Kirigami
0012 import org.kde.kirigamiaddons.formcard 1.0 as FormCard
0013 import org.kde.calindori 0.1 as Calindori
0014 
0015 Kirigami.ScrollablePage {
0016     id: root
0017     property var applicationFooter
0018     
0019     title: i18n("Settings")
0020 
0021     Kirigami.FormLayout {
0022         wideMode: false
0023         width: root.width
0024 
0025         Controls.Button {
0026             Kirigami.FormData.label: i18n("More Info:")
0027             
0028             text: i18n("About")
0029             icon.name: "help-about-symbolic"
0030             onClicked: applicationWindow().pageStack.push(aboutInfoPage)
0031             
0032             Component {
0033                 id: aboutInfoPage
0034                 FormCard.AboutPage {
0035                     aboutData: _aboutData
0036                 }
0037             }
0038         }
0039         
0040         Controls.Button {
0041             Kirigami.FormData.label: i18n("Calendars:")
0042             text: i18n("Manage internal calendars")
0043             icon.name: "view-calendar"
0044             onClicked: applicationWindow().pageStack.push(internalCalendarsPage)
0045             
0046             Component {
0047                 id: internalCalendarsPage
0048                 ManageCalendarsPage {
0049                     title: i18n("Manage Internal Calendars")
0050                     applicationFooter: root.applicationFooter
0051                     calendarModel: Calindori.CalindoriConfig && Calindori.CalindoriConfig.internalCalendars
0052                     isExternal: false
0053                 }
0054             }
0055         }
0056         
0057         Controls.Button {
0058             text: i18n("Manage external calendars")
0059             icon.name: "view-calendar"
0060             onClicked: applicationWindow().pageStack.push(externalCalendarsPage)
0061             
0062             Component {
0063                 id: externalCalendarsPage
0064                 ManageCalendarsPage {
0065                     title: i18n("Manage External Calendars")
0066                     applicationFooter: root.applicationFooter
0067                     calendarModel: Calindori.CalindoriConfig && Calindori.CalindoriConfig.externalCalendars
0068                     isExternal: true
0069                 }
0070             }
0071         }
0072         
0073         Item {
0074             Kirigami.FormData.isSection: true
0075             Kirigami.FormData.label: i18n("Events")
0076         }
0077 
0078         Controls.SpinBox {
0079             Kirigami.FormData.label: i18n("Initial duration (minutes):")
0080 
0081             from: 0
0082             value: Calindori.CalindoriConfig.eventsDuration
0083 
0084             onValueModified: Calindori.CalindoriConfig.eventsDuration = value
0085         }
0086 
0087 
0088         Controls.SpinBox {
0089             Kirigami.FormData.label: i18n("Remind before event (minutes):")
0090 
0091             from: 0
0092             value: Calindori.CalindoriConfig.preEventRemindTime
0093 
0094             onValueModified: Calindori.CalindoriConfig.preEventRemindTime = value
0095         }
0096 
0097         Controls.SwitchDelegate {
0098             Kirigami.FormData.label: i18n("Add reminder to new events:")
0099 
0100             checked: Calindori.CalindoriConfig.alwaysRemind
0101             onCheckedChanged: Calindori.CalindoriConfig.alwaysRemind = checked
0102         }
0103     }
0104 }