Warning, /maui/mauikit-calendar/src/controls.5/EventPage.qml is written in an unsupported language. File is not indexed.
0001 import QtQuick 2.15 0002 import QtQml 2.15 0003 import QtQuick.Controls 2.15 0004 import QtQuick.Layouts 1.12 0005 import org.mauikit.controls 1.3 as Maui 0006 import org.mauikit.calendar 1.0 as Cal 0007 0008 Pane 0009 { 0010 id: control 0011 0012 implicitHeight: _layout.implicitHeight + topPadding + bottomPadding 0013 0014 padding: 0 0015 background: null 0016 0017 property alias incidence : incidenceWrapper 0018 0019 Cal.IncidenceWrapper 0020 { 0021 id: incidenceWrapper 0022 0023 onIncidenceStartChanged: 0024 { 0025 incidenceStartDateCombo.selectedDate = control.incidence.incidenceStart; 0026 incidenceStartTimeCombo.selectedTime = incidenceWrapper.incidenceStart; 0027 incidenceStartDateCombo.displayText = incidenceWrapper.incidenceStartDateDisplay; 0028 incidenceStartTimeCombo.displayText = incidenceWrapper.incidenceStartTimeDisplay; 0029 } 0030 0031 onIncidenceEndChanged: 0032 { 0033 incidenceEndDateCombo.selectedDate = control.incidence.incidenceEnd; 0034 incidenceEndTimeCombo.selectedTime = incidenceWrapper.incidenceEnd; 0035 incidenceEndDateCombo.displayText = incidenceWrapper.incidenceEndDateDisplay; 0036 incidenceEndTimeCombo.displayText = incidenceWrapper.incidenceEndTimeDisplay; 0037 } 0038 } 0039 0040 0041 contentItem: ColumnLayout 0042 { 0043 id: _layout 0044 spacing: Maui.Style.space.huge 0045 0046 Maui.SectionGroup 0047 { 0048 title: i18n("Info") 0049 0050 Maui.SectionItem 0051 { 0052 label1.text: i18n("Description") 0053 0054 TextField 0055 { 0056 width: parent.parent.width 0057 height: 80 0058 text: incidenceWrapper.summary 0059 placeholderText: i18n(`Add a title for your ${incidenceWrapper.incidenceTypeStr.toLowerCase()}`) 0060 onTextChanged: incidenceWrapper.summary = text 0061 0062 onAccepted : incidenceWrapper.summary = text 0063 } 0064 } 0065 0066 Maui.SectionItem 0067 { 0068 label1.text: i18n("Calendar") 0069 0070 ComboBox 0071 { 0072 id: calendarCombo 0073 width: parent.parent.width 0074 textRole: "display" 0075 valueRole: "collectionColor" 0076 0077 model: Cal.CollectionComboBoxModel 0078 { 0079 id: collectionComboBoxModel 0080 onCurrentIndexChanged: calendarCombo.currentIndex = currentIndex 0081 defaultCollectionId: incidenceWrapper.collectionId; 0082 0083 0084 mimeTypeFilter: if (incidenceWrapper.incidenceType === Cal.IncidenceWrapper.TypeEvent) 0085 { 0086 return [Cal.MimeTypes.calendar] 0087 } else if (incidenceWrapper.incidenceType === Cal.IncidenceWrapper.TypeTodo) { 0088 return [Cal.MimeTypes.todo] 0089 } 0090 accessRightsFilter: Cal.Collection.CanCreateItem 0091 } 0092 0093 currentIndex: 0 0094 onCurrentIndexChanged: if (currentIndex !== -1) { 0095 const collection = model.data(model.index(currentIndex, 0), Cal.Collection.CollectionRole); 0096 if (collection) { 0097 incidenceWrapper.setCollection(collection) 0098 } 0099 } 0100 0101 } 0102 } 0103 } 0104 0105 0106 Maui.SectionGroup 0107 { 0108 title: i18n("Time") 0109 0110 Maui.SectionItem 0111 { 0112 label1.text: i18n("All day") 0113 enabled: !isNaN(incidenceWrapper.incidenceStart.getTime()) || !isNaN(incidenceWrapper.incidenceEnd.getTime()) 0114 Switch 0115 { 0116 id: allDayCheckBox 0117 checked: incidenceWrapper.allDay 0118 onToggled: 0119 { 0120 if (!checked) 0121 { 0122 incidenceWrapper.setIncidenceTimeToNearestQuarterHour(); 0123 } 0124 incidenceWrapper.allDay = checked; 0125 } 0126 } 0127 } 0128 0129 Maui.SectionItem 0130 { 0131 label1.text: i18n("Start") 0132 0133 Column 0134 { 0135 spacing: Maui.Style.space.medium 0136 width: parent.parent.width 0137 0138 Cal.DateComboBox 0139 { 0140 id: incidenceStartDateCombo 0141 width: parent.width 0142 displayText: incidenceWrapper.incidenceStartDateDisplay 0143 selectedDate: incidenceWrapper.incidenceStart 0144 onDatePicked: 0145 { 0146 console.log("DATE PCIKED", date.getDate(), date.getMonth(), date.getYear()) 0147 incidenceWrapper.setIncidenceStartDate(date.getDate(), date.getMonth(), date.getYear()) 0148 } 0149 0150 } 0151 0152 Cal.TimeComboBox 0153 { 0154 id: incidenceStartTimeCombo 0155 width: parent.width 0156 visible: !allDayCheckBox.checked 0157 0158 timeZoneOffset: incidenceWrapper.startTimeZoneUTCOffsetMins 0159 displayText: incidenceWrapper.incidenceEndTimeDisplay 0160 selectedTime: incidenceWrapper.incidenceStart 0161 onTimePicked: 0162 { 0163 console.log("TIME PICKER", time.getHours(), time.getMinutes()) 0164 incidenceWrapper.setIncidenceStartTime(time.getHours(), time.getMinutes()) 0165 } 0166 } 0167 0168 } 0169 } 0170 0171 Maui.SectionItem 0172 { 0173 label1.text: i18n("End") 0174 0175 Column 0176 { 0177 spacing: Maui.Style.space.medium 0178 width: parent.parent.width 0179 0180 Cal.DateComboBox 0181 { 0182 id: incidenceEndDateCombo 0183 width: parent.width 0184 displayText: incidenceWrapper.incidenceStartDateDisplay 0185 selectedDate: incidenceWrapper.incidenceStart 0186 onDatePicked: 0187 { 0188 incidenceWrapper.setIncidenceEndDate(date.getDate(), date.getMonth(), date.getYear()) 0189 } 0190 0191 } 0192 0193 Cal.TimeComboBox 0194 { 0195 id: incidenceEndTimeCombo 0196 width: parent.width 0197 visible: !allDayCheckBox.checked 0198 timeZoneOffset: incidenceWrapper.endTimeZoneUTCOffsetMins 0199 displayText: incidenceWrapper.incidenceEndTimeDisplay 0200 selectedTime: incidenceWrapper.incidenceEnd 0201 onTimePicked: 0202 { 0203 incidenceWrapper.setIncidenceEndTime(hours, minutes) 0204 } 0205 } 0206 0207 } 0208 } 0209 0210 Maui.SectionItem 0211 { 0212 label1.text: i18n("TimeZone") 0213 0214 ComboBox 0215 { 0216 width: parent.parent.width 0217 model: Cal.TimeZoneListModel 0218 { 0219 id: timeZonesModel 0220 } 0221 0222 textRole: "display" 0223 valueRole: "id" 0224 currentIndex: model ? timeZonesModel.getTimeZoneRow(incidenceWrapper.timeZone) : -1 0225 0226 onActivated: incidenceWrapper.timeZone = currentValue 0227 } 0228 } 0229 } 0230 } 0231 0232 }