initial commit for media widget update + anim tokens restructure
C++ / fmt (pull_request) Successful in 4s
JS/TS / fmt (pull_request) Successful in 20s
JS/TS / lint (pull_request) Successful in 22s
Python / static (pull_request) Successful in 57s
Rust / fmt (pull_request) Successful in 1m2s
C++ / build (pull_request) Successful in 2m10s
Rust / build (pull_request) Successful in 1m50s
Rust / clippy (pull_request) Successful in 1m25s
Python / verify (pull_request) Successful in 2m58s
C++ / clang-tidy (pull_request) Successful in 7m8s

This commit is contained in:
2026-08-18 16:14:41 +02:00
parent 8ec454306f
commit 7d6f3cc275
162 changed files with 1385 additions and 1080 deletions
+8 -8
View File
@@ -19,7 +19,7 @@ ColumnLayout {
Layout.fillHeight: true
Layout.fillWidth: false
Layout.preferredWidth: centerWidth
spacing: Tokens.spacing.large * 2
spacing: Tokens.spacing.largeIncreased * 2
RowLayout {
Layout.alignment: Qt.AlignHCenter
@@ -65,7 +65,7 @@ ColumnLayout {
CustomClippingRect {
Layout.alignment: Qt.AlignHCenter
Layout.topMargin: Tokens.spacing.large * 2
Layout.topMargin: Tokens.spacing.largeIncreased * 2
color: Colors.tPalette.m3surfaceContainer
implicitHeight: root.centerWidth / 2
implicitWidth: root.centerWidth / 2
@@ -90,7 +90,7 @@ ColumnLayout {
Layout.alignment: Qt.AlignHCenter
color: Colors.tPalette.m3surfaceContainer
focus: true
implicitHeight: input.implicitHeight + Tokens.padding.small * 2
implicitHeight: input.implicitHeight + Tokens.padding.extraSmall * 2
implicitWidth: root.centerWidth * 0.8
radius: Tokens.rounding.full
@@ -121,11 +121,11 @@ ColumnLayout {
id: input
anchors.fill: parent
anchors.margins: Tokens.padding.small
spacing: Tokens.spacing.normal
anchors.margins: Tokens.padding.extraSmall
spacing: Tokens.spacing.medium
Item {
implicitHeight: fprintIcon.implicitHeight + Tokens.padding.small * 2
implicitHeight: fprintIcon.implicitHeight + Tokens.padding.extraSmall * 2
implicitWidth: implicitHeight
MaterialIcon {
@@ -163,7 +163,7 @@ ColumnLayout {
CustomRect {
color: root.lock.pam.buffer ? Colors.palette.m3primary : Colors.layer(Colors.palette.m3surfaceContainerHigh, 2)
implicitHeight: enterIcon.implicitHeight + Tokens.padding.small * 2
implicitHeight: enterIcon.implicitHeight + Tokens.padding.extraSmall * 2
implicitWidth: implicitHeight
radius: Tokens.rounding.full
@@ -189,7 +189,7 @@ ColumnLayout {
Item {
Layout.fillWidth: true
Layout.topMargin: -Tokens.spacing.large
Layout.topMargin: -Tokens.spacing.largeIncreased
implicitHeight: Math.max(message.implicitHeight, stateMessage.implicitHeight)
Behavior on implicitHeight {
+6 -6
View File
@@ -12,17 +12,17 @@ CustomClippingRect {
implicitHeight: layout.implicitHeight
implicitWidth: layout.implicitWidth
radius: Tokens.rounding.large
radius: Tokens.rounding.largeIncreased
RowLayout {
id: layout
anchors.fill: parent
spacing: Tokens.spacing.large * 2
spacing: Tokens.spacing.largeIncreased * 2
ColumnLayout {
Layout.fillWidth: true
spacing: Tokens.spacing.normal
spacing: Tokens.spacing.medium
WeatherInfo {
id: weather
@@ -52,15 +52,15 @@ CustomClippingRect {
ColumnLayout {
Layout.fillWidth: true
spacing: Tokens.spacing.normal
spacing: Tokens.spacing.medium
CustomRect {
Layout.fillHeight: true
Layout.fillWidth: true
bottomRightRadius: Tokens.rounding.large
bottomRightRadius: Tokens.rounding.largeIncreased
color: Colors.tPalette.m3surfaceContainer
radius: Tokens.rounding.small
topRightRadius: Tokens.rounding.large
topRightRadius: Tokens.rounding.largeIncreased
NotifDock {
lock: root.lock
+1 -1
View File
@@ -94,7 +94,7 @@ Item {
Behavior on scale {
Anim {
duration: Tokens.anim.durations.expressiveFastSpatial
easing.bezierCurve: Tokens.anim.curves.expressiveFastSpatial
easing: Tokens.anim.expressiveFastSpatial
}
}
+7 -7
View File
@@ -31,7 +31,7 @@ WlSessionLockSurface {
ParallelAnimation {
Anim {
duration: Tokens.anim.durations.expressiveDefaultSpatial
easing.bezierCurve: Tokens.anim.curves.expressiveDefaultSpatial
easing: Tokens.anim.expressiveDefaultSpatial
properties: "implicitWidth,implicitHeight"
target: lockContent
to: lockContent.size
@@ -45,7 +45,7 @@ WlSessionLockSurface {
Anim {
duration: Tokens.anim.durations.expressiveDefaultSpatial
easing.bezierCurve: Tokens.anim.curves.expressiveDefaultSpatial
easing: Tokens.anim.expressiveDefaultSpatial
property: "scale"
target: content
to: 0
@@ -94,7 +94,7 @@ WlSessionLockSurface {
ParallelAnimation {
Anim {
duration: Tokens.anim.durations.expressiveFastSpatial
easing.bezierCurve: Tokens.anim.curves.expressiveFastSpatial
easing: Tokens.anim.expressiveFastSpatial
property: "scale"
target: lockContent
to: 1
@@ -116,7 +116,7 @@ WlSessionLockSurface {
Anim {
duration: Tokens.anim.durations.expressiveDefaultSpatial
easing.bezierCurve: Tokens.anim.curves.expressiveDefaultSpatial
easing: Tokens.anim.expressiveDefaultSpatial
property: "scale"
target: content
to: 1
@@ -125,12 +125,12 @@ WlSessionLockSurface {
Anim {
property: "radius"
target: lockBg
to: Tokens.rounding.large * 1.5
to: Tokens.rounding.largeIncreased * 1.5
}
Anim {
duration: Tokens.anim.durations.expressiveDefaultSpatial
easing.bezierCurve: Tokens.anim.curves.expressiveDefaultSpatial
easing: Tokens.anim.expressiveDefaultSpatial
property: "implicitWidth"
target: lockContent
to: (root.screen?.height ?? 0) * Config.lock.sizes.heightMult * Config.lock.sizes.ratio
@@ -138,7 +138,7 @@ WlSessionLockSurface {
Anim {
duration: Tokens.anim.durations.expressiveDefaultSpatial
easing.bezierCurve: Tokens.anim.curves.expressiveDefaultSpatial
easing: Tokens.anim.expressiveDefaultSpatial
property: "implicitHeight"
target: lockContent
to: (root.screen?.height ?? 0) * Config.lock.sizes.heightMult
+1 -1
View File
@@ -57,7 +57,7 @@ CustomClippingRect {
animate: true
color: Colors.palette.m3primary
elide: Text.ElideRight
font.pointSize: Tokens.font.size.medium
font.pointSize: Tokens.font.size.normal
horizontalAlignment: Text.AlignHCenter
text: (Players.active?.trackTitle ?? qsTr("Nothing playing")) || qsTr("Unknown track")
}
+5 -5
View File
@@ -18,7 +18,7 @@ ColumnLayout {
anchors.fill: parent
anchors.margins: Tokens.padding.large
spacing: Tokens.spacing.smaller
spacing: Tokens.spacing.small
CustomText {
Layout.fillWidth: true
@@ -48,7 +48,7 @@ ColumnLayout {
}
}
sourceComponent: ColumnLayout {
spacing: Tokens.spacing.large
spacing: Tokens.spacing.largeIncreased
Image {
asynchronous: true
@@ -88,7 +88,7 @@ ColumnLayout {
Anim {
duration: Tokens.anim.durations.expressiveDefaultSpatial
easing.bezierCurve: Tokens.anim.curves.expressiveDefaultSpatial
easing: Tokens.anim.expressiveDefaultSpatial
from: 0
property: "scale"
to: 1
@@ -104,7 +104,7 @@ ColumnLayout {
Anim {
duration: Tokens.anim.durations.expressiveDefaultSpatial
easing.bezierCurve: Tokens.anim.curves.expressiveDefaultSpatial
easing: Tokens.anim.expressiveDefaultSpatial
property: "y"
}
}
@@ -122,7 +122,7 @@ ColumnLayout {
Anim {
duration: Tokens.anim.durations.expressiveDefaultSpatial
easing.bezierCurve: Tokens.anim.curves.expressiveDefaultSpatial
easing: Tokens.anim.expressiveDefaultSpatial
property: "y"
}
}
+12 -12
View File
@@ -26,13 +26,13 @@ CustomRect {
anchors.right: parent?.right
clip: true
color: root.urgency === "critical" ? Colors.palette.m3secondaryContainer : Colors.layer(Colors.palette.m3surfaceContainerHigh, 2)
implicitHeight: content.implicitHeight + Tokens.padding.normal * 2
radius: Tokens.rounding.normal
implicitHeight: content.implicitHeight + Tokens.padding.small * 2
radius: Tokens.rounding.medium
Behavior on implicitHeight {
Anim {
duration: Tokens.anim.durations.expressiveDefaultSpatial
easing.bezierCurve: Tokens.anim.curves.expressiveDefaultSpatial
easing: Tokens.anim.expressiveDefaultSpatial
}
}
@@ -40,10 +40,10 @@ CustomRect {
id: content
anchors.left: parent.left
anchors.margins: Tokens.padding.normal
anchors.margins: Tokens.padding.small
anchors.right: parent.right
anchors.top: parent.top
spacing: Tokens.spacing.normal
spacing: Tokens.spacing.medium
Item {
Layout.alignment: Qt.AlignLeft | Qt.AlignTop
@@ -119,15 +119,15 @@ CustomRect {
}
ColumnLayout {
Layout.bottomMargin: -Tokens.padding.small / 2 - (root.expanded ? 0 : spacing)
Layout.bottomMargin: -Tokens.padding.extraSmall / 2 - (root.expanded ? 0 : spacing)
Layout.fillWidth: true
Layout.topMargin: -Tokens.padding.small
Layout.topMargin: -Tokens.padding.extraSmall
spacing: Math.round(Tokens.spacing.small / 2)
RowLayout {
Layout.bottomMargin: -parent.spacing
Layout.fillWidth: true
spacing: Tokens.spacing.smaller
spacing: Tokens.spacing.small
CustomText {
Layout.fillWidth: true
@@ -147,8 +147,8 @@ CustomRect {
CustomRect {
Layout.preferredWidth: root.notifs.length > Config.notifs.groupPreviewNum ? implicitWidth : 0
color: root.urgency === "critical" ? Colors.palette.m3error : Colors.layer(Colors.palette.m3surfaceContainerHighest, 2)
implicitHeight: groupCount.implicitHeight + Tokens.padding.small
implicitWidth: expandBtn.implicitWidth + Tokens.padding.smaller * 2
implicitHeight: groupCount.implicitHeight + Tokens.padding.extraSmall
implicitWidth: expandBtn.implicitWidth + Tokens.padding.small * 2
opacity: root.notifs.length > Config.notifs.groupPreviewNum ? 1 : 0
radius: Tokens.rounding.full
@@ -178,7 +178,7 @@ CustomRect {
CustomText {
id: groupCount
Layout.leftMargin: Tokens.padding.small / 2
Layout.leftMargin: Tokens.padding.extraSmall / 2
animate: true
color: root.urgency === "critical" ? Colors.palette.m3onError : Colors.palette.m3onSurface
font.pointSize: Tokens.font.size.small
@@ -186,7 +186,7 @@ CustomRect {
}
MaterialIcon {
Layout.rightMargin: -Tokens.padding.small / 2
Layout.rightMargin: -Tokens.padding.extraSmall / 2
animate: true
color: root.urgency === "critical" ? Colors.palette.m3onError : Colors.palette.m3onSurface
text: root.expanded ? "expand_less" : "expand_more"
+1 -1
View File
@@ -38,7 +38,7 @@ CustomRect {
anchors.fill: parent
anchors.margins: Tokens.padding.large
spacing: Tokens.spacing.large
spacing: Tokens.spacing.largeIncreased
Resource {
id: cpu
+1 -1
View File
@@ -53,7 +53,7 @@ ColumnLayout {
Layout.alignment: Qt.AlignHCenter
animate: true
color: Colors.palette.m3onSurfaceVariant
font.pointSize: Tokens.font.size.medium
font.pointSize: Tokens.font.size.normal
text: {
const today = Weather.forecast[0];
return qsTr("High %1 • Low %2").arg(Weather.formatTemp(today?.maxTempC)).arg(Weather.formatTemp(today?.minTempC));
+5 -5
View File
@@ -24,14 +24,14 @@ CustomRect {
MaterialIcon {
Layout.topMargin: Math.round(fontInfo.pointSize * 0.12)
font.pointSize: Tokens.font.size.medium
font.pointSize: Tokens.font.size.normal
text: "schedule"
}
CustomText {
id: title
font.pointSize: Tokens.font.size.medium
font.pointSize: Tokens.font.size.normal
text: qsTr("Hourly forecast")
}
}
@@ -47,7 +47,7 @@ CustomRect {
implicitHeight: contentItem.childrenRect.height
model: Weather.hourlyForecast
orientation: VerticalFadeListView.Horizontal
spacing: Tokens.spacing.normal
spacing: Tokens.spacing.medium
delegate: ColumnLayout {
id: hour
@@ -61,7 +61,7 @@ CustomRect {
MaterialShape {
Layout.alignment: Qt.AlignHCenter
color: Qt.alpha(Colors.palette.m3primary, hour.index === 0 ? 1 : 0)
implicitSize: temp.implicitHeight + Tokens.padding.normal * 2
implicitSize: temp.implicitHeight + Tokens.padding.small * 2
shape: MaterialShape.Cookie4Sided
Behavior on color {
@@ -74,7 +74,7 @@ CustomRect {
anchors.centerIn: parent
color: hour.index === 0 ? Colors.palette.m3onPrimary : Colors.palette.m3onSurface
font.pointSize: Tokens.font.size.medium
font.pointSize: Tokens.font.size.normal
text: Weather.formatTemp(hour.cond.tempC).slice(0, -1) // Remove C/F
}
}
+1 -1
View File
@@ -15,7 +15,7 @@ CustomRect {
implicitHeight: {
const base = brief.implicitHeight + brief.anchors.topMargin;
if (showForecast)
return base + Tokens.spacing.large + forecast.implicitHeight + forecast.anchors.margins;
return base + Tokens.spacing.largeIncreased + forecast.implicitHeight + forecast.anchors.margins;
return base + brief.anchors.topMargin;
}
radius: Tokens.rounding.small