Compare commits
6 changed files with 12 additions and 21 deletions
|
|
@ -96,6 +96,7 @@ Column {
|
|||
history: S.BatteryService.history
|
||||
color: root._stateColor
|
||||
active: root.active
|
||||
maxSamples: 1440
|
||||
backgroundTint: 0.07
|
||||
areaMode: true
|
||||
thresholds: [
|
||||
|
|
@ -162,6 +163,7 @@ Column {
|
|||
history: S.BatteryService.rateHistory
|
||||
color: root._stateColor
|
||||
active: root.active
|
||||
maxSamples: 60
|
||||
maxValue: null
|
||||
minValue: null
|
||||
backgroundTint: 0.08
|
||||
|
|
|
|||
|
|
@ -84,6 +84,7 @@ Column {
|
|||
height: 36
|
||||
history: S.SystemStats.gpuHistory
|
||||
active: root.active
|
||||
maxSamples: 60
|
||||
colorFunction: v => S.Theme.loadColor(v)
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -80,6 +80,7 @@ Column {
|
|||
history: S.SystemStats.memHistory
|
||||
color: root.accentColor
|
||||
active: root.active
|
||||
maxSamples: 30
|
||||
backgroundTint: 0.15
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -13,6 +13,9 @@ Canvas {
|
|||
readonly property real _max: maxValue !== null && maxValue !== undefined ? maxValue : (history.length ? Math.max(...history) : 100)
|
||||
readonly property real _min: minValue !== null && minValue !== undefined ? minValue : (history.length ? Math.min(...history) : 0)
|
||||
|
||||
// Max x-axis slots - bars get narrower as data fills up, then oldest drops off
|
||||
property int maxSamples: 0
|
||||
|
||||
// Logarithmic x-axis: compresses old data on the left, expands recent data on the right.
|
||||
// logCurve controls strength (0 = linear, 3 = strong compression). Only visual - does not affect data.
|
||||
property bool logScale: false
|
||||
|
|
@ -66,8 +69,9 @@ Canvas {
|
|||
const x1 = width * (Math.exp(k * (i + 1) / n) - 1) / expK;
|
||||
return [x0, x1 - x0];
|
||||
}
|
||||
const step = width / n;
|
||||
return [i * step, step];
|
||||
const step = width / (maxSamples > n ? maxSamples : n);
|
||||
const off = maxSamples > n ? (maxSamples - n) * step : 0;
|
||||
return [off + i * step, step];
|
||||
}
|
||||
|
||||
// Background tint
|
||||
|
|
@ -145,7 +149,7 @@ Canvas {
|
|||
const dy = yOf(d[i]);
|
||||
const barTop = Math.min(dy, zy);
|
||||
const barH = Math.max(1, Math.abs(dy - zy));
|
||||
ctx.fillRect(bx, barTop, Math.ceil(bw), barH);
|
||||
ctx.fillRect(bx, barTop, Math.max(1, bw - 0.5), barH);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -113,6 +113,7 @@ Column {
|
|||
history: root.history
|
||||
color: root.stateColor
|
||||
active: root.active
|
||||
maxSamples: 150
|
||||
backgroundTint: 0.08
|
||||
thresholds: [
|
||||
{
|
||||
|
|
|
|||
|
|
@ -15,24 +15,6 @@ RowLayout {
|
|||
required property var bar
|
||||
property var _activeMenu: null
|
||||
|
||||
Component.onCompleted: console.log("[TrayModule] created, enable:", S.Modules.tray.enable, "repeater count:", _trayRepeater.count)
|
||||
|
||||
onVisibleChanged: console.log("[TrayModule] visible:", visible, "enable:", S.Modules.tray.enable, "count:", _trayRepeater.count)
|
||||
|
||||
Connections {
|
||||
target: _trayRepeater
|
||||
function onCountChanged() {
|
||||
console.log("[TrayModule] repeater count:", _trayRepeater.count);
|
||||
}
|
||||
}
|
||||
|
||||
Connections {
|
||||
target: SystemTray.items
|
||||
function onValuesChanged() {
|
||||
console.log("[TrayModule] model valuesChanged, values.length:", SystemTray.items.values.length, "repeater count:", _trayRepeater.count);
|
||||
}
|
||||
}
|
||||
|
||||
Repeater {
|
||||
id: _trayRepeater
|
||||
model: SystemTray.items
|
||||
|
|
|
|||
Reference in a new issue