Files

39 lines
1.4 KiB
QML

import qs.Common
import qs.Services
MonitorPill {
id: root
signal ramClicked
readonly property bool showSwap: SettingsData.widgetOption("memUsage", widgetData, "showSwap")
readonly property bool showInGb: SettingsData.widgetOption("memUsage", widgetData, "showInGb")
readonly property real usage: DgopService.memoryUsage
readonly property real swapUsage: DgopService.totalSwapKB > 0 ? (DgopService.usedSwapKB / DgopService.totalSwapKB) * 100 : 0
readonly property bool swapShown: showSwap && DgopService.totalSwapKB > 0
readonly property string usedText: showInGb ? (DgopService.usedMemoryMB / 1024).toFixed(1) : usage.toFixed(0)
widgetType: "memUsage"
dgopModules: ["memory"]
iconName: "developer_board"
level: usage
warnLevel: 75
dangerLevel: 90
verticalText: usage ? usedText : "--"
verticalSecondaryText: swapShown ? swapUsage.toFixed(0) : ""
horizontalText: {
if (!usage)
return showInGb ? "-- GB" : "--%";
const base = showInGb ? usedText + " GB" : usedText + "%";
return swapShown ? base + " · " + swapUsage.toFixed(0) + "%" : base;
}
reserveText: {
const base = showInGb ? "88.8 GB" : "88%";
if (!showSwap)
return base;
return swapUsage < 10 ? base + " · 0%" : base + " · 88%";
}
sortKey: "memory"
onActivated: ramClicked()
}