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,68 +12,60 @@ 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 { ClockText {
Layout.fillWidth: true id: timeTextTop
implicitHeight: timeTextTop.font.pixelSize + (clockColumn.isVertical ? timeTextBottom.font.pixelSize + 10 : 0) text: clockColumn.isVertical ? DateTime.time.substring(0, 2) : DateTime.time
implicitWidth: Math.max(timeTextTop.paintedWidth, timeTextBottom.paintedWidth) color: root.colText
horizontalAlignment: Text.AlignHCenter
ClockText { font {
id: timeTextTop pixelSize: Config.options.background.widgets.clock.digital.font.size
text: clockColumn.isVertical ? DateTime.time.substring(0, 2) : DateTime.time weight: Config.options.background.widgets.clock.digital.font.weight
color: clockColumn.colText family: Config.options.background.widgets.clock.digital.font.family
anchors { variableAxes: ({
top: parent.top "wdth": Config.options.background.widgets.clock.digital.font.width,
horizontalCenter: parent.horizontalCenter "ROND": Config.options.background.widgets.clock.digital.font.roundness
} })
font {
pixelSize: Config.options.background.widgets.clock.digital.font.size
weight: Config.options.background.widgets.clock.digital.font.weight
family: Config.options.background.widgets.clock.digital.font.family
variableAxes: ({
"wdth": Config.options.background.widgets.clock.digital.font.width,
"ROND": Config.options.background.widgets.clock.digital.font.roundness
})
}
} }
ClockText { }
id: timeTextBottom
text: clockColumn.isVertical ? DateTime.time.substring(3, 5) : ""
visible: clockColumn.isVertical
color: clockColumn.colText
anchors { ClockText {
bottom: parent.bottom id: timeTextBottom
horizontalCenter: parent.horizontalCenter text: DateTime.time.substring(3, 5)
} visible: clockColumn.isVertical
font { color: root.colText
pixelSize: Config.options.background.widgets.clock.digital.font.size Layout.topMargin: -40
weight: Config.options.background.widgets.clock.digital.font.weight horizontalAlignment: Text.AlignHCenter
family: Config.options.background.widgets.clock.digital.font.family font {
variableAxes: ({ pixelSize: Config.options.background.widgets.clock.digital.font.size
"wdth": Config.options.background.widgets.clock.digital.font.width, weight: Config.options.background.widgets.clock.digital.font.weight
"ROND": Config.options.background.widgets.clock.digital.font.roundness family: Config.options.background.widgets.clock.digital.font.family
}) variableAxes: ({
} "wdth": Config.options.background.widgets.clock.digital.font.width,
"ROND": Config.options.background.widgets.clock.digital.font.roundness
})
} }
} }
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
} }
} }