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; checked = !checked;
} }
} }
onPositionChanged: mainMouseArea.positionChanged(mouse);
onReleased: mainMouseArea.released(mouse);
} }

View file

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

View file

@ -18,6 +18,7 @@
import QtQuick 2.4 import QtQuick 2.4
import QtQuick.Layouts 1.1 import QtQuick.Layouts 1.1
import QtQuick.Window 2.2
import org.kde.plasma.plasmoid 2.0 import org.kde.plasma.plasmoid 2.0
import org.kde.plasma.core 2.0 as PlasmaCore import org.kde.plasma.core 2.0 as PlasmaCore
@ -33,6 +34,33 @@ PlasmaCore.ColorScope {
TaskSwitcher { TaskSwitcher {
id: 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 { Rectangle {
anchors.fill: parent anchors.fill: parent
color: root.backgroundColor color: root.backgroundColor
@ -78,3 +106,4 @@ PlasmaCore.ColorScope {
} }
} }
} }
}