From b5a3639e4671bc1d82b1ffd780b5f383adb64a56 Mon Sep 17 00:00:00 2001 From: grendervill Date: Tue, 1 Sep 2026 22:09:28 +0300 Subject: [PATCH] =?UTF-8?q?=D0=9A=D0=B0=D0=BB=D0=B5=D0=BD=D0=B4=D0=B0?= =?UTF-8?q?=D1=80=D1=8C:=20=D0=BA=D0=BD=D0=BE=D0=BF=D0=BA=D0=B8=20=D0=BD?= =?UTF-8?q?=D0=B5=20=D0=BD=D0=B0=D0=BB=D0=B5=D0=B7=D0=B0=D1=8E=D1=82,=20?= =?UTF-8?q?=D0=B1=D0=B5=D0=B7=20=D0=BF=D1=80=D0=BE=D0=B7=D1=80=D0=B0=D1=87?= =?UTF-8?q?=D0=BD=D0=BE=D1=81=D1=82=D0=B8,=20=D0=BA=D1=80=D1=83=D0=B3?= =?UTF-8?q?=D0=BB=D1=8B=D0=B5,=20=D1=81=20=D1=83=D1=87=D1=91=D1=82=D0=BE?= =?UTF-8?q?=D0=BC=20=D0=B4=D0=BB=D0=B8=D0=BD=D0=BD=D1=8B=D1=85=20=D0=BC?= =?UTF-8?q?=D0=B5=D1=81=D1=8F=D1=86=D0=B5=D0=B2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - RowLayout spacing 4, ToolButton 32x32 Layout.preferred 32, background Rectangle color Theme.surface (не прозрачный) + hover Theme.surfaceHover + pressed Theme.surfaceSelected, border Theme.border/Strong/accent, radius 16, contentItem Label - Label месяца: Layout.minimumWidth 80 preferred 120 fillWidth, elide Right, maximumLineCount 1, NoWrap, pixelSize 12, bold, для 'сентябрь 2026' (8 букв) и узких окон - Hover/pressed визуально меняются, круглые --- qml/panels/MonthCalendar.qml | 62 ++++++++++++++++++++++++++++++++++++ 1 file changed, 62 insertions(+) diff --git a/qml/panels/MonthCalendar.qml b/qml/panels/MonthCalendar.qml index e0a9242..e7d0ecd 100644 --- a/qml/panels/MonthCalendar.qml +++ b/qml/panels/MonthCalendar.qml @@ -36,26 +36,88 @@ Item { RowLayout { Layout.fillWidth: true + spacing: 4 + // Кнопка Назад — круглая, без прозрачности ToolButton { text: "‹" font.pixelSize: 16 + font.bold: true + implicitWidth: 32 + implicitHeight: 32 + Layout.preferredWidth: 32 + Layout.preferredHeight: 32 + Layout.alignment: Qt.AlignVCenter + background: Rectangle { + color: parent.pressed ? Theme.surfaceSelected : (parent.hovered ? Theme.surfaceHover : Theme.surface) + border.color: parent.pressed ? Theme.accent : (parent.hovered ? Theme.borderStrong : Theme.border) + radius: 16 + } + contentItem: Label { + text: parent.text + font: parent.font + color: Theme.text + horizontalAlignment: Text.AlignHCenter + verticalAlignment: Text.AlignVCenter + } onClicked: cal.currentMonth = new Date(year, month - 1, 1) } Label { Layout.fillWidth: true + Layout.minimumWidth: 80 + Layout.preferredWidth: 120 horizontalAlignment: Text.AlignHCenter + verticalAlignment: Text.AlignVCenter font.bold: true color: Theme.text + font.pixelSize: 12 + elide: Text.ElideRight + maximumLineCount: 1 + wrapMode: Text.NoWrap text: Qt.locale().monthName(month, Locale.LongFormat) + " " + year } ToolButton { text: "›" font.pixelSize: 16 + font.bold: true + implicitWidth: 32 + implicitHeight: 32 + Layout.preferredWidth: 32 + Layout.preferredHeight: 32 + Layout.alignment: Qt.AlignVCenter + background: Rectangle { + color: parent.pressed ? Theme.surfaceSelected : (parent.hovered ? Theme.surfaceHover : Theme.surface) + border.color: parent.pressed ? Theme.accent : (parent.hovered ? Theme.borderStrong : Theme.border) + radius: 16 + } + contentItem: Label { + text: parent.text + font: parent.font + color: Theme.text + horizontalAlignment: Text.AlignHCenter + verticalAlignment: Text.AlignVCenter + } onClicked: cal.currentMonth = new Date(year, month + 1, 1) } ToolButton { text: "\u2302" font.pixelSize: 12 + implicitWidth: 32 + implicitHeight: 32 + Layout.preferredWidth: 32 + Layout.preferredHeight: 32 + Layout.alignment: Qt.AlignVCenter + background: Rectangle { + color: parent.pressed ? Theme.surfaceSelected : (parent.hovered ? Theme.surfaceHover : Theme.surface) + border.color: parent.pressed ? Theme.accent : (parent.hovered ? Theme.borderStrong : Theme.border) + radius: 16 + } + contentItem: Label { + text: parent.text + font: parent.font + color: Theme.text + horizontalAlignment: Text.AlignHCenter + verticalAlignment: Text.AlignVCenter + } ToolTip.text: qsTr("Сегодня") ToolTip.visible: hovered onClicked: cal.currentMonth = new Date()