diff options
Diffstat (limited to 'components/controls/StyledScrollBar.qml')
| -rw-r--r-- | components/controls/StyledScrollBar.qml | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/components/controls/StyledScrollBar.qml b/components/controls/StyledScrollBar.qml new file mode 100644 index 0000000..61ddc6d --- /dev/null +++ b/components/controls/StyledScrollBar.qml @@ -0,0 +1,36 @@ +import ".." +import qs.services +import qs.config +import QtQuick +import QtQuick.Controls + +ScrollBar { + id: root + + contentItem: StyledRect { + implicitWidth: 6 + opacity: root.pressed ? 1 : root.policy === ScrollBar.AlwaysOn || (root.active && root.size < 1) ? 0.8 : 0 + radius: Appearance.rounding.full + color: Colours.palette.m3secondary + + Behavior on opacity { + NumberAnimation { + duration: Appearance.anim.durations.normal + easing.type: Easing.BezierSpline + easing.bezierCurve: Appearance.anim.curves.standard + } + } + } + + CustomMouseArea { + z: -1 + anchors.fill: parent + + function onWheel(event: WheelEvent): void { + if (event.angleDelta.y > 0) + root.decrease(); + else if (event.angleDelta.y < 0) + root.increase(); + } + } +} |