support swipe from bottom

the panel still looks the same
This commit is contained in:
Marco Martin 2015-09-10 16:53:01 +02:00
parent 3cba469c3e
commit 2f5f1217ac
3 changed files with 68 additions and 35 deletions

View file

@ -43,4 +43,6 @@ MouseArea {
checked = !checked;
}
}
onPositionChanged: mainMouseArea.positionChanged(mouse);
onReleased: mainMouseArea.released(mouse);
}

View file

@ -56,6 +56,8 @@ FullScreenPanel {
scrollAnim.running = true;
}
onOffsetChanged: tasksView.contentY = offset
SequentialAnimation {
id: scrollAnim
property alias to: internalAnim.to

View file

@ -18,6 +18,7 @@
import QtQuick 2.4
import QtQuick.Layouts 1.1
import QtQuick.Window 2.2
import org.kde.plasma.plasmoid 2.0
import org.kde.plasma.core 2.0 as PlasmaCore
@ -33,6 +34,33 @@ PlasmaCore.ColorScope {
TaskSwitcher {
id: taskSwitcher
}
MouseArea {
id: mainMouseArea
anchors.fill: parent
property int oldMouseY: 0
drag.filterChildren: true
onPressed: {
oldMouseY = mouse.y;
taskSwitcher.offset = -taskSwitcher.height
}
onPositionChanged: {
taskSwitcher.offset = taskSwitcher.offset - (mouse.y - oldMouseY);
oldMouseY = mouse.y;
if (taskSwitcher.visibility == Window.Hidden && taskSwitcher.offset > -taskSwitcher.height + units.gridUnit) {
taskSwitcher.visibility = Window.FullScreen;
}
}
onReleased: {
if (taskSwitcher.visibility == Window.Hidden) {
return;
}
if (taskSwitcher.offset > -taskSwitcher.height/2) {
taskSwitcher.show();
} else {
taskSwitcher.hide();
}
}
Rectangle {
anchors.fill: parent
color: root.backgroundColor
@ -78,3 +106,4 @@ PlasmaCore.ColorScope {
}
}
}
}