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 {
Layout.fillWidth: true
horizontalAlignment: root.textHorizontalAlignment
font {
family: Appearance.font.family.expressive
pixelSize: 20
@@ -13,7 +12,6 @@ StyledText {
variableAxes: ({})
styleName: ""
}
color: root.colText
style: Text.Raised
styleColor: Appearance.colors.colShadow
animateChange: Config.options.background.widgets.clock.digital.animateChange
@@ -65,6 +65,7 @@ AbstractBackgroundWidget {
fade: false
sourceComponent: DigitalClock {
colText: root.colText
textHorizontalAlignment: root.textHorizontalAlignment
}
}
StatusRow {
@@ -153,6 +154,7 @@ AbstractBackgroundWidget {
ClockText {
id: statusTextWidget
color: statusTextRow.textColor
horizontalAlignment: root.textHorizontalAlignment
anchors.verticalCenter: statusTextRow.verticalCenter
font {
pixelSize: Appearance.font.pixelSize.large
@@ -12,68 +12,60 @@ import Quickshell.Io
ColumnLayout {
id: clockColumn
spacing: 6
spacing: 4
property bool isVertical: Config.options.background.widgets.clock.digital.vertical
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 {
id: timeTextTop
text: clockColumn.isVertical ? DateTime.time.substring(0, 2) : DateTime.time
color: clockColumn.colText
anchors {
top: parent.top
horizontalCenter: parent.horizontalCenter
}
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: timeTextTop
text: clockColumn.isVertical ? DateTime.time.substring(0, 2) : DateTime.time
color: root.colText
horizontalAlignment: Text.AlignHCenter
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 {
bottom: parent.bottom
horizontalCenter: parent.horizontalCenter
}
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: DateTime.time.substring(3, 5)
visible: clockColumn.isVertical
color: root.colText
Layout.topMargin: -40
horizontalAlignment: Text.AlignHCenter
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 {
visible: Config.options.background.widgets.clock.digital.showDate
Layout.topMargin: clockColumn.isVertical ? -10 : 0
Layout.topMargin: -20
text: DateTime.longDate
color: clockColumn.colText
color: root.colText
horizontalAlignment: root.textHorizontalAlignment
}
ClockText {
visible: Config.options.background.widgets.clock.quote.enable && Config.options.background.widgets.clock.quote.text.length > 0
font.pixelSize: Appearance.font.pixelSize.normal
text: Config.options.background.widgets.clock.quote.text
animateChange: false
color: clockColumn.colText
color: root.colText
horizontalAlignment: root.textHorizontalAlignment
}
}