1
0
mirror of https://github.com/AvengeMedia/DankMaterialShell.git synced 2025-12-06 21:45:38 -05:00

meta: many resource usage improvements and consolidations

This commit is contained in:
bbedward
2025-07-24 12:44:11 -04:00
parent ee2cbd708d
commit e3e3788a37
34 changed files with 1614 additions and 1382 deletions

View File

@@ -7,6 +7,14 @@ Column {
id: root
property var contextMenu: null
Component.onCompleted: {
SysMonitorService.addRef();
}
Component.onDestruction: {
SysMonitorService.removeRef();
}
Item {
id: columnHeaders
@@ -14,66 +22,129 @@ Column {
anchors.leftMargin: 8
height: 24
Text {
text: "Process"
font.pixelSize: Theme.fontSizeSmall
font.weight: Font.Medium
color: Theme.surfaceText
opacity: 0.7
Rectangle {
width: 60
height: 20
color: processHeaderArea.containsMouse ? Qt.rgba(Theme.surfaceText.r, Theme.surfaceText.g, Theme.surfaceText.b, 0.08) : "transparent"
radius: Theme.cornerRadius
anchors.left: parent.left
anchors.leftMargin: 0 // Left align with content area
anchors.leftMargin: 0
anchors.verticalCenter: parent.verticalCenter
Text {
text: "Process"
font.pixelSize: Theme.fontSizeSmall
font.weight: SysMonitorService.sortBy === "name" ? Font.Bold : Font.Medium
color: Theme.surfaceText
opacity: SysMonitorService.sortBy === "name" ? 1.0 : 0.7
anchors.centerIn: parent
}
MouseArea {
id: processHeaderArea
anchors.fill: parent
hoverEnabled: true
cursorShape: Qt.PointingHandCursor
onClicked: SysMonitorService.setSortBy("name")
}
Behavior on color {
ColorAnimation { duration: Theme.shortDuration }
}
}
Rectangle {
width: 80
height: 20
color: "transparent"
color: cpuHeaderArea.containsMouse ? Qt.rgba(Theme.surfaceText.r, Theme.surfaceText.g, Theme.surfaceText.b, 0.08) : "transparent"
radius: Theme.cornerRadius
anchors.right: parent.right
anchors.rightMargin: 200 // Slight adjustment to move right
anchors.rightMargin: 200
anchors.verticalCenter: parent.verticalCenter
Text {
text: "CPU"
font.pixelSize: Theme.fontSizeSmall
font.weight: Font.Medium
font.weight: SysMonitorService.sortBy === "cpu" ? Font.Bold : Font.Medium
color: Theme.surfaceText
opacity: 0.7
opacity: SysMonitorService.sortBy === "cpu" ? 1.0 : 0.7
anchors.centerIn: parent
}
MouseArea {
id: cpuHeaderArea
anchors.fill: parent
hoverEnabled: true
cursorShape: Qt.PointingHandCursor
onClicked: SysMonitorService.setSortBy("cpu")
}
Behavior on color {
ColorAnimation { duration: Theme.shortDuration }
}
}
Rectangle {
width: 80
height: 20
color: "transparent"
color: memoryHeaderArea.containsMouse ? Qt.rgba(Theme.surfaceText.r, Theme.surfaceText.g, Theme.surfaceText.b, 0.08) : "transparent"
radius: Theme.cornerRadius
anchors.right: parent.right
anchors.rightMargin: 112 // Move right by decreasing rightMargin
anchors.rightMargin: 112
anchors.verticalCenter: parent.verticalCenter
Text {
text: "RAM"
font.pixelSize: Theme.fontSizeSmall
font.weight: Font.Medium
font.weight: SysMonitorService.sortBy === "memory" ? Font.Bold : Font.Medium
color: Theme.surfaceText
opacity: 0.7
opacity: SysMonitorService.sortBy === "memory" ? 1.0 : 0.7
anchors.centerIn: parent
}
MouseArea {
id: memoryHeaderArea
anchors.fill: parent
hoverEnabled: true
cursorShape: Qt.PointingHandCursor
onClicked: SysMonitorService.setSortBy("memory")
}
Behavior on color {
ColorAnimation { duration: Theme.shortDuration }
}
}
Text {
text: "PID"
font.pixelSize: Theme.fontSizeSmall
font.weight: Font.Medium
color: Theme.surfaceText
opacity: 0.7
Rectangle {
width: 50
horizontalAlignment: Text.AlignRight
height: 20
color: pidHeaderArea.containsMouse ? Qt.rgba(Theme.surfaceText.r, Theme.surfaceText.g, Theme.surfaceText.b, 0.08) : "transparent"
radius: Theme.cornerRadius
anchors.right: parent.right
anchors.rightMargin: 53 // Move left by increasing rightMargin
anchors.rightMargin: 53
anchors.verticalCenter: parent.verticalCenter
Text {
text: "PID"
font.pixelSize: Theme.fontSizeSmall
font.weight: SysMonitorService.sortBy === "pid" ? Font.Bold : Font.Medium
color: Theme.surfaceText
opacity: SysMonitorService.sortBy === "pid" ? 1.0 : 0.7
horizontalAlignment: Text.AlignHCenter
anchors.centerIn: parent
}
MouseArea {
id: pidHeaderArea
anchors.fill: parent
hoverEnabled: true
cursorShape: Qt.PointingHandCursor
onClicked: SysMonitorService.setSortBy("pid")
}
Behavior on color {
ColorAnimation { duration: Theme.shortDuration }
}
}
Rectangle {
@@ -86,7 +157,7 @@ Column {
anchors.verticalCenter: parent.verticalCenter
Text {
text: ProcessMonitorService.sortDescending ? "↓" : "↑"
text: SysMonitorService.sortDescending ? "↓" : "↑"
font.pixelSize: Theme.fontSizeMedium
color: Theme.surfaceText
anchors.centerIn: parent
@@ -98,7 +169,7 @@ Column {
anchors.fill: parent
hoverEnabled: true
cursorShape: Qt.PointingHandCursor
onClicked: ProcessMonitorService.toggleSortOrder()
onClicked: SysMonitorService.toggleSortOrder()
}
Behavior on color {
@@ -123,7 +194,7 @@ Column {
id: processListView
anchors.fill: parent
model: ProcessMonitorService.processes
model: SysMonitorService.processes
spacing: 4
delegate: ProcessListItem {