feat: fontbuilder to streamline font styling

This commit is contained in:
2026-09-30 14:23:31 +02:00
parent 2c90339c77
commit f825e4d53b
115 changed files with 1687 additions and 916 deletions
+15 -14
View File
@@ -31,13 +31,13 @@ Item {
CustomText {
text: Weather.city || qsTr("Loading...")
font.pointSize: Tokens.font.size.large
font: Tokens.font.body.builders.large.size(24).weight(Font.DemiBold).build()
color: Colors.palette.m3onSurface
}
CustomText {
text: new Date().toLocaleDateString(Qt.locale("en_US"), "dddd, MMMM d")
font.pointSize: Tokens.font.size.small
font: Tokens.font.body.small
color: Colors.palette.m3onSurfaceVariant
}
}
@@ -114,7 +114,7 @@ Item {
Layout.leftMargin: Tokens.padding.medium
visible: forecastRepeater.count > 0
text: qsTr("7-day forecast")
font.pointSize: Tokens.font.size.normal
font: Tokens.font.body.builders.medium.weight(Font.DemiBold).build()
color: Colors.palette.m3onSurface
}
@@ -148,7 +148,7 @@ Item {
CustomText {
Layout.alignment: Qt.AlignHCenter
text: forecastItem.index === 0 ? qsTr("Today", "forecast column") : new Date(forecastItem.modelData.date).toLocaleDateString(Qt.locale("en_US"), "ddd")
font.pointSize: Tokens.font.size.small
font: Tokens.font.body.builders.medium.weight(Font.DemiBold).build()
color: Colors.palette.m3primary
}
@@ -156,7 +156,7 @@ Item {
Layout.topMargin: -Tokens.spacing.extraSmall
Layout.alignment: Qt.AlignHCenter
text: new Date(forecastItem.modelData.date).toLocaleDateString(Qt.locale("en_US"), "MMM d")
font.pointSize: Tokens.font.size.small
font: Tokens.font.body.small
opacity: 0.7
color: Colors.palette.m3onSurfaceVariant
}
@@ -164,7 +164,7 @@ Item {
MaterialIcon {
Layout.alignment: Qt.AlignHCenter
text: forecastItem.modelData.icon
font.pointSize: Tokens.font.size.extraLarge
fontStyle: Tokens.font.icon.extraLarge
color: Colors.palette.m3secondary
}
@@ -175,7 +175,7 @@ Item {
const max = Weather.formatTemp(forecastItem.modelData.maxTempC, true);
return qsTr("%1 / %2", "min/max temperature").arg(min).arg(max);
}
font.pointSize: Tokens.font.size.small
font: Tokens.font.body.builders.small.weight(Font.DemiBold).build()
color: Colors.palette.m3tertiary
}
}
@@ -204,7 +204,7 @@ Item {
MaterialIcon {
text: detailRoot.icon
color: detailRoot.colour
font.pointSize: Tokens.font.size.large
fontStyle: Tokens.font.icon.large
anchors.verticalCenter: parent.verticalCenter
}
@@ -214,20 +214,20 @@ Item {
CustomText {
text: detailRoot.label
font.pointSize: Tokens.font.size.small
font: Tokens.font.body.small
opacity: 0.7
horizontalAlignment: Text.AlignLeft
}
CustomText {
text: detailRoot.value
font.pointSize: Tokens.font.size.small
font: Tokens.font.body.builders.small.weight(Font.DemiBold).build()
horizontalAlignment: Text.AlignLeft
}
}
}
}
component WeatherStat: Row {
component WeatherStat: RowLayout {
id: weatherStat
property string icon
@@ -239,19 +239,20 @@ Item {
MaterialIcon {
text: weatherStat.icon
font.pointSize: Tokens.font.size.extraLarge
fontStyle: Tokens.font.icon.extraLarge
color: weatherStat.colour
}
Column {
Layout.alignment: Qt.AlignVCenter
CustomText {
text: weatherStat.label
font.pointSize: Tokens.font.size.small
font: Tokens.font.body.small
color: Colors.palette.m3onSurfaceVariant
}
CustomText {
text: weatherStat.value
font.pointSize: Tokens.font.size.small
font: Tokens.font.body.builders.small.weight(Font.DemiBold).build()
color: Colors.palette.m3onSurface
}
}