@@ -41,25 +41,13 @@ Item {
4141 property real offset: 0
4242 property real itemOpacity: 1
4343 property real brightness: 0
44− property real wiggleAngle: 0
45−
46− signal alertingTriggered(int alertIndex)
47− signal alertingEnded(int alertIndex)
48−
49− onAlertingChanged: {
50− if (alerting) {
51− alertingTriggered(index)
52− } else {
53− alertingEnded(index)
54− }
55− }
44+ property double maxWiggleAngle: 5.0
5645
5746 QtObject {
58− id: privWiggleAnim
47+ id: priv
5948
60− readonly property double angle: 5.0
61− readonly property int duration: UbuntuAnimation.SnapDuration
62− readonly property var target: root
49+ readonly property int wiggleDuration: UbuntuAnimation.SnapDuration
50+ property real wiggleAngle: 0
6351 }
6452
6553 SequentialAnimation {
@@ -70,61 +58,61 @@ Item {
7058 alwaysRunToEnd: true
7159
7260 NumberAnimation {
73− target: privWiggleAnim.target
61+ target: priv
7462 property: "wiggleAngle"
7563 from: 0
76− to: privWiggleAnim.angle
77− duration: privWiggleAnim.duration
64+ to: maxWiggleAngle
65+ duration: priv.wiggleDuration
7866 easing.type: Easing.InQuad
7967 }
8068
8169 NumberAnimation {
82− target: privWiggleAnim.target
70+ target: priv
8371 property: "wiggleAngle"
84− from: privWiggleAnim.angle
85− to: -privWiggleAnim.angle
86− duration: privWiggleAnim.duration
72+ from: maxWiggleAngle
73+ to: -maxWiggleAngle
74+ duration: priv.wiggleDuration
8775 easing.type: Easing.InOutQuad
8876 }
8977
9078 NumberAnimation {
91− target: privWiggleAnim.target
79+ target: priv
9280 property: "wiggleAngle"
93− from: -privWiggleAnim.angle
94− to: privWiggleAnim.angle
95− duration: privWiggleAnim.duration
81+ from: -maxWiggleAngle
82+ to: maxWiggleAngle
83+ duration: priv.wiggleDuration
9684 easing.type: Easing.InOutQuad
9785 }
9886
9987 NumberAnimation {
100− target: privWiggleAnim.target
88+ target: priv
10189 property: "wiggleAngle"
102− from: privWiggleAnim.angle
103− to: -privWiggleAnim.angle
104− duration: privWiggleAnim.duration
90+ from: maxWiggleAngle
91+ to: -maxWiggleAngle
92+ duration: priv.wiggleDuration
10593 easing.type: Easing.InOutQuad
10694 }
10795
10896 NumberAnimation {
109− target: privWiggleAnim.target
97+ target: priv
11098 property: "wiggleAngle"
111− from: -privWiggleAnim.angle
112− to: privWiggleAnim.angle
113− duration: privWiggleAnim.duration
99+ from: -maxWiggleAngle
100+ to: maxWiggleAngle
101+ duration: priv.wiggleDuration
114102 easing.type: Easing.InOutQuad
115103 }
116104
117105 NumberAnimation {
118− target: privWiggleAnim.target
106+ target: priv
119107 property: "wiggleAngle"
120− from: privWiggleAnim.angle
108+ from: maxWiggleAngle
121109 to: 0
122− duration: privWiggleAnim.duration
110+ duration: priv.wiggleDuration
123111 easing.type: Easing.OutQuad
124112 }
125113
126114 UbuntuNumberAnimation {
127− target: privWiggleAnim.target
115+ target: root
128116 property: "alerting"
129117 to: 0
130118 }
@@ -263,7 +251,7 @@ Item {
263251 Rotation {
264252 axis { x: 0; y: 0; z: 1 }
265253 origin { x: iconItem.width / 2; y: iconItem.height / 2; z: 0 }
266− angle: root.wiggleAngle
254+ angle: priv.wiggleAngle
267255 },
268256 // Rotating 3 times at top/bottom because that increases the perspective.
269257 // This is a hack, but as QML does not support real 3D coordinates