nosignal-shell/modules/nexus/pages/panels/DashboardPanel.qml
2026-06-07 18:01:13 +10:00

146 lines
4.1 KiB
QML

pragma ComponentBehavior: Bound
import QtQuick
import QtQuick.Layouts
import Caelestia.Config
import qs.components
import qs.modules.nexus.common
PageBase {
id: root
title: qsTr("Dashboard")
isSubPage: true
ColumnLayout {
anchors.horizontalCenter: parent.horizontalCenter
anchors.top: parent.top
width: root.cappedWidth
spacing: Tokens.spacing.extraSmall / 2
// General
SectionHeader {
first: true
text: qsTr("General")
}
ToggleRow {
Layout.fillWidth: true
first: true
text: qsTr("Enabled")
checked: Config.dashboard.enabled
onToggled: GlobalConfig.dashboard.enabled = checked
}
ToggleRow {
Layout.fillWidth: true
last: true
text: qsTr("Show on hover")
subtext: qsTr("Reveal when the cursor reaches the screen edge")
checked: Config.dashboard.showOnHover
onToggled: GlobalConfig.dashboard.showOnHover = checked
}
// Tabs
SectionHeader {
text: qsTr("Tabs")
}
ToggleRow {
Layout.fillWidth: true
first: true
text: qsTr("Dashboard")
checked: Config.dashboard.showDashboard
onToggled: GlobalConfig.dashboard.showDashboard = checked
}
ToggleRow {
Layout.fillWidth: true
text: qsTr("Media")
checked: Config.dashboard.showMedia
onToggled: GlobalConfig.dashboard.showMedia = checked
}
ToggleRow {
Layout.fillWidth: true
text: qsTr("Performance")
checked: Config.dashboard.showPerformance
onToggled: GlobalConfig.dashboard.showPerformance = checked
}
ToggleRow {
Layout.fillWidth: true
last: true
text: qsTr("Weather")
checked: Config.dashboard.showWeather
onToggled: GlobalConfig.dashboard.showWeather = checked
}
// Performance widgets
SectionHeader {
text: qsTr("Performance widgets")
}
ToggleRow {
Layout.fillWidth: true
first: true
text: qsTr("Battery")
checked: Config.dashboard.performance.showBattery
onToggled: GlobalConfig.dashboard.performance.showBattery = checked
}
ToggleRow {
Layout.fillWidth: true
text: qsTr("GPU")
checked: Config.dashboard.performance.showGpu
onToggled: GlobalConfig.dashboard.performance.showGpu = checked
}
ToggleRow {
Layout.fillWidth: true
text: qsTr("CPU")
checked: Config.dashboard.performance.showCpu
onToggled: GlobalConfig.dashboard.performance.showCpu = checked
}
ToggleRow {
Layout.fillWidth: true
text: qsTr("Memory")
checked: Config.dashboard.performance.showMemory
onToggled: GlobalConfig.dashboard.performance.showMemory = checked
}
ToggleRow {
Layout.fillWidth: true
text: qsTr("Storage")
checked: Config.dashboard.performance.showStorage
onToggled: GlobalConfig.dashboard.performance.showStorage = checked
}
ToggleRow {
Layout.fillWidth: true
last: true
text: qsTr("Network")
checked: Config.dashboard.performance.showNetwork
onToggled: GlobalConfig.dashboard.performance.showNetwork = checked
}
// Behaviour
SectionHeader {
text: qsTr("Behaviour")
}
StepperRow {
Layout.fillWidth: true
first: true
last: true
label: qsTr("Drag threshold")
subtext: qsTr("Pixels dragged before the dashboard opens")
value: Config.dashboard.dragThreshold
from: 0
to: 200
stepSize: 5
onMoved: v => GlobalConfig.dashboard.dragThreshold = v
}
}
}