on xenial help sign in
Fix some bits and pieces that weren't ready for an async greeter load
037b383Michael Terry
qml/Greeter/Greeter.qml+7
@@ -135,6 +135,13 @@ Showable {
135 enabled: targetItem.enabled
135 enabled: targetItem.enabled
136 }
136 }
137
137
138+ Rectangle {
139+ // While greeterContent is loading, and in case it's background fails to load
140+ id: backgroundBackup
141+ anchors.fill: parent
142+ color: "black"
143+ }
144+
138 Loader {
145 Loader {
139 id: greeterContentLoader
146 id: greeterContentLoader
140 objectName: "greeterContentLoader"
147 objectName: "greeterContentLoader"
qml/Greeter/GreeterContent.qml−7
@@ -41,13 +41,6 @@ Item {
41 }
41 }
42 }
42 }
43
43
44− Rectangle {
45− // In case background fails to load
46− id: backgroundBackup
47− anchors.fill: parent
48− color: "black"
49− }
50−
51 CrossFadeImage {
44 CrossFadeImage {
52 id: background
45 id: background
53 objectName: "greeterBackground"
46 objectName: "greeterBackground"
qml/Greeter/Infographics.qml+7−5
@@ -255,14 +255,16 @@ Item {
255 interval: animDuration * 0.5; running: false; repeat: true
255 interval: animDuration * 0.5; running: false; repeat: true
256 onTriggered: {
256 onTriggered: {
257 if (dotCounter < dots.count) {
257 if (dotCounter < dots.count) {
258− var nextDot = dots.itemAt(dotCounter++)
258+ var nextDot = dots.itemAt(dotCounter);
259+ if (nextDot) {
259− nextDot.unlockAnimation.start()
260+ nextDot.unlockAnimation.start();
261+ if (++dotCounter == Math.round(dots.count / 2)) {
262+ circleChangeAnimTimer.startFromBeginning();
263+ }
264+ }
260 } else {
265 } else {
261 stop()
266 stop()
262 }
267 }
263− if (dotCounter == Math.round(dots.count / 2)) {
264− circleChangeAnimTimer.startFromBeginning()
265− }
266 }
268 }
267
269
268 function startFromBeginning() {
270 function startFromBeginning() {
qml/Shell.qml+4−2
@@ -538,6 +538,8 @@ Item {
538 property string lockedApp: ""
538 property string lockedApp: ""
539 property bool hasLockedApp: lockedApp !== ""
539 property bool hasLockedApp: lockedApp !== ""
540
540
541+ property bool ready: shown && required && created
542+
541 available: true
543 available: true
542 hides: [launcher, panel.indicators]
544 hides: [launcher, panel.indicators]
543 shown: true
545 shown: true
@@ -575,8 +577,8 @@ Item {
575 enabled = true;
577 enabled = true;
576 }
578 }
577
579
578− onShownChanged: {
580+ onReadyChanged: {
579− if (shown) {
581+ if (ready) {
580 // Disable everything so that user can't swipe greeter or
582 // Disable everything so that user can't swipe greeter or
581 // launcher until we get the next prompt/authenticate, which
583 // launcher until we get the next prompt/authenticate, which
582 // will re-enable the shell.
584 // will re-enable the shell.