@@ -34,6 +34,7 @@ Rectangle {
34 property bool moving: launcherListView.moving || launcherListView.flicking
34 property bool moving: launcherListView.moving || launcherListView.flicking
35 property bool preventHiding: moving || dndArea.draggedIndex >= 0 || quickList.state === "open" || dndArea.pressed
35 property bool preventHiding: moving || dndArea.draggedIndex >= 0 || quickList.state === "open" || dndArea.pressed
36 property int highlightIndex: -1
36 property int highlightIndex: -1
37+ property int alertIndex: -1
38 signal applicationSelected(string appId)
39 signal applicationSelected(string appId)
39 signal showDashHome()
40 signal showDashHome()
@@ -44,6 +45,38 @@ Rectangle {
48+ onAlertIndexChanged: {
49+ if (alertIndex !== -1) {
53+ fakeAlertingItem.index = alertIndex
54+ fakeAlertingItem.iconName = launcherListView.model.get(alertIndex).icon
55+ fakeAlertingItem.y = alertIndex * fakeAlertingItem.itemHeight + launcherListView.anchors.topMargin + launcherListView.topMargin
56+ fakeAlertingItem.count = LauncherModel.get(alertIndex).count
57+ fakeAlertingItem.progress = LauncherModel.get(alertIndex).progress
58+ fakeAlertingItem.alerting = true
59+ fakeAlertingItem.visible = true
60+ if (launcher.state !== "visible") {
61+ fakeAlertingItem.reveal()
63+ print("y = ", fakeAlertingItem.y)
64+ print("index = ", fakeAlertingItem.index)
66+ // set real icon back to visible
70+ // hide fake-alerting-icon
71+ fakeAlertingItem.alerting = false
73+ if (launcher.state !== "visible") {
74+ fakeAlertingItem.hide()
76+ //fakeAlertingItem.visible = false
48 id: mainColumn
81 id: mainColumn
@@ -501,6 +534,65 @@ Rectangle {
539+ id: fakeAlertingItem
543+ objectName: "fakeAlertingItem"
545+ itemWidth: launcherListView.itemWidth
546+ itemHeight: launcherListView.itemHeight
549+ rotation: root.rotation
553+ fakeAlertingItemReveal.start();
557+ fakeAlertingItemHide.start();
561+ id: fakeAlertingItemReveal
563+ UbuntuNumberAnimation {
564+ target: fakeAlertingItem;
565+ properties: "angle, offset";
569+ UbuntuNumberAnimation {
570+ target: fakeAlertingItem;
573+ to: units.gu(1) + launcherListView.width * .5
574+ duration: UbuntuAnimation.BriskDuration
578+ SequentialAnimation {
579+ id: fakeAlertingItemHide
581+ UbuntuNumberAnimation {
582+ target: fakeAlertingItem;
584+ from: units.gu(1) + launcherListView.width * .5
586+ duration: UbuntuAnimation.BriskDuration
590+ target: fakeAlertingItem
591+ properties: "visible"