157 lines
3.0 KiB
QML
157 lines
3.0 KiB
QML
import QtQuick
|
|
import QtQuick.Layouts
|
|
import ZShell
|
|
import ZShell.Components
|
|
import ZShell.Services
|
|
import ZShell.Config
|
|
import qs.Components
|
|
import qs.Modules.Resources.Cards
|
|
import qs.Helpers
|
|
import qs.Services
|
|
|
|
Item {
|
|
id: root
|
|
|
|
required property Wrapper wrapper
|
|
|
|
implicitHeight: ZUtils.snap(content.implicitHeight + Tokens.padding.small * 2, root)
|
|
implicitWidth: ZUtils.snap(content.implicitWidth, root)
|
|
|
|
SnapLayout {
|
|
id: content
|
|
|
|
anchors.fill: parent
|
|
anchors.margins: Tokens.padding.small
|
|
spacing: Tokens.spacing.large
|
|
|
|
SnapLayout {
|
|
id: mainColumn
|
|
|
|
Layout.fillWidth: true
|
|
spacing: Tokens.spacing.medium
|
|
orientation: Qt.Vertical
|
|
|
|
SnapLayout {
|
|
id: hero
|
|
spacing: Tokens.spacing.medium
|
|
visible: cpuCard.active || gpuCard.active
|
|
|
|
WrappedLoader {
|
|
id: cpuCard
|
|
|
|
active: Config.dashboard.performance.showCpu
|
|
|
|
sourceComponent: HeroCard {
|
|
accent: Colors.palette.m3primary
|
|
icon: "memory"
|
|
label: qsTr("CPU")
|
|
subLabel: Cpu.name
|
|
temperature: Cpu.temperature
|
|
usage: Cpu.percentage
|
|
|
|
ServiceRef {
|
|
service: Cpu
|
|
}
|
|
}
|
|
}
|
|
|
|
WrappedLoader {
|
|
id: gpuCard
|
|
|
|
active: Config.dashboard.performance.showGpu && Gpu.type !== Gpu.None
|
|
|
|
sourceComponent: HeroCard {
|
|
accent: Colors.palette.m3secondary
|
|
icon: "desktop_windows"
|
|
label: qsTr("GPU")
|
|
subLabel: Gpu.name
|
|
temperature: Gpu.temperature
|
|
usage: Gpu.percentage
|
|
|
|
ServiceRef {
|
|
service: Gpu
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
SnapLayout {
|
|
id: card
|
|
|
|
Layout.fillWidth: true
|
|
spacing: Tokens.spacing.medium
|
|
visible: storageCard.active || memoryCard.active || vramCard.active || networkCard1.active
|
|
|
|
WrappedLoader {
|
|
id: storageCard
|
|
|
|
active: Config.dashboard.performance.showStorage
|
|
|
|
sourceComponent: StorageCard {}
|
|
}
|
|
|
|
WrappedLoader {
|
|
id: memoryCard
|
|
|
|
active: Config.dashboard.performance.showMemory
|
|
|
|
sourceComponent: MemoryCard {
|
|
used: Memory.used
|
|
total: Memory.total
|
|
perc: Memory.percentage
|
|
label: qsTr("Memory")
|
|
icon: "memory_alt"
|
|
|
|
ServiceRef {
|
|
service: Memory
|
|
}
|
|
}
|
|
}
|
|
|
|
WrappedLoader {
|
|
id: vramCard
|
|
|
|
active: Config.dashboard.performance.showVram
|
|
|
|
sourceComponent: MemoryCard {
|
|
used: Gpu.memoryUsed
|
|
total: Gpu.memoryTotal
|
|
perc: Gpu.memoryUsed / Gpu.memoryTotal
|
|
label: qsTr("Video memory")
|
|
icon: "memory_alt"
|
|
}
|
|
}
|
|
|
|
WrappedLoader {
|
|
id: networkCard1
|
|
|
|
active: Config.dashboard.performance.showNetwork && !vramCard.active
|
|
|
|
sourceComponent: NetworkCard {}
|
|
}
|
|
}
|
|
|
|
WrappedLoader {
|
|
id: networkCard2
|
|
|
|
active: Config.dashboard.performance.showNetwork && vramCard.active
|
|
|
|
sourceComponent: NetworkCard {}
|
|
}
|
|
}
|
|
|
|
WrappedLoader {
|
|
Layout.fillWidth: false
|
|
active: Battery.isLaptop && Config.dashboard.performance.showBattery
|
|
|
|
sourceComponent: BatteryTank {}
|
|
}
|
|
}
|
|
|
|
component WrappedLoader: Loader {
|
|
Layout.fillHeight: true
|
|
Layout.fillWidth: true
|
|
visible: active
|
|
}
|
|
}
|