Files
z-bar-qt/Modules/Resources/Content.qml
T

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
}
}