fix(digital clock): layout and handle properties better

This commit is contained in:
vaguesyntax
2025-12-14 14:07:01 +03:00
parent 2ef8342187
commit 607d6056c1
3 changed files with 38 additions and 46 deletions
@@ -5,7 +5,6 @@ import QtQuick.Layouts
StyledText { StyledText {
Layout.fillWidth: true Layout.fillWidth: true
horizontalAlignment: root.textHorizontalAlignment
font { font {
family: Appearance.font.family.expressive family: Appearance.font.family.expressive
pixelSize: 20 pixelSize: 20
@@ -13,7 +12,6 @@ StyledText {
variableAxes: ({}) variableAxes: ({})
styleName: "" styleName: ""
} }
color: root.colText
style: Text.Raised style: Text.Raised
styleColor: Appearance.colors.colShadow styleColor: Appearance.colors.colShadow
animateChange: Config.options.background.widgets.clock.digital.animateChange animateChange: Config.options.background.widgets.clock.digital.animateChange
@@ -65,6 +65,7 @@ AbstractBackgroundWidget {
fade: false fade: false
sourceComponent: DigitalClock { sourceComponent: DigitalClock {
colText: root.colText colText: root.colText
textHorizontalAlignment: root.textHorizontalAlignment
} }
} }
StatusRow { StatusRow {
@@ -153,6 +154,7 @@ AbstractBackgroundWidget {
ClockText { ClockText {
id: statusTextWidget id: statusTextWidget
color: statusTextRow.textColor color: statusTextRow.textColor
horizontalAlignment: root.textHorizontalAlignment
anchors.verticalCenter: statusTextRow.verticalCenter anchors.verticalCenter: statusTextRow.verticalCenter
font { font {
pixelSize: Appearance.font.pixelSize.large pixelSize: Appearance.font.pixelSize.large
@@ -12,24 +12,17 @@ import Quickshell.Io
ColumnLayout { ColumnLayout {
id: clockColumn id: clockColumn
spacing: 6 spacing: 4
property bool isVertical: Config.options.background.widgets.clock.digital.vertical property bool isVertical: Config.options.background.widgets.clock.digital.vertical
property color colText: Appearance.colors.colOnSecondaryContainer property color colText: Appearance.colors.colOnSecondaryContainer
property string textHorizontalAlignment: Text.AlignHCenter
Item {
Layout.fillWidth: true
implicitHeight: timeTextTop.font.pixelSize + (clockColumn.isVertical ? timeTextBottom.font.pixelSize + 10 : 0)
implicitWidth: Math.max(timeTextTop.paintedWidth, timeTextBottom.paintedWidth)
ClockText { ClockText {
id: timeTextTop id: timeTextTop
text: clockColumn.isVertical ? DateTime.time.substring(0, 2) : DateTime.time text: clockColumn.isVertical ? DateTime.time.substring(0, 2) : DateTime.time
color: clockColumn.colText color: root.colText
anchors { horizontalAlignment: Text.AlignHCenter
top: parent.top
horizontalCenter: parent.horizontalCenter
}
font { font {
pixelSize: Config.options.background.widgets.clock.digital.font.size pixelSize: Config.options.background.widgets.clock.digital.font.size
weight: Config.options.background.widgets.clock.digital.font.weight weight: Config.options.background.widgets.clock.digital.font.weight
@@ -40,16 +33,14 @@ ColumnLayout {
}) })
} }
} }
ClockText { ClockText {
id: timeTextBottom id: timeTextBottom
text: clockColumn.isVertical ? DateTime.time.substring(3, 5) : "" text: DateTime.time.substring(3, 5)
visible: clockColumn.isVertical visible: clockColumn.isVertical
color: clockColumn.colText color: root.colText
Layout.topMargin: -40
anchors { horizontalAlignment: Text.AlignHCenter
bottom: parent.bottom
horizontalCenter: parent.horizontalCenter
}
font { font {
pixelSize: Config.options.background.widgets.clock.digital.font.size pixelSize: Config.options.background.widgets.clock.digital.font.size
weight: Config.options.background.widgets.clock.digital.font.weight weight: Config.options.background.widgets.clock.digital.font.weight
@@ -60,20 +51,21 @@ ColumnLayout {
}) })
} }
} }
}
ClockText { ClockText {
visible: Config.options.background.widgets.clock.digital.showDate visible: Config.options.background.widgets.clock.digital.showDate
Layout.topMargin: clockColumn.isVertical ? -10 : 0 Layout.topMargin: -20
text: DateTime.longDate text: DateTime.longDate
color: clockColumn.colText color: root.colText
horizontalAlignment: root.textHorizontalAlignment
} }
ClockText { ClockText {
visible: Config.options.background.widgets.clock.quote.enable && Config.options.background.widgets.clock.quote.text.length > 0 visible: Config.options.background.widgets.clock.quote.enable && Config.options.background.widgets.clock.quote.text.length > 0
font.pixelSize: Appearance.font.pixelSize.normal font.pixelSize: Appearance.font.pixelSize.normal
text: Config.options.background.widgets.clock.quote.text text: Config.options.background.widgets.clock.quote.text
animateChange: false animateChange: false
color: clockColumn.colText color: root.colText
horizontalAlignment: root.textHorizontalAlignment
} }
} }