diff --git a/Assets/Translations/de.json b/Assets/Translations/de.json index 5c1dfeec..99278189 100644 --- a/Assets/Translations/de.json +++ b/Assets/Translations/de.json @@ -626,6 +626,10 @@ "week-numbers": { "label": "Wochennummern anzeigen", "description": "Zeigt die Kalender Wochen an (z.B. Woche 38)" + }, + "show-events": { + "label": "Kalenderereignisse anzeigen", + "description": "Ereignisse im Kalenderpanel anzeigen." } } }, diff --git a/Assets/Translations/en.json b/Assets/Translations/en.json index b4814d84..20cd25ca 100644 --- a/Assets/Translations/en.json +++ b/Assets/Translations/en.json @@ -626,6 +626,10 @@ "week-numbers": { "label": "Show week numbers", "description": "Displays the week of the year (e.g., Week 38) in the calendar." + }, + "show-events": { + "label": "Show calendar events", + "description": "Display events in the calendar panel." } } }, diff --git a/Assets/Translations/es.json b/Assets/Translations/es.json index 10bc18bc..be9571ce 100644 --- a/Assets/Translations/es.json +++ b/Assets/Translations/es.json @@ -626,6 +626,10 @@ "week-numbers": { "label": "Mostrar números de semana", "description": "Muestra la semana del año (ej., Semana 38) en el calendario." + }, + "show-events": { + "label": "Mostrar eventos del calendario", + "description": "Mostrar eventos en el panel del calendario." } } }, diff --git a/Assets/Translations/fr.json b/Assets/Translations/fr.json index 790220ed..8714859f 100644 --- a/Assets/Translations/fr.json +++ b/Assets/Translations/fr.json @@ -626,6 +626,10 @@ "week-numbers": { "label": "Afficher les numéros de semaine", "description": "Affiche la semaine de l'année (ex: Semaine 38) dans le calendrier." + }, + "show-events": { + "label": "Afficher les événements du calendrier", + "description": "Afficher les événements dans le panneau du calendrier." } } }, diff --git a/Assets/Translations/pt.json b/Assets/Translations/pt.json index 0be6fdf2..8aab8743 100644 --- a/Assets/Translations/pt.json +++ b/Assets/Translations/pt.json @@ -588,6 +588,10 @@ "week-numbers": { "label": "Mostrar números da semana", "description": "Exibe a semana do ano (ex., Semana 38) no calendário." + }, + "show-events": { + "label": "Mostrar eventos do calendário", + "description": "Exibir eventos no painel do calendário." } } }, diff --git a/Assets/Translations/zh-CN.json b/Assets/Translations/zh-CN.json index 90c4cecf..b6464894 100644 --- a/Assets/Translations/zh-CN.json +++ b/Assets/Translations/zh-CN.json @@ -626,6 +626,10 @@ "week-numbers": { "label": "显示周数", "description": "在日历中显示一年中的第几周(例如:第 38 周)。" + }, + "show-events": { + "label": "显示日历事件", + "description": "在日历面板中显示事件。" } } }, diff --git a/Assets/settings-default.json b/Assets/settings-default.json index 1bf17a16..487bb850 100644 --- a/Assets/settings-default.json +++ b/Assets/settings-default.json @@ -74,7 +74,8 @@ "weatherEnabled": true, "useFahrenheit": false, "use12hourFormat": false, - "showWeekNumberInCalendar": false + "showWeekNumberInCalendar": false, + "showCalendarEvents": true }, "screenRecorder": { "directory": "", diff --git a/Commons/Settings.qml b/Commons/Settings.qml index 9e7a92d8..709cebba 100644 --- a/Commons/Settings.qml +++ b/Commons/Settings.qml @@ -202,6 +202,7 @@ Singleton { property bool useFahrenheit: false property bool use12hourFormat: false property bool showWeekNumberInCalendar: false + property bool showCalendarEvents: true } // screen recorder diff --git a/Modules/Bar/Calendar/CalendarPanel.qml b/Modules/Bar/Calendar/CalendarPanel.qml index 888552bb..b873f706 100644 --- a/Modules/Bar/Calendar/CalendarPanel.qml +++ b/Modules/Bar/Calendar/CalendarPanel.qml @@ -561,7 +561,7 @@ NPanel { // Event indicator dots Row { - visible: parent.parent.parent.parent.parent.hasEventsOnDate(model.year, model.month, model.day) + visible: Settings.data.location.showCalendarEvents && parent.parent.parent.parent.parent.hasEventsOnDate(model.year, model.month, model.day) spacing: 2 anchors.horizontalCenter: parent.horizontalCenter anchors.bottom: parent.bottom @@ -587,6 +587,7 @@ NPanel { MouseArea { anchors.fill: parent hoverEnabled: true + enabled: Settings.data.location.showCalendarEvents onEntered: { const events = parent.parent.parent.parent.parent.getEventsForDate(model.year, model.month, model.day) diff --git a/Modules/Settings/Tabs/LocationTab.qml b/Modules/Settings/Tabs/LocationTab.qml index 7b6c340b..77048745 100644 --- a/Modules/Settings/Tabs/LocationTab.qml +++ b/Modules/Settings/Tabs/LocationTab.qml @@ -117,6 +117,13 @@ ColumnLayout { checked: Settings.data.location.showWeekNumberInCalendar onToggled: checked => Settings.data.location.showWeekNumberInCalendar = checked } + + NToggle { + label: I18n.tr("settings.location.date-time.show-events.label") + description: I18n.tr("settings.location.date-time.show-events.description") + checked: Settings.data.location.showCalendarEvents + onToggled: checked => Settings.data.location.showCalendarEvents = checked + } } NDivider { diff --git a/Services/CalendarService.qml b/Services/CalendarService.qml index b152d177..a24ae920 100644 --- a/Services/CalendarService.qml +++ b/Services/CalendarService.qml @@ -92,7 +92,11 @@ Singleton { // Core functions function checkAvailability() { - availabilityCheckProcess.running = true + if (Settings.data.location.showCalendarEvents) { + availabilityCheckProcess.running = true + } else { + root.available = false + } } function loadCalendars() { @@ -100,6 +104,11 @@ Singleton { } function loadEvents(daysAhead = 31, daysBehind = 14) { + if (!Settings.data.location.showCalendarEvents) { + root.loading = false + root.events = [] + return + } if (loading) return