Files
illogical-impulse/dots/.config/quickshell/ii/modules/waffle/looks/WStackView.qml
T
2025-11-21 22:12:37 +01:00

87 lines
2.3 KiB
QML

import QtQuick
import QtQuick.Controls
import qs.modules.waffle.looks
StackView {
id: root
property real moveDistance: 20
property int pushDuration: 100
property list<real> bezierCurve: Looks.transition.easing.bezierCurve.easeIn
clip: true
property alias color: background.color
background: Rectangle {
id: background
color: Looks.colors.bgPanelBody
}
pushEnter: Transition {
XAnimator {
from: -root.moveDistance
to: 0
duration: root.pushDuration
easing.type: Easing.BezierSpline
easing.bezierCurve: root.bezierCurve
}
NumberAnimation {
properties: "opacity"
from: 0
to: 1
duration: root.pushDuration
easing.type: Easing.BezierSpline
easing.bezierCurve: root.bezierCurve
}
}
pushExit: Transition {
XAnimator {
from: 0
to: root.moveDistance
duration: root.pushDuration
easing.type: Easing.BezierSpline
easing.bezierCurve: root.bezierCurve
}
NumberAnimation {
properties: "opacity"
from: 1
to: 0
duration: root.pushDuration
easing.type: Easing.BezierSpline
easing.bezierCurve: root.bezierCurve
}
}
popEnter: Transition {
XAnimator {
from: root.moveDistance
to: 0
duration: root.pushDuration
easing.type: Easing.BezierSpline
easing.bezierCurve: root.bezierCurve
}
NumberAnimation {
properties: "opacity"
from: 0
to: 1
duration: root.pushDuration
easing.type: Easing.BezierSpline
easing.bezierCurve: root.bezierCurve
}
}
popExit: Transition {
XAnimator {
from: 0
to: -root.moveDistance
duration: root.pushDuration
easing.type: Easing.BezierSpline
easing.bezierCurve: root.bezierCurve
}
NumberAnimation {
properties: "opacity"
from: 1
to: 0
duration: root.pushDuration
easing.type: Easing.BezierSpline
easing.bezierCurve: root.bezierCurve
}
}
}