@@ -204,6 +204,36 @@ Rectangle {
204204 property bool dragging: false
205205 property bool peeking: launcherListView.peekingIndex === index
206206
207+ SequentialAnimation {
208+ id: peekingAnimation
209+
210+ // revealing
211+ PropertyAction { target: root; property: "visible"; value: (launcher.visibleWidth === 0) ? 1 : 0 }
212+ PropertyAction { target: launcherListViewItem; property: "clip"; value: 0 }
213+
214+ UbuntuNumberAnimation {
215+ target: launcherDelegate
216+ alwaysRunToEnd: true
217+ loops: 1
218+ properties: "x"
219+ to: (units.gu(.5) + launcherListView.width * .5) * (root.inverted ? -1 : 1)
220+ duration: UbuntuAnimation.BriskDuration
221+ }
222+
223+ // hiding
224+ UbuntuNumberAnimation {
225+ target: launcherDelegate
226+ alwaysRunToEnd: true
227+ loops: 1
228+ properties: "x"
229+ to: 0
230+ duration: UbuntuAnimation.BriskDuration
231+ }
232+
233+ PropertyAction { target: launcherListViewItem; property: "clip"; value: 1 }
234+ PropertyAction { target: root; property: "visible"; value: (launcher.visibleWidth === 0) ? 0 : 1 }
235+ }
236+
207237 onAlertingChanged: {
208238 if(alerting) {
209239 if (!dragging && (launcherListView.peekingIndex === -1 || launcher.visibleWidth > 0)) {
@@ -211,6 +241,9 @@ Rectangle {
211241 launcherListView.positionViewAtIndex(index, ListView.Center)
212242 launcherListView.moveToIndexYTo = launcherListView.contentY
213243 moveToIndexAnimation.start()
244+ if (!dragging && launcher.state !== "visible") {
245+ peekingAnimation.start()
246+ }
214247 }
215248
216249 if (launcherListView.peekingIndex === -1) {
@@ -233,10 +266,6 @@ Rectangle {
233266 }
234267
235268 states: [
236− State {
237− name: "peeking"
238− when: peeking && !dragging && launcher.state !== "visible"
239− },
240269 State {
241270 name: "selected"
242271 when: dndArea.selectedItem === launcherDelegate && fakeDragItem.visible && !dragging
@@ -271,37 +300,6 @@ Rectangle {
271300 ]
272301
273302 transitions: [
274− Transition {
275− from: ""
276− to: "peeking"
277− SequentialAnimation {
278− // revealing
279− PropertyAction { target: root; property: "visible"; value: (launcher.visibleWidth === 0) ? 1 : 0 }
280− PropertyAction { target: launcherListViewItem; property: "clip"; value: 0 }
281−
282− UbuntuNumberAnimation {
283− alwaysRunToEnd: true
284− loops: 1
285− target: launcherDelegate
286− properties: "x"
287− to: (units.gu(.5) + launcherListView.width * .5) * (root.inverted ? -1 : 1)
288− duration: UbuntuAnimation.BriskDuration
289− }
290−
291− // hiding
292− UbuntuNumberAnimation {
293− alwaysRunToEnd: true
294− loops: 1
295− target: launcherDelegate
296− properties: "x"
297− to: 0
298− duration: UbuntuAnimation.BriskDuration
299− }
300−
301− PropertyAction { target: launcherListViewItem; property: "clip"; value: 1 }
302− PropertyAction { target: root; property: "visible"; value: (launcher.visibleWidth === 0) ? 0 : 1 }
303− }
304− },
305303 Transition {
306304 from: ""
307305 to: "selected"