forked from Shinonome/dots-hyprland
proper anim for action center stackview
This commit is contained in:
@@ -0,0 +1,86 @@
|
||||
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
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user