diff options
| author | Thanh Minh <112760114+tmih06@users.noreply.github.com> | 2026-02-19 18:53:22 +0700 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2026-02-19 22:53:22 +1100 |
| commit | 46174d1934370b2f4a7da43a3dbc0289c14a5a2d (patch) | |
| tree | 2f401649de42e204f9904ed7797a3600e4654b57 /modules/controlcenter/components/ReadonlySlider.qml | |
| parent | feat: add wallpaperEnabled option (#1187) (diff) | |
| download | caelestia-shell-46174d1934370b2f4a7da43a3dbc0289c14a5a2d.tar.gz caelestia-shell-46174d1934370b2f4a7da43a3dbc0289c14a5a2d.tar.bz2 caelestia-shell-46174d1934370b2f4a7da43a3dbc0289c14a5a2d.zip | |
dashboard/performance: new design, configurable, controlcenter support (#975)
* feat(dashboard): add configurable performance resources
- Add config options to show/hide Battery, GPU, CPU, Memory, Storage
- Make dashboard responsive based on number of visible resources
- Scale resource sizes and spacing dynamically for 3, 4, or 5 items
- Battery shows charge status and time remaining/to full
- Each resource can be individually toggled via config
* fix(dashboard): add dynamic right margin for last visible resource
Ensures the rightmost resource always has proper margin to prevent
content from being cut off at the edge
* fix(performance): comment out duplicated value2 properties for memory and storage resources
* controlcenter: add settings for dashboard
* feat: handle readonly properties and re-usable codes
* Feature/performance tab rework (#5)
* dashboard/performance: rework tab with card-based grid layout
- Replace circular arc meters with card-based grid layout
- CPU/GPU cards show hardware name, usage and temperature with horizontal bars
- Memory card with 3/4 arc indicator and used/total at bottom
- Storage card shows physical disks from lsblk with aggregated partition usage
- Add cpuName, gpuName, cpuFreq, cpuMaxFreq, disks properties to SystemUsage
- Clean hardware names (remove Intel/AMD/NVIDIA prefixes, TM/R symbols)
* dashboard/performance: new hero card design
* dashboard/performance: update storage indicators to be reponsive to the physical disks count
* dashboard/performance: fix the overlay bounding issue
* dashboard/perfromance: refactor code
* dashboard/performance: add battery gauge
* dashboard/performance: correct battery icon
* dashboard/performance: configurable battery
* dashboard/performance: update layout
* dashboard/performance: move the "Usage" text on top and smaller the font size
* dashboard/performance: add a lot of configurations
* dashboard/performance: add network metrics
* fix: issue with hot reload
* chore: update default vaule for mainValueSpacing to 0
* chore: group settings into collapasible sections
* chore: making GPU & Battery toggle not showing if not found
* chore: fix network widget spacing & text
* chore: remove old disk bars configs, add update interval
* chore: remove old & unused value, functions
* chore: network graph update smoothly when data points change
* chore: refactor settings
- de-flood settings, most of the font & size setting now follow the
global Appearance config
- Most of sliders are not needed anymore, only keep the update interval
slider
- clean up
* chore: remove readonly properties from the controlcenter/dashboard.
* chore: minor fix
* fix: fix warning about onPercChange()
* fix: network metrics negative number
* fix: add minimal height & width, placeholder for none toggled
* fix: network graph move smoothly (#6)
* fix: network graph move smoothly
* clean up
* fix: graph animation even more smooth
* fix: padding issue
* chore: network icons short description
* fix
---------
Co-authored-by: 2 * r + 2 * t <61896496+soramanew@users.noreply.github.com>
Diffstat (limited to 'modules/controlcenter/components/ReadonlySlider.qml')
| -rw-r--r-- | modules/controlcenter/components/ReadonlySlider.qml | 67 |
1 files changed, 67 insertions, 0 deletions
diff --git a/modules/controlcenter/components/ReadonlySlider.qml b/modules/controlcenter/components/ReadonlySlider.qml new file mode 100644 index 0000000..169d636 --- /dev/null +++ b/modules/controlcenter/components/ReadonlySlider.qml @@ -0,0 +1,67 @@ +import ".." +import "../components" +import qs.components +import qs.components.controls +import qs.services +import qs.config +import QtQuick +import QtQuick.Layouts + +ColumnLayout { + id: root + + property string label: "" + property real value: 0 + property real from: 0 + property real to: 100 + property string suffix: "" + property bool readonly: false + + spacing: Appearance.spacing.small + + RowLayout { + Layout.fillWidth: true + spacing: Appearance.spacing.normal + + StyledText { + visible: root.label !== "" + text: root.label + font.pointSize: Appearance.font.size.normal + color: root.readonly ? Colours.palette.m3outline : Colours.palette.m3onSurface + } + + Item { + Layout.fillWidth: true + } + + MaterialIcon { + visible: root.readonly + text: "lock" + color: Colours.palette.m3outline + font.pointSize: Appearance.font.size.small + } + + StyledText { + text: Math.round(root.value) + (root.suffix !== "" ? " " + root.suffix : "") + font.pointSize: Appearance.font.size.normal + color: root.readonly ? Colours.palette.m3outline : Colours.palette.m3onSurface + } + } + + StyledRect { + Layout.fillWidth: true + implicitHeight: Appearance.padding.normal + radius: Appearance.rounding.full + color: Colours.layer(Colours.palette.m3surfaceContainerHighest, 1) + opacity: root.readonly ? 0.5 : 1.0 + + StyledRect { + anchors.left: parent.left + anchors.top: parent.top + anchors.bottom: parent.bottom + width: parent.width * ((root.value - root.from) / (root.to - root.from)) + radius: parent.radius + color: root.readonly ? Colours.palette.m3outline : Colours.palette.m3primary + } + } +} |