summaryrefslogtreecommitdiff
path: root/widgets/VerticalSlider.qml
diff options
context:
space:
mode:
author2 * r + 2 * t <61896496+soramanew@users.noreply.github.com>2025-08-04 22:45:15 +1000
committer2 * r + 2 * t <61896496+soramanew@users.noreply.github.com>2025-08-04 22:45:15 +1000
commitc5381c5194adf97c240acb98eb4c4c950633b325 (patch)
tree52b18eb1771ec6708c86f11d786684f03b8a7c48 /widgets/VerticalSlider.qml
parentdashboard: display correct temp units (diff)
downloadcaelestia-shell-c5381c5194adf97c240acb98eb4c4c950633b325.tar.gz
caelestia-shell-c5381c5194adf97c240acb98eb4c4c950633b325.tar.bz2
caelestia-shell-c5381c5194adf97c240acb98eb4c4c950633b325.zip
internal: refactor widgets folder
Split into subdirs and rename to components
Diffstat (limited to 'widgets/VerticalSlider.qml')
-rw-r--r--widgets/VerticalSlider.qml136
1 files changed, 0 insertions, 136 deletions
diff --git a/widgets/VerticalSlider.qml b/widgets/VerticalSlider.qml
deleted file mode 100644
index 9b55a0d..0000000
--- a/widgets/VerticalSlider.qml
+++ /dev/null
@@ -1,136 +0,0 @@
-import qs.widgets
-import qs.services
-import qs.config
-import QtQuick
-import QtQuick.Controls
-
-Slider {
- id: root
-
- required property string icon
- property real oldValue
-
- orientation: Qt.Vertical
-
- background: StyledRect {
- color: Colours.alpha(Colours.palette.m3surfaceContainer, true)
- radius: Appearance.rounding.full
-
- StyledRect {
- anchors.left: parent.left
- anchors.right: parent.right
-
- y: root.handle.y
- implicitHeight: parent.height - y
-
- color: Colours.alpha(Colours.palette.m3secondary, true)
- radius: Appearance.rounding.full
- }
- }
-
- handle: Item {
- id: handle
-
- property bool moving
-
- y: root.visualPosition * (root.availableHeight - height)
- implicitWidth: root.width
- implicitHeight: root.width
-
- Elevation {
- anchors.fill: parent
- radius: rect.radius
- level: handleInteraction.containsMouse ? 2 : 1
- }
-
- StyledRect {
- id: rect
-
- anchors.fill: parent
-
- color: Colours.alpha(Colours.palette.m3inverseSurface, true)
- radius: Appearance.rounding.full
-
- MouseArea {
- id: handleInteraction
-
- anchors.fill: parent
- hoverEnabled: true
- cursorShape: Qt.PointingHandCursor
- acceptedButtons: Qt.NoButton
- }
-
- MaterialIcon {
- id: icon
-
- property bool moving: handle.moving
-
- function update(): void {
- animate = !moving;
- text = moving ? Qt.binding(() => Math.round(root.value * 100)) : Qt.binding(() => root.icon);
- font.pointSize = moving ? Appearance.font.size.small : Appearance.font.size.larger;
- font.family = moving ? Appearance.font.family.sans : Appearance.font.family.material;
- }
-
- animate: true
- text: root.icon
- color: Colours.palette.m3inverseOnSurface
- anchors.centerIn: parent
-
- Behavior on moving {
- SequentialAnimation {
- NumberAnimation {
- target: icon
- property: "scale"
- from: 1
- to: 0
- duration: Appearance.anim.durations.normal / 2
- easing.type: Easing.BezierSpline
- easing.bezierCurve: Appearance.anim.curves.standardAccel
- }
- ScriptAction {
- script: icon.update()
- }
- NumberAnimation {
- target: icon
- property: "scale"
- from: 0
- to: 1
- duration: Appearance.anim.durations.normal / 2
- easing.type: Easing.BezierSpline
- easing.bezierCurve: Appearance.anim.curves.standardDecel
- }
- }
- }
- }
- }
- }
-
- onPressedChanged: handle.moving = pressed
-
- onValueChanged: {
- if (Math.abs(value - oldValue) < 0.01)
- return;
- oldValue = value;
- handle.moving = true;
- stateChangeDelay.restart();
- }
-
- Timer {
- id: stateChangeDelay
-
- interval: 500
- onTriggered: {
- if (!root.pressed)
- handle.moving = false;
- }
- }
-
- Behavior on value {
- NumberAnimation {
- duration: Appearance.anim.durations.large
- easing.type: Easing.BezierSpline
- easing.bezierCurve: Appearance.anim.curves.standard
- }
- }
-}