@@ -1,5 +1,5 @@
2− * Copyright (C) 2013-2014 Canonical, Ltd.
2+ * Copyright (C) 2013-2015 Canonical, Ltd.
4 * This program is free software; you can redistribute it and/or modify
4 * This program is free software; you can redistribute it and/or modify
5 * it under the terms of the GNU General Public License as published by
5 * it under the terms of the GNU General Public License as published by
@@ -84,6 +84,12 @@ Item {
87+ function pushEdge(amount) {
88+ if (root.state === "") {
89+ edgeBarrier.push(amount);
88 id: teaseTimer
94 id: teaseTimer
89 interval: mode == "teasing" ? 200 : 300
95 interval: mode == "teasing" ? 200 : 300
@@ -96,7 +102,7 @@ Item {
96 interval: 500
102 interval: 500
97 onTriggered: {
103 onTriggered: {
98 if (root.autohideEnabled) {
104 if (root.autohideEnabled) {
99− if (!panel.preventHiding && !hoverArea.containsMouse) {
105+ if (!panel.preventHiding) {
100 root.state = ""
106 root.state = ""
102 dismissTimer.restart()
108 dismissTimer.restart()
@@ -176,7 +182,6 @@ Item {
176 root.switchToNextState("visible")
182 root.switchToNextState("visible")
182 MultiPointTouchArea {
187 MultiPointTouchArea {
@@ -203,6 +208,28 @@ Item {
203 Behavior on opacity { NumberAnimation { duration: UbuntuAnimation.BriskDuration } }
208 Behavior on opacity { NumberAnimation { duration: UbuntuAnimation.BriskDuration } }
215+ enabled: root.available
216+ onPassed: { root.switchToNextState("visibleTemporary"); }
217+ material: Component {
220+ width: parent.height
221+ height: parent.width
223+ anchors.centerIn: parent
224+ gradient: Gradient {
225+ GradientStop { position: 0.0; color: panel.color}
226+ GradientStop { position: 1.0; color: Qt.rgba(panel.r,panel.g,panel.b,0)}
206 LauncherPanel {
233 LauncherPanel {
207 id: panel
234 id: panel
208 objectName: "launcherPanel"
235 objectName: "launcherPanel"
@@ -248,33 +275,6 @@ Item {
251− // TODO: This should be replaced by some mechanism that reveals the launcher
252− // after a certain resistance has been overcome, like unity7 does. However,
253− // as we don't get relative mouse coordinates yet, this will do for now.
256− anchors { fill: panel; rightMargin: -1 }
258− propagateComposedEvents: true
259− onContainsMouseChanged: {
260− if (containsMouse) {
261− root.switchToNextState("visibleTemporary");
263− dismissTimer.restart();
266− onPressed: mouse.accepted = false;
268− // We need to eat touch events here in order to make sure that
269− // we don't trigger both, the dragArea and the hoverArea
270− MultiPointTouchArea {
271− anchors { top: parent.top; right: parent.right; bottom: parent.bottom }
274− enabled: parent.enabled
278 DirectionalDragArea {
278 DirectionalDragArea {
279 id: dragArea
279 id: dragArea
280 objectName: "launcherDragArea"
280 objectName: "launcherDragArea"
@@ -322,7 +322,6 @@ Item {
322 target: panel
322 target: panel
323 x: -root.x // so we never go past panelWidth, even when teased by tutorial
323 x: -root.x // so we never go past panelWidth, even when teased by tutorial
325− PropertyChanges { target: hoverArea; enabled: false }
328 name: "visibleTemporary"
327 name: "visibleTemporary"
@@ -331,7 +330,6 @@ Item {
331 target: root
330 target: root
332 autohideEnabled: true
331 autohideEnabled: true
334− PropertyChanges { target: hoverArea; enabled: true }
337 name: "teasing"
335 name: "teasing"