147 lines
No EOL
4.6 KiB
QML
147 lines
No EOL
4.6 KiB
QML
import QtQuick 2.15
|
|
import QtQuick.Layouts 1.15
|
|
import QtQuick.Controls 2.15
|
|
import Quickshell.Io
|
|
import qs.Components
|
|
import qs.Services
|
|
import qs.Settings
|
|
|
|
Rectangle {
|
|
id: systemMonitor
|
|
width: 70
|
|
height: 250
|
|
color: "transparent"
|
|
|
|
property bool isVisible: false
|
|
|
|
Rectangle {
|
|
id: card
|
|
anchors.fill: parent
|
|
color: Theme.surface
|
|
radius: 18
|
|
|
|
ColumnLayout {
|
|
anchors.fill: parent
|
|
anchors.margins: 8
|
|
spacing: 12
|
|
Layout.alignment: Qt.AlignVCenter
|
|
|
|
// CPU Usage
|
|
Item {
|
|
width: 50; height: 50
|
|
CircularProgressBar {
|
|
id: cpuBar
|
|
progress: Sysinfo.cpuUsage / 100
|
|
size: 50
|
|
strokeWidth: 4
|
|
hasNotch: true
|
|
notchIcon: "speed"
|
|
notchIconSize: 14
|
|
Layout.alignment: Qt.AlignHCenter
|
|
}
|
|
MouseArea {
|
|
id: cpuBarMouse
|
|
anchors.fill: parent
|
|
hoverEnabled: true
|
|
onEntered: cpuTooltip.tooltipVisible = true
|
|
onExited: cpuTooltip.tooltipVisible = false
|
|
}
|
|
StyledTooltip {
|
|
id: cpuTooltip
|
|
text: 'CPU Usage: ' + Sysinfo.cpuUsage + '%'
|
|
tooltipVisible: false
|
|
targetItem: cpuBar
|
|
delay: 200
|
|
}
|
|
}
|
|
|
|
// Cpu Temp
|
|
Item {
|
|
width: 50; height: 50
|
|
CircularProgressBar {
|
|
id: tempBar
|
|
progress: Sysinfo.cpuTemp / 100
|
|
size: 50
|
|
strokeWidth: 4
|
|
hasNotch: true
|
|
units: "°C"
|
|
notchIcon: "thermometer"
|
|
notchIconSize: 14
|
|
Layout.alignment: Qt.AlignHCenter
|
|
}
|
|
MouseArea {
|
|
id: tempBarMouse
|
|
anchors.fill: parent
|
|
hoverEnabled: true
|
|
onEntered: tempTooltip.tooltipVisible = true
|
|
onExited: tempTooltip.tooltipVisible = false
|
|
}
|
|
StyledTooltip {
|
|
id: tempTooltip
|
|
text: 'CPU Temp: ' + Sysinfo.cpuTemp + '°C'
|
|
tooltipVisible: false
|
|
targetItem: tempBar
|
|
delay: 200
|
|
}
|
|
}
|
|
|
|
// Memory Usage
|
|
Item {
|
|
width: 50; height: 50
|
|
CircularProgressBar {
|
|
id: memBar
|
|
progress: Sysinfo.memoryUsagePer / 100
|
|
size: 50
|
|
strokeWidth: 4
|
|
hasNotch: true
|
|
notchIcon: "memory"
|
|
notchIconSize: 14
|
|
Layout.alignment: Qt.AlignHCenter
|
|
}
|
|
MouseArea {
|
|
id: memBarMouse
|
|
anchors.fill: parent
|
|
hoverEnabled: true
|
|
onEntered: memTooltip.tooltipVisible = true
|
|
onExited: memTooltip.tooltipVisible = false
|
|
}
|
|
StyledTooltip {
|
|
id: memTooltip
|
|
text: 'Memory Usage: ' + Sysinfo.memoryUsagePer + '% (' + Sysinfo.memoryUsageStr + ' used)'
|
|
tooltipVisible: false
|
|
targetItem: memBar
|
|
delay: 200
|
|
}
|
|
}
|
|
|
|
// Disk Usage
|
|
Item {
|
|
width: 50; height: 50
|
|
CircularProgressBar {
|
|
id: diskBar
|
|
progress: Sysinfo.diskUsage / 100
|
|
size: 50
|
|
strokeWidth: 4
|
|
hasNotch: true
|
|
notchIcon: "storage"
|
|
notchIconSize: 14
|
|
Layout.alignment: Qt.AlignHCenter
|
|
}
|
|
MouseArea {
|
|
id: diskBarMouse
|
|
anchors.fill: parent
|
|
hoverEnabled: true
|
|
onEntered: diskTooltip.tooltipVisible = true
|
|
onExited: diskTooltip.tooltipVisible = false
|
|
}
|
|
StyledTooltip {
|
|
id: diskTooltip
|
|
text: 'Disk Usage: ' + Sysinfo.diskUsage + '%'
|
|
tooltipVisible: false
|
|
targetItem: diskBar
|
|
delay: 200
|
|
}
|
|
}
|
|
}
|
|
}
|
|
} |