Warning, /utilities/kongress/src/contents/ui/ScheduleView.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.12 as Kirigami 0011 import org.kde.kongress 0.1 as Kongress 0012 0013 Kirigami.ScrollablePage { 0014 id: root 0015 0016 property date eventStartDt 0017 property var roCalendar 0018 property var rwCalendar 0019 property string category 0020 0021 leftPadding: 0 0022 rightPadding: 0 0023 0024 Kirigami.PlaceholderMessage { 0025 visible: !roCalendar.busyDownlading && (listView.count === 0) 0026 width: parent.width - (Kirigami.Units.largeSpacing * 4) 0027 anchors.centerIn: parent 0028 text: eventStartDt.toLocaleDateString() !== "" ? i18n("No talks found for %1", eventStartDt.toLocaleDateString(Qt.locale(), Locale.ShortFormat)) : i18n("No talks found") 0029 } 0030 0031 Component { 0032 id: eventInfo 0033 0034 EventInfo { 0035 rwCalendar: root.rwCalendar 0036 viewMode: "events" 0037 } 0038 } 0039 0040 Controls2.BusyIndicator { 0041 anchors.centerIn: parent 0042 0043 running: roCalendar.busyDownlading 0044 implicitWidth: Kirigami.Units.iconSizes.enormous 0045 implicitHeight: width 0046 0047 } 0048 0049 ListView { 0050 id: listView 0051 0052 visible: !roCalendar.busyDownlading && (count > 0) 0053 0054 model: eventsModel 0055 section { 0056 property: Kongress.SettingsController.displayInLocalTimezone ? "shiftedEventDtLocal" : "shiftedEventDt" 0057 criteria: ViewSection.FullString 0058 delegate: Kirigami.ListSectionHeader { 0059 width: ListView.view.width 0060 0061 label: section 0062 } 0063 } 0064 0065 delegate: Controls2.ItemDelegate { 0066 id: itemDelegate 0067 0068 width: ListView.view.width 0069 0070 action: Kirigami.Action { 0071 text: i18n("Details") 0072 icon.name: "documentinfo" 0073 0074 onTriggered: { 0075 pageStack.pop(root); 0076 pageStack.push(eventInfo, {event: model}); 0077 } 0078 } 0079 0080 contentItem: RowLayout { 0081 spacing: Kirigami.Units.largeSpacing * 2 0082 width: parent.width 0083 0084 Controls2.Label { 0085 property string timeFormat: model.allday ? "" : "hh:mm" 0086 0087 width: Kirigami.Units.gridUnit * 20 0088 text: Kongress.SettingsController.displayInLocalTimezone ? model.shiftedStartEndTimeLocal : model.shiftedStartEndTime 0089 Layout.minimumHeight: Kirigami.Units.gridUnit * 2 0090 } 0091 0092 Controls2.Label { 0093 visible: model.summary !== "" 0094 elide: Text.ElideRight 0095 text: model.summary 0096 Layout.fillWidth: true 0097 Layout.minimumHeight: Kirigami.Units.gridUnit * 2 0098 } 0099 } 0100 } 0101 } 0102 0103 Kongress.EventModel { 0104 id: eventsModel 0105 0106 filterdt: root.eventStartDt 0107 calendar: root.roCalendar 0108 eventCategory: root.category 0109 } 0110 }