mirror of
https://invent.kde.org/marcoa/shift-shell.git
synced 2026-04-29 15:03:09 +00:00
taskswitcher: Bring back task preview if it doesn't close within 3 secs
This commit is contained in:
parent
aff0064b62
commit
7c710d46f3
1 changed files with 19 additions and 1 deletions
|
|
@ -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();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in a new issue