From 2362dca8b6b1526253cf7963ee4970738dcdaaff Mon Sep 17 00:00:00 2001 From: lysec Date: Sun, 19 Oct 2025 17:46:49 +0200 Subject: [PATCH] Revert "Calendar: fix layout with week numbers enabled" This reverts commit c6080b65bed30d5b398d1ddc9b42c2f47633268e. --- Modules/Bar/Calendar/CalendarPanel.qml | 84 +++++++++++--------------- 1 file changed, 34 insertions(+), 50 deletions(-) diff --git a/Modules/Bar/Calendar/CalendarPanel.qml b/Modules/Bar/Calendar/CalendarPanel.qml index f1b4a4d0..b882324d 100644 --- a/Modules/Bar/Calendar/CalendarPanel.qml +++ b/Modules/Bar/Calendar/CalendarPanel.qml @@ -367,19 +367,13 @@ NPanel { } } } - - // Day headers row RowLayout { Layout.fillWidth: true spacing: 0 - - // Empty space for week number column Item { visible: Settings.data.location.showWeekNumberInCalendar Layout.preferredWidth: visible ? Style.baseWidgetSize * 0.7 : 0 } - - // Day name headers GridLayout { Layout.fillWidth: true columns: 7 @@ -407,56 +401,46 @@ NPanel { } } } - - // Calendar grid with week numbers RowLayout { Layout.fillWidth: true Layout.fillHeight: true - spacing: Style.marginS - - // Week numbers column - Item { + spacing: 0 + ColumnLayout { visible: Settings.data.location.showWeekNumberInCalendar - Layout.preferredWidth: Style.baseWidgetSize * 0.7 + Layout.preferredWidth: visible ? Style.baseWidgetSize * 0.7 : 0 Layout.fillHeight: true - - ColumnLayout { - anchors.fill: parent - spacing: Style.marginXXS - - Repeater { - model: 6 - Item { - Layout.fillWidth: true - Layout.fillHeight: true - - NText { - anchors.centerIn: parent - color: Color.mOutline - pointSize: Style.fontSizeXXS - font.weight: Style.fontWeightMedium - text: { - let firstOfMonth = new Date(grid.year, grid.month, 1) - let firstDayOfWeek = content.firstDayOfWeek - let firstOfMonthDayOfWeek = firstOfMonth.getDay() - let daysBeforeFirst = (firstOfMonthDayOfWeek - firstDayOfWeek + 7) % 7 - if (daysBeforeFirst === 0) { - daysBeforeFirst = 7 - } - let gridStartDate = new Date(grid.year, grid.month, 1 - daysBeforeFirst) - let rowStartDate = new Date(gridStartDate) - rowStartDate.setDate(gridStartDate.getDate() + (index * 7)) - let thursday = new Date(rowStartDate) - if (firstDayOfWeek === 0) { - thursday.setDate(rowStartDate.getDate() + 4) - } else if (firstDayOfWeek === 1) { - thursday.setDate(rowStartDate.getDate() + 3) - } else { - let daysToThursday = (4 - firstDayOfWeek + 7) % 7 - thursday.setDate(rowStartDate.getDate() + daysToThursday) - } - return `${getISOWeekNumber(thursday)}` + spacing: 0 + Repeater { + model: 6 + Item { + Layout.fillWidth: true + Layout.fillHeight: true + NText { + anchors.centerIn: parent + color: Color.mOutline + pointSize: Style.fontSizeXXS + font.weight: Style.fontWeightMedium + text: { + let firstOfMonth = new Date(grid.year, grid.month, 1) + let firstDayOfWeek = content.firstDayOfWeek + let firstOfMonthDayOfWeek = firstOfMonth.getDay() + let daysBeforeFirst = (firstOfMonthDayOfWeek - firstDayOfWeek + 7) % 7 + if (daysBeforeFirst === 0) { + daysBeforeFirst = 7 } + let gridStartDate = new Date(grid.year, grid.month, 1 - daysBeforeFirst) + let rowStartDate = new Date(gridStartDate) + rowStartDate.setDate(gridStartDate.getDate() + (index * 7)) + let thursday = new Date(rowStartDate) + if (firstDayOfWeek === 0) { + thursday.setDate(rowStartDate.getDate() + 4) + } else if (firstDayOfWeek === 1) { + thursday.setDate(rowStartDate.getDate() + 3) + } else { + let daysToThursday = (4 - firstDayOfWeek + 7) % 7 + thursday.setDate(rowStartDate.getDate() + daysToThursday) + } + return `${getISOWeekNumber(thursday)}` } } }