Warning, /utilities/kongress/src/contents/ui/EventInfo.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 QtQuick.Controls 2.4 as Controls2
0009 import QtQuick.Layouts 1.11
0010 import org.kde.kirigami 2.4 as Kirigami
0011 import org.kde.kongress 0.1 as Kongress
0012
0013 Kirigami.ScrollablePage {
0014 id: root
0015
0016 property var event
0017 property string viewMode
0018 property var rwCalendar
0019
0020 title: root.event ? event.summary : ""
0021
0022 actions: [
0023 Kirigami.Action {
0024 text: i18n("Web Page")
0025 icon.name: "internet-services"
0026 enabled: root.event.url !== ""
0027
0028 onTriggered: {
0029 if(root.event && (root.event.url)) {
0030 Qt.openUrlExternally(event.url);
0031 }
0032 }
0033 },
0034 Kirigami.Action {
0035 text: viewMode === "favorites" ? i18n("Delete") : i18n("Favorite")
0036 icon.name: viewMode === "favorites" ? "delete" : "favorite"
0037
0038 onTriggered: {
0039 if(root.event && root.viewMode === "favorites") {
0040 var vevent = { uid: root.event.uid } ;
0041 Kongress.EventController.remove(root.rwCalendar, vevent);
0042 pageStack.pop();
0043 }
0044 else if(root.event) {
0045 var vevent = { "uid" : event.uid, "startDate": event.scheduleStartDt, "summary": event.summary, "description": event.description, "allDay": event.allDay, "location": event.location, "endDate": event.scheduleEndDt, "categories": event.eventCategories, "url": event.url /*"alarms": incidenceAlarmsModel.alarms()*/};
0046
0047 var addEditResult = Kongress.EventController.addEdit(root.rwCalendar, vevent);
0048 showPassiveNotification(addEditResult["message"]);
0049
0050 }
0051 }
0052 }
0053 ]
0054
0055 Kirigami.AbstractCard {
0056 id: cardDelegate
0057
0058 visible: root.event
0059 header: Kirigami.Heading {
0060 text: root.event ? event.summary : ""
0061 wrapMode: Text.WordWrap
0062 }
0063
0064 contentItem: Column {
0065 spacing: Kirigami.Units.largeSpacing
0066 topPadding: 0
0067 bottomPadding: 0
0068 visible: root.event
0069
0070 RowLayout {
0071 width: cardDelegate.availableWidth
0072 spacing: Kirigami.Units.smallSpacing
0073
0074 Kirigami.Icon {
0075 source: "view-calendar-day"
0076 width: Kirigami.Units.iconSizes.small
0077 height: width
0078 }
0079
0080 Controls2.Label {
0081
0082 wrapMode: Text.WordWrap
0083 text: {
0084 if (viewMode === "favorites") {
0085 if (Kongress.SettingsController.displayInLocalTimezone) {
0086 return event.startEndDtLocal;
0087 }
0088 else {
0089 return event.startEndDt;
0090 }
0091 }
0092 else {
0093 if (Kongress.SettingsController.displayInLocalTimezone) {
0094 return event.shiftedStartEndDtLocal;
0095 }
0096 else {
0097 return event.shiftedStartEndDt;
0098 }
0099 }
0100 }
0101 Layout.fillWidth: true
0102 }
0103 }
0104
0105 RowLayout {
0106 visible: root.event && (event.location !== "")
0107 width: cardDelegate.availableWidth
0108 spacing: Kirigami.Units.smallSpacing
0109
0110 Kirigami.Icon {
0111 source: "find-location"
0112 width: Kirigami.Units.iconSizes.small
0113 height: width
0114 }
0115
0116 Controls2.Label {
0117 wrapMode: Text.WordWrap
0118 text: root.event ? event.location : ""
0119 Layout.fillWidth: true
0120 }
0121 }
0122
0123 RowLayout {
0124 visible: root.event && (event.eventCategories !== "")
0125 width: cardDelegate.availableWidth
0126 spacing: Kirigami.Units.smallSpacing
0127
0128 Kirigami.Icon {
0129 source: "category"
0130 width: Kirigami.Units.iconSizes.small
0131 height: width
0132 }
0133
0134 Controls2.Label {
0135 wrapMode: Text.WordWrap
0136 text: root.event ? event.eventCategories : ""
0137 Layout.fillWidth: true
0138 }
0139 }
0140
0141 Controls2.Label {
0142 visible: root.event && event.description !== ""
0143 width: cardDelegate.availableWidth
0144 wrapMode: Text.WordWrap
0145 text: root.event ? event.description : ""
0146 }
0147 }
0148 }
0149 }