feat: graphs now properly sized + port static graphs to c++

This commit is contained in:
2026-11-08 01:28:27 +01:00
parent a7767d2a80
commit d69a6bcafd
17 changed files with 1592 additions and 1257 deletions
@@ -101,6 +101,7 @@ orientation: Qt.Vertical
line1Color: card.accent
line1FillAlpha: 0.15
maxValue: 1.0
slideInterval: Config.dashboard.resourceUpdateInterval
slideProgress: 1
Connections {
@@ -114,9 +115,14 @@ orientation: Qt.Vertical
NumberAnimation {
id: slideAnim
// Only drives frames; the slide phase is the sample
// clock inside SparklineItem. It must not stop at the
// end of a cycle, or the newest value is held on the
// clipped edge until the next sample arrives.
duration: Config.dashboard.resourceUpdateInterval
easing.type: Easing.Linear
from: 0
loops: Animation.Infinite
property: "slideProgress"
target: sparkline
to: 1
+8 -12
View File
@@ -25,14 +25,6 @@ SnapLayout {
return ZUtils.snap(d.getHours() + d.getMinutes() / 60, root);
}
function formatHour(h) {
if (root.useTwelveHourClock) {
const hr = h % 12 === 0 ? 12 : h % 12;
return hr + (h < 12 ? " AM" : " PM");
}
return h;
}
Timer {
interval: 60000
repeat: true
@@ -78,8 +70,10 @@ SnapLayout {
minHorizontalLines: 3
yPaddingTop: horizontalLineStep
yPaddingBottom: horizontalLineStep
xLabel: i => root.formatHour(i)
yLabel: v => Math.round(v) + "°"
xLabelMode: LineGraph.Hour
useTwelveHourClock: root.useTwelveHourClock
yLabelMode: LineGraph.Value
yLabelSuffix: "°"
markerX: root.markerX
smoothing: root.smoothing
@@ -133,8 +127,10 @@ SnapLayout {
verticalLineStep: 3
lastXLine: false
horizontalLineStep: 30
xLabel: i => root.formatHour(i)
yLabel: v => v + "%"
xLabelMode: LineGraph.Hour
useTwelveHourClock: root.useTwelveHourClock
yLabelMode: LineGraph.Value
yLabelSuffix: "%"
markerX: root.markerX
smoothing: root.smoothing