taskswitcher: Bring back task preview if it doesn't close within 3 secs

This commit is contained in:
Devin Lin 2021-12-31 00:18:35 -05:00
parent aff0064b62
commit 7c710d46f3

View file

@ -64,6 +64,13 @@ Item {
width: parent.width
height: parent.height
property bool movingUp: false
property real oldY: y
onYChanged: {
movingUp = y < oldY;
oldY = y;
}
// drag up gesture
DragHandler {
id: dragHandler
@ -78,7 +85,7 @@ Item {
onActiveChanged: {
yAnimator.stop();
if (parent.y < -PlasmaCore.Units.gridUnit * 2) {
if (control.movingUp && parent.y < -PlasmaCore.Units.gridUnit * 2) {
yAnimator.to = -root.height;
} else {
yAnimator.to = 0;
@ -87,6 +94,16 @@ Item {
}
}
// if the app doesn't close within a certain time, drag it back
Timer {
id: uncloseTimer
interval: 3000
onTriggered: {
yAnimator.to = 0;
yAnimator.restart();
}
}
NumberAnimation on y {
id: yAnimator
running: !dragHandler.active
@ -96,6 +113,7 @@ Item {
onFinished: {
if (to != 0) { // close app
delegate.closeApp();
uncloseTimer.start();
}
}
}