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,48 +34,76 @@ PlasmaCore.ColorScope {
TaskSwitcher { TaskSwitcher {
id: taskSwitcher id: taskSwitcher
} }
Rectangle { MouseArea {
id: mainMouseArea
anchors.fill: parent anchors.fill: parent
color: root.backgroundColor property int oldMouseY: 0
drag.filterChildren: true
width: 600 onPressed: {
height: 40 oldMouseY = mouse.y;
taskSwitcher.offset = -taskSwitcher.height
property Item toolBox }
onPositionChanged: {
Button { taskSwitcher.offset = taskSwitcher.offset - (mouse.y - oldMouseY);
anchors.left: parent.left oldMouseY = mouse.y;
height: parent.height if (taskSwitcher.visibility == Window.Hidden && taskSwitcher.offset > -taskSwitcher.height + units.gridUnit) {
width: parent.width/3 taskSwitcher.visibility = Window.FullScreen;
iconSource: "applications-other" }
onClicked: taskSwitcher.visible ? taskSwitcher.hide() : taskSwitcher.show(); }
onReleased: {
if (taskSwitcher.visibility == Window.Hidden) {
return;
}
if (taskSwitcher.offset > -taskSwitcher.height/2) {
taskSwitcher.show();
} else {
taskSwitcher.hide();
}
} }
Button { Rectangle {
id: showDesktopButton anchors.fill: parent
height: parent.height color: root.backgroundColor
width: parent.width/3
anchors.horizontalCenter: parent.horizontalCenter width: 600
iconSource: "go-home" height: 40
checkable: true
onCheckedChanged: {print (checked) property Item toolBox
plasmoid.nativeInterface.showDesktop = checked;
Button {
anchors.left: parent.left
height: parent.height
width: parent.width/3
iconSource: "applications-other"
onClicked: taskSwitcher.visible ? taskSwitcher.hide() : taskSwitcher.show();
} }
Connections {
target: plasmoid.nativeInterface Button {
onShowingDesktopChanged: { id: showDesktopButton
showDesktopButton.checked = plasmoid.nativeInterface.showDesktop; height: parent.height
width: parent.width/3
anchors.horizontalCenter: parent.horizontalCenter
iconSource: "go-home"
checkable: true
onCheckedChanged: {print (checked)
plasmoid.nativeInterface.showDesktop = checked;
}
Connections {
target: plasmoid.nativeInterface
onShowingDesktopChanged: {
showDesktopButton.checked = plasmoid.nativeInterface.showDesktop;
}
} }
} }
}
Button { Button {
height: parent.height height: parent.height
width: parent.width/3 width: parent.width/3
anchors.right: parent.right anchors.right: parent.right
iconSource: "window-close" iconSource: "window-close"
enabled: plasmoid.nativeInterface.hasCloseableActiveWindow; enabled: plasmoid.nativeInterface.hasCloseableActiveWindow;
onClicked: plasmoid.nativeInterface.closeActiveWindow(); onClicked: plasmoid.nativeInterface.closeActiveWindow();
}
} }
} }
} }