@@ -26,8 +26,15 @@ Item {
2626
2727 property int animDuration: 10
2828
29− property bool __useDotAnimation: true
30− property int __circleModifier: __useDotAnimation ? 1 : 2
29+ QtObject {
30+ id: d
31+ objectName: "infographicPrivate"
32+ property bool useDotAnimation: true
33+ property int circleModifier: useDotAnimation ? 1 : 2
34+ property bool animating: dotHideAnimTimer.running
35+ || dotShowAnimTimer.running
36+ || circleChangeAnimTimer.running
37+ }
3138
3239 Connections {
3340 target: model
@@ -46,7 +53,7 @@ Item {
4653 dotHideAnimTimer.stop()
4754 notification.hideAnim.stop()
4855
49− if (__useDotAnimation) {
56+ if (d.useDotAnimation) {
5057 dotShowAnimTimer.startFromBeginning()
5158 }
5259 notification.showAnim.start()
@@ -57,7 +64,7 @@ Item {
5764 circleChangeAnimTimer.stop()
5865 notification.showAnim.stop()
5966
60− if (__useDotAnimation) {
67+ if (d.useDotAnimation) {
6168 dotHideAnimTimer.startFromBeginning()
6269 } else {
6370 circleChangeAnimTimer.startFromBeginning()
@@ -148,21 +155,21 @@ Item {
148155 property: "opacity"
149156 to: pastCircle.circleOpacity
150157 easing.type: Easing.OutCurve
151− duration: circleChangeAnimTimer.interval * __circleModifier
158+ duration: circleChangeAnimTimer.interval * d.circleModifier
152159 }
153160 PropertyAnimation {
154161 target: pastCircle
155162 property: "scale"
156163 to: modelData
157164 easing.type: Easing.OutCurve
158− duration: circleChangeAnimTimer.interval * __circleModifier
165+ duration: circleChangeAnimTimer.interval * d.circleModifier
159166 }
160167 ColorAnimation {
161168 target: pastCircle
162169 property: "color"
163170 to: Gradient.threeColorByIndex(index, count, infographic.model.secondColor)
164171 easing.type: Easing.OutCurve
165− duration: circleChangeAnimTimer.interval * __circleModifier
172+ duration: circleChangeAnimTimer.interval * d.circleModifier
166173 }
167174 }
168175 }
@@ -209,21 +216,21 @@ Item {
209216 property: "opacity"
210217 to: presentCircle.circleOpacity
211218 easing.type: Easing.OutCurve
212− duration: circleChangeAnimTimer.interval * __circleModifier
219+ duration: circleChangeAnimTimer.interval * d.circleModifier
213220 }
214221 PropertyAnimation {
215222 target: presentCircle
216223 property: "scale"
217224 to: modelData
218225 easing.type: Easing.OutCurve
219− duration: circleChangeAnimTimer.interval * __circleModifier
226+ duration: circleChangeAnimTimer.interval * d.circleModifier
220227 }
221228 ColorAnimation {
222229 target: presentCircle
223230 property: "color"
224231 to: Gradient.threeColorByIndex(index, infographic.model.currentDay, infographic.model.firstColor)
225232 easing.type: Easing.OutCurve
226− duration: circleChangeAnimTimer.interval * __circleModifier
233+ duration: circleChangeAnimTimer.interval * d.circleModifier
227234 }
228235 }
229236 }
@@ -385,7 +392,7 @@ Item {
385392 from: notification.baseOpacity
386393 to: 0.0
387394 duration: notification.duration * dots.count
388− onStopped: if (!__useDotAnimation) infographic.model.readyForDataChange()
395+ onStopped: if (!d.useDotAnimation) infographic.model.readyForDataChange()
389396 }
390397 }
391398 }
@@ -394,10 +401,8 @@ Item {
394401 anchors.fill: dataCircle
395402
396403 onDoubleClicked: {
397− if (!dotHideAnimTimer.running &&
398− !dotShowAnimTimer.running &&
399− !circleChangeAnimTimer.running) {
400− __useDotAnimation = false
404+ if (!d.animating) {
405+ d.useDotAnimation = false
401406 infographic.model.nextDataSource()
402407 }
403408 }