From f6d9af143c9acb34ad2be3a19ddf7afdff3b87d5 Mon Sep 17 00:00:00 2001 From: Ana Hobden Date: Mon, 10 Nov 2025 21:40:06 -0800 Subject: [PATCH] Calendar: Print times in Calendar --- Modules/Panels/Calendar/CalendarPanel.qml | 28 +++++++++++++++-------- 1 file changed, 19 insertions(+), 9 deletions(-) diff --git a/Modules/Panels/Calendar/CalendarPanel.qml b/Modules/Panels/Calendar/CalendarPanel.qml index a01f7836..625cffd0 100644 --- a/Modules/Panels/Calendar/CalendarPanel.qml +++ b/Modules/Panels/Calendar/CalendarPanel.qml @@ -30,6 +30,14 @@ SmartPanel { return weekNumber } + // Helper function to check if an event is all-day + function isAllDayEvent(event) { + const duration = event.end - event.start + const startDate = new Date(event.start * 1000) + const isAtMidnight = startDate.getHours() === 0 && startDate.getMinutes() === 0 + return duration === 86400 && isAtMidnight + } + panelContent: Item { anchors.fill: parent @@ -362,14 +370,6 @@ SmartPanel { }) } - // Helper function to check if an event is all-day - function isAllDayEvent(event) { - const duration = event.end - event.start - const startDate = new Date(event.start * 1000) - const isAtMidnight = startDate.getHours() === 0 && startDate.getMinutes() === 0 - return duration === 86400 && isAtMidnight - } - // Helper function to check if an event is multi-day function isMultiDayEvent(event) { if (isAllDayEvent(event)) { @@ -603,7 +603,17 @@ SmartPanel { onEntered: { const events = parent.parent.parent.parent.getEventsForDate(modelData.year, modelData.month, modelData.day) if (events.length > 0) { - const summaries = events.map(e => e.summary).join('\n') + const summaries = events.map(event => { + if (isAllDayEvent(event)) { + return event.summary + } else { + const start = new Date(event.start * 1000) + const startFormatted = I18n.locale.toString(start, "HH:mm").split("\\n") + const end = new Date(event.end * 1000) + const endFormatted = I18n.locale.toString(end, "HH:mm").split("\\n") + return `${startFormatted}-${endFormatted} ${event.summary}` + } + }).join('\n') TooltipService.show(Screen, parent, summaries) TooltipService.updateText(summaries) }