@@ -42,6 +42,7 @@ Item {
42 property real offset: 0
42 property real offset: 0
43 property real itemOpacity: 1
43 property real itemOpacity: 1
44 property real brightness: 0
44 property real brightness: 0
45+ property real wiggleAngle: 0
46 Connections {
47 Connections {
47 target: mainColumn.parent
48 target: mainColumn.parent
@@ -103,7 +104,7 @@ Item {
104 NumberAnimation {
105 NumberAnimation {
105 target: privWiggleAnim.target
106 target: privWiggleAnim.target
106− property: "rotation"
107+ property: "wiggleAngle"
108 to: privWiggleAnim.angle
109 to: privWiggleAnim.angle
109 duration: privWiggleAnim.duration
110 duration: privWiggleAnim.duration
@@ -112,7 +113,7 @@ Item {
113 NumberAnimation {
114 NumberAnimation {
114 target: privWiggleAnim.target
115 target: privWiggleAnim.target
115− property: "rotation"
116+ property: "wiggleAngle"
116 from: privWiggleAnim.angle
117 from: privWiggleAnim.angle
117 to: -privWiggleAnim.angle
118 to: -privWiggleAnim.angle
118 duration: privWiggleAnim.duration
119 duration: privWiggleAnim.duration
@@ -121,7 +122,7 @@ Item {
122 NumberAnimation {
123 NumberAnimation {
123 target: privWiggleAnim.target
124 target: privWiggleAnim.target
124− property: "rotation"
125+ property: "wiggleAngle"
125 from: -privWiggleAnim.angle
126 from: -privWiggleAnim.angle
126 to: privWiggleAnim.angle
127 to: privWiggleAnim.angle
127 duration: privWiggleAnim.duration
128 duration: privWiggleAnim.duration
@@ -130,7 +131,7 @@ Item {
131 NumberAnimation {
132 NumberAnimation {
132 target: privWiggleAnim.target
133 target: privWiggleAnim.target
133− property: "rotation"
134+ property: "wiggleAngle"
134 from: -privWiggleAnim.angle
135 from: -privWiggleAnim.angle
135 to: privWiggleAnim.angle
136 to: privWiggleAnim.angle
136 duration: privWiggleAnim.duration
137 duration: privWiggleAnim.duration
@@ -139,7 +140,7 @@ Item {
140 NumberAnimation {
141 NumberAnimation {
141 target: privWiggleAnim.target
142 target: privWiggleAnim.target
142− property: "rotation"
143+ property: "wiggleAngle"
143 from: privWiggleAnim.angle
144 from: privWiggleAnim.angle
144 to: -privWiggleAnim.angle
145 to: -privWiggleAnim.angle
145 duration: privWiggleAnim.duration
146 duration: privWiggleAnim.duration
@@ -148,7 +149,7 @@ Item {
149 NumberAnimation {
150 NumberAnimation {
150 target: privWiggleAnim.target
151 target: privWiggleAnim.target
151− property: "rotation"
152+ property: "wiggleAngle"
152 from: -privWiggleAnim.angle
153 from: -privWiggleAnim.angle
154 duration: privWiggleAnim.duration
155 duration: privWiggleAnim.duration
@@ -287,6 +288,14 @@ Item {
289 transform: [
290 transform: [
291+ // The rotation about the icon's center/z-axis for the wiggle
292+ // needs to happen here too, because there's no other way to
293+ // align the wiggle with the icon-folding otherwise
295+ axis { x: 0; y: 0; z: 1 }
296+ origin { x: iconItem.width / 2; y: iconItem.height / 2; z: 0 }
297+ angle: root.wiggleAngle
290 // Rotating 3 times at top/bottom because that increases the perspective.
299 // Rotating 3 times at top/bottom because that increases the perspective.
291 // This is a hack, but as QML does not support real 3D coordinates
300 // This is a hack, but as QML does not support real 3D coordinates
292 // getting a higher perspective can only be done by a hack. This is the most
301 // getting a higher perspective can only be done by a hack. This is the most