@@ -55,6 +55,10 @@ Item {
55 switchToNextState("")
55 switchToNextState("")
59+ fadeOutAnimation.start();
58 function switchToNextState(state) {
62 function switchToNextState(state) {
59 animateTimer.nextState = state
63 animateTimer.nextState = state
60 animateTimer.start();
64 animateTimer.start();
@@ -99,6 +103,31 @@ Item {
106+ SequentialAnimation {
107+ id: fadeOutAnimation
110+ panel.layer.enabled = true
113+ UbuntuNumberAnimation {
116+ easing.type: Easing.InQuad
121+ panel.layer.enabled = false
122+ panel.animate = false;
124+ panel.x = -panel.width
126+ panel.animate = true;
102 MouseArea {
131 MouseArea {
103 id: launcherDragArea
132 id: launcherDragArea
104 enabled: root.state == "visible"
133 enabled: root.state == "visible"
@@ -173,9 +202,9 @@ Item {
175 Behavior on x {
204 Behavior on x {
205+ enabled: !dragArea.dragging && !launcherDragArea.drag.active && panel.animate;
176 NumberAnimation {
206 NumberAnimation {
177− // Disabling animation when dragging
207+ duration: 300
178− duration: dragArea.dragging || launcherDragArea.drag.active ? 0 : 300;
179 easing.type: Easing.OutCubic
208 easing.type: Easing.OutCubic
@@ -215,9 +244,10 @@ Item {
215 onDraggingChanged: {
244 onDraggingChanged: {
216 if (!dragging) {
245 if (!dragging) {
217 if (distance > panel.width / 2) {
246 if (distance > panel.width / 2) {
218− root.switchToNextState("visible")
219 if (distance > minimizeDistance) {
247 if (distance > minimizeDistance) {
220 root.dash()
248 root.dash()
250+ root.switchToNextState("visible")
223 root.switchToNextState("")
253 root.switchToNextState("")