Warning, /plasma-mobile/calindori/src/contents/ui/IncidencePage.qml is written in an unsupported language. File is not indexed.
0001 /* 0002 * SPDX-FileCopyrightText: 2020 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.6 as Kirigami 0009 import org.kde.calindori 0.1 as Calindori 0010 0011 Kirigami.Page { 0012 id: root 0013 0014 property var incidence 0015 property var calendar 0016 property bool isIncidencePage: true 0017 0018 title: incidence && incidence.summary 0019 visible: Kirigami.Settings.isMobile || (!Kirigami.Settings.isMobile && !pageStack.lastVisibleItem.hasOwnProperty("isEditorPage")) 0020 0021 Loader { 0022 anchors.fill: parent 0023 sourceComponent: (incidence && incidence.type === 0) ? eventCard : todoCard 0024 } 0025 0026 Component { 0027 id: eventCard 0028 0029 EventCard { 0030 dataModel: root.incidence 0031 } 0032 } 0033 0034 Component { 0035 id: todoCard 0036 0037 TodoCard { 0038 dataModel: root.incidence 0039 } 0040 } 0041 0042 actions.left: Kirigami.Action { 0043 text: i18n("Delete") 0044 enabled: root.state !== "deleting" 0045 icon.name: "delete" 0046 0047 onTriggered: root.state = "deleting" 0048 } 0049 0050 actions.right: Kirigami.Action { 0051 text: i18n("Edit") 0052 enabled: root.state !== "deleting" 0053 icon.name: "document-edit" 0054 0055 onTriggered: pageStack.push(incidence.type === 0 ? eventEditor : todoEditor, { startDt: incidence.dtstart, uid: incidence.uid, incidenceData: incidence }) 0056 } 0057 0058 footer: Kirigami.InlineMessage { 0059 id: deleteMsg 0060 0061 text: i18n("%1 will be deleted", incidence && incidence.summary) 0062 0063 actions: [ 0064 Kirigami.Action { 0065 text: i18n("Delete") 0066 0067 onTriggered: { 0068 var incidenceData = {uid: incidence.uid, summary: incidence.summary, type: incidence.type}; 0069 0070 if(incidenceData.type === 0) { 0071 Calindori.CalendarController.removeEvent(Calindori.CalendarController.activeCalendar, incidenceData); 0072 } 0073 else { 0074 Calindori.CalendarController.removeTodo(Calindori.CalendarController.activeCalendar, incidenceData); 0075 } 0076 root.state = "" 0077 pageStack.pop(incidencePage); 0078 } 0079 }, 0080 0081 Kirigami.Action { 0082 text: i18n("Cancel") 0083 0084 onTriggered: root.state = "" 0085 } 0086 ] 0087 } 0088 0089 states: [ 0090 State { 0091 name: "" 0092 PropertyChanges { target: deleteMsg; visible: false } 0093 }, 0094 State { 0095 name: "deleting" 0096 PropertyChanges { target: deleteMsg; visible: true } 0097 } 0098 ] 0099 }