Warning, /plasma-mobile/calindori/src/contents/ui/RecurrencePickerSheet.qml is written in an unsupported language. File is not indexed.
0001 /* 0002 * SPDX-FileCopyrightText: 2019 Dimitris Kardarakos <dimkard@posteo.net> 0003 * 0004 * SPDX-License-Identifier: GPL-3.0-or-later 0005 */ 0006 0007 import QtQuick 2.7 0008 import org.kde.kirigami 2.3 as Kirigami 0009 import QtQuick.Controls 2.0 as Controls 0010 import QtQuick.Layouts 1.3 0011 import org.kde.calindori 0.1 as Calindori 0012 0013 Kirigami.OverlaySheet { 0014 id: root 0015 0016 property int selectedRepeatType 0017 property alias selectedRepeatEvery: repeatEverySpin.value 0018 property alias selectedStopAfter: stopAfterSpin.value 0019 0020 signal recurrencePicked 0021 0022 function init(eventRepeatType, eventRepeatEvery, eventStopAfter) { 0023 selectedRepeatType = eventRepeatType; 0024 selectedRepeatEvery = eventRepeatEvery; 0025 selectedStopAfter = eventStopAfter; 0026 root.open(); 0027 } 0028 0029 header: Kirigami.Heading { 0030 level:1 0031 text: i18n("Repeat") 0032 } 0033 0034 Kirigami.FormLayout { 0035 Layout.preferredWidth: Kirigami.Units.gridUnit * 15 0036 0037 Repeater { 0038 id: repeatTypesList 0039 0040 model: _repeatModel 0041 0042 delegate: Controls.RadioButton { 0043 0044 text: model.repeatDescription 0045 checked: model.repeatCode === selectedRepeatType 0046 0047 onClicked: {selectedRepeatType = model.repeatCode} 0048 } 0049 0050 Layout.fillWidth: true 0051 } 0052 0053 RowLayout { 0054 Kirigami.FormData.label: i18n("Every:") 0055 0056 Controls.SpinBox { 0057 id: repeatEverySpin 0058 0059 enabled: repeatTypesList && repeatTypesList.model && selectedRepeatType !== repeatTypesList.model.noRepeat 0060 from: 1 0061 } 0062 0063 Controls.Label { 0064 text: (selectedRepeatType === repeatTypesList.model.repeatYearlyMonth || selectedRepeatType === repeatTypesList.model.repeatYearlyDay || selectedRepeatType === repeatTypesList.model.repeatYearlyPos) ? i18np("year", "years", repeatEverySpin.value) : 0065 (selectedRepeatType === repeatTypesList.model.repeatMonthlyDay || selectedRepeatType === repeatTypesList.model.repeatMonthlyPos) ? i18np("month", "months",repeatEverySpin.value) : 0066 (selectedRepeatType === repeatTypesList.model.repeatWeekly) ? i18np("week", "weeks",repeatEverySpin.value) : 0067 (selectedRepeatType === repeatTypesList.model.repeatDaily) ? i18np("day", "days",repeatEverySpin.value) : "" 0068 } 0069 } 0070 0071 RowLayout { 0072 Kirigami.FormData.label: i18n("Stop After:") 0073 0074 Controls.SpinBox { 0075 id: stopAfterSpin 0076 0077 enabled: repeatTypesList && repeatTypesList.model && selectedRepeatType !== repeatTypesList.model.noRepeat 0078 from: 0 0079 } 0080 0081 Controls.Label { 0082 text: stopAfterSpin.value > 0 ? i18np("repeat", "repeats", stopAfterSpin.value) : i18n("Never stop") 0083 } 0084 } 0085 } 0086 0087 footer: RowLayout { 0088 Item { 0089 Layout.fillWidth: true 0090 } 0091 0092 Controls.ToolButton { 0093 text: i18n("Save") 0094 0095 onClicked: { 0096 root.recurrencePicked(); 0097 root.close(); 0098 } 0099 } 0100 0101 Controls.ToolButton { 0102 text: i18n("Cancel") 0103 0104 onClicked: root.close() 0105 } 0106 } 0107 }