add full proj
This commit is contained in:
66
widgets/CpuGraph.qml
Normal file
66
widgets/CpuGraph.qml
Normal file
@@ -0,0 +1,66 @@
|
||||
import QtQuick
|
||||
import QtQuick.Layouts
|
||||
import "../config"
|
||||
import "../services"
|
||||
|
||||
// CPU usage as a live filled-area graph plus the current percentage.
|
||||
Pill {
|
||||
id: root
|
||||
spacing: Theme.spacing
|
||||
|
||||
Text {
|
||||
text: Icons.cpu
|
||||
font.family: Theme.monoFont
|
||||
font.pixelSize: Theme.fontSize + 1
|
||||
color: Theme.loadColor(SysStats.cpu)
|
||||
Layout.alignment: Qt.AlignVCenter
|
||||
}
|
||||
|
||||
// One vertical bar per core, filled from the bottom by that core's load.
|
||||
Row {
|
||||
id: cores
|
||||
Layout.alignment: Qt.AlignVCenter
|
||||
spacing: 1
|
||||
readonly property int barH: Theme.barHeight - Theme.gap * 2 - 12
|
||||
|
||||
Repeater {
|
||||
model: SysStats.coreCount
|
||||
delegate: Rectangle {
|
||||
readonly property real load: SysStats.coreLoads[index] || 0
|
||||
width: 3
|
||||
height: cores.barH
|
||||
radius: 1
|
||||
color: Qt.rgba(1, 1, 1, 0.08) // unfilled track
|
||||
|
||||
Rectangle {
|
||||
anchors.bottom: parent.bottom
|
||||
width: parent.width
|
||||
radius: 1
|
||||
height: Math.max(1, parent.height * (parent.load / 100))
|
||||
color: Theme.loadColor(parent.load)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Text {
|
||||
text: SysStats.cpu.toFixed(0) + "%"
|
||||
font.family: Theme.font
|
||||
font.pixelSize: Theme.fontSize
|
||||
color: Theme.text
|
||||
Layout.alignment: Qt.AlignVCenter
|
||||
Layout.preferredWidth: 42 // fits "100%" at fontSize 15
|
||||
horizontalAlignment: Text.AlignRight
|
||||
}
|
||||
|
||||
// Max current core frequency, shown in GHz.
|
||||
Text {
|
||||
text: (SysStats.cpuFreq / 1000).toFixed(1) + "GHz"
|
||||
font.family: Theme.font
|
||||
font.pixelSize: Theme.fontSize
|
||||
color: Theme.subtext
|
||||
Layout.alignment: Qt.AlignVCenter
|
||||
Layout.preferredWidth: 56 // fits "0.0GHz" at fontSize 15
|
||||
horizontalAlignment: Text.AlignRight
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user