@@ -88,10 +88,10 @@ Item {
89 id: dismissTimer
89 id: dismissTimer
90 objectName: "dismissTimer"
90 objectName: "dismissTimer"
91− interval: 5000
91+ interval: 500
92 onTriggered: {
92 onTriggered: {
93 if (root.autohideEnabled) {
93 if (root.autohideEnabled) {
94− if (!panel.preventHiding) {
94+ if (!panel.preventHiding && !hoverArea.containsMouse) {
95 root.state = ""
95 root.state = ""
97 dismissTimer.restart()
97 dismissTimer.restart()
@@ -240,6 +240,27 @@ Item {
243+ // TODO: This should be replaced by some mechanism that reveals the launcher
244+ // after a certain resistance has been overcome, like unity8 does. However,
245+ // as we don't get relative mouse coordinates yet, this will do for now.
248+ anchors { fill: panel; rightMargin: -1 }
250+ onContainsMouseChanged: {
251+ if (containsMouse) {
252+ root.switchToNextState("visibleTemporary")
256+ // We need to eat touch events here in order to make sure that
257+ // we don't trigger both, the dragArea and the hoverArea
258+ MultiPointTouchArea {
259+ anchors.fill: parent
243 EdgeDragArea {
264 EdgeDragArea {
244 id: dragArea
265 id: dragArea
245 objectName: "launcherDragArea"
266 objectName: "launcherDragArea"
@@ -295,6 +316,15 @@ Item {
320+ name: "visibleTemporary"
322+ when: howerArea.containsMouse
325+ autohideEnabled: true
299 name: "teasing"
329 name: "teasing"
300 when: teaseTimer.running && teaseTimer.mode == "teasing"
330 when: teaseTimer.running && teaseTimer.mode == "teasing"