settings: datetime: qml: fix warning on model init 56/21856/1 7.99.3 halibut/7.99.3 halibut_7.99.3
authorRaquel Medina <raquel.medina@konsulko.com>
Thu, 11 Jul 2019 21:21:48 +0000 (00:21 +0300)
committerRaquel Medina <raquel.medina@konsulko.com>
Thu, 11 Jul 2019 23:22:10 +0000 (02:22 +0300)
- workaround invalid currentIndex
- rework model initialization from array

Bug-AGL: SPEC-2635
Signed-off-by: Raquel Medina <raquel.medina@konsulko.com>
Change-Id: I7e218ee73aa40f9e85271d480c98a7eb45ac29b5

app/datetime/DateEdit.qml

index f9f75fd..abfcfa9 100644 (file)
@@ -65,7 +65,7 @@ GridLayout {
         Component.onCompleted: regenerateModel()
         function regenerateModel() {
             var eom = 0
-            var y = yearControl.model[yearControl.currentIndex]
+            var y = yearControl.currentIndex === -1 ? yearControl.model[0] : yearControl.model[yearControl.currentIndex]
             var m = monthControl.currentIndex + 1
             switch (m) {
             case 2:
@@ -103,13 +103,13 @@ GridLayout {
 
     Tumbler {
         id: yearControl
-        Component.onCompleted: {
-            var arr = new Array
-            for (var i = 2010; i < 2050; i++) {
+        readonly property var years: (function() {
+            var arr = []
+            for (var i = 2010; i < 2050; i++)
                 arr.push(i)
-            }
-            yearControl.model = arr
-        }
+            return arr
+        })()
+        model: years
         onCurrentIndexChanged: dayControl.regenerateModel()
         EditSeparator { anchors.fill: parent }
     }