on xenial help sign in
Ensure that the selected() signal is emitted by the greeter on startup, fixing the background on startup for the first user in tablet mode.
4afa8d1Michael Terry
qml/Greeter/Greeter.qml+4
@@ -67,6 +67,10 @@ Showable {
67
67
68 source: required ? "GreeterContent.qml" : ""
68 source: required ? "GreeterContent.qml" : ""
69
69
70+ onLoaded: {
71+ selected(currentIndex);
72+ }
73+
70 Connections {
74 Connections {
71 target: greeterContentLoader.item
75 target: greeterContentLoader.item
72
76
qml/Greeter/GreeterContent.qml−1
@@ -96,7 +96,6 @@ MouseArea {
96
96
97 onLoaded: {
97 onLoaded: {
98 item.currentIndex = greeterContentLoader.currentIndex;
98 item.currentIndex = greeterContentLoader.currentIndex;
99− selected(item.currentIndex);
100 item.resetAuthentication();
99 item.resetAuthentication();
101 }
100 }
102
101
qml/Shell.qml−2
@@ -421,7 +421,6 @@ FocusScope {
421 Component.onCompleted: {
421 Component.onCompleted: {
422 if (LightDM.Users.count == 1) {
422 if (LightDM.Users.count == 1) {
423 LightDM.Greeter.authenticate(LightDM.Users.data(0, LightDM.UserRoles.NameRole))
423 LightDM.Greeter.authenticate(LightDM.Users.data(0, LightDM.UserRoles.NameRole))
424− greeter.selected(0)
425 }
424 }
426 }
425 }
427 }
426 }
@@ -497,7 +496,6 @@ FocusScope {
497 // If there are more users, the Greeter will handle that
496 // If there are more users, the Greeter will handle that
498 if (LightDM.Users.count == 1) {
497 if (LightDM.Users.count == 1) {
499 LightDM.Greeter.authenticate(LightDM.Users.data(0, LightDM.UserRoles.NameRole));
498 LightDM.Greeter.authenticate(LightDM.Users.data(0, LightDM.UserRoles.NameRole));
500− greeter.selected(0);
501 }
499 }
502 greeter.forceActiveFocus();
500 greeter.forceActiveFocus();
503 removeApplicationFocus();
501 removeApplicationFocus();
tests/mocks/AccountsService/AccountsService.cpp+1−1
@@ -20,7 +20,7 @@
20
20
21AccountsService::AccountsService(QObject* parent)
21AccountsService::AccountsService(QObject* parent)
22 : QObject(parent),
22 : QObject(parent),
23− m_backgroundFile(TOP_SRCDIR "/graphics/phone_background.jpg"),
23+ m_backgroundFile(TOP_SRCDIR "/qml/graphics/phone_background.jpg"),
24 m_statsWelcomeScreen(true)
24 m_statsWelcomeScreen(true)
25{
25{
26}
26}
tests/qmltests/Greeter/tst_Phone.qml+19
@@ -44,6 +44,17 @@ Item {
44 }
44 }
45 }
45 }
46
46
47+ Component {
48+ id: greeterComponent
49+ Greeter {
50+ SignalSpy {
51+ objectName: "selectedSpy"
52+ target: parent
53+ signalName: "selected"
54+ }
55+ }
56+ }
57+
47 SignalSpy {
58 SignalSpy {
48 id: unlockSpy
59 id: unlockSpy
49 target: greeter
60 target: greeter
@@ -148,5 +159,13 @@ Item {
148 tryCompareFunction(function() { return background.source.toString().indexOf(data.expected) !== -1; }, true)
159 tryCompareFunction(function() { return background.source.toString().indexOf(data.expected) !== -1; }, true)
149 tryCompare(background, "status", Image.Ready)
160 tryCompare(background, "status", Image.Ready)
150 }
161 }
162+
163+ function test_initial_selected_signal() {
164+ var greeterObj = greeterComponent.createObject(this)
165+ var spy = findChild(greeterObj, "selectedSpy")
166+ spy.wait()
167+ tryCompare(spy, "count", 1)
168+ greeterObj.destroy()
169+ }
151 }
170 }
152}
171}
tests/qmltests/Greeter/tst_Tablet.qml+19
@@ -31,6 +31,17 @@ Item {
31 anchors.fill: parent
31 anchors.fill: parent
32 }
32 }
33
33
34+ Component {
35+ id: greeterComponent
36+ Greeter {
37+ SignalSpy {
38+ objectName: "selectedSpy"
39+ target: parent
40+ signalName: "selected"
41+ }
42+ }
43+ }
44+
34 SignalSpy {
45 SignalSpy {
35 id: unlockSpy
46 id: unlockSpy
36 target: greeter
47 target: greeter
@@ -335,5 +346,13 @@ Item {
335 var userlist = findChild(greeter, "userList")
346 var userlist = findChild(greeter, "userList")
336 compare(greeter.model.data(userlist.currentIndex, LightDM.UserRoles.NameRole), "has-password")
347 compare(greeter.model.data(userlist.currentIndex, LightDM.UserRoles.NameRole), "has-password")
337 }
348 }
349+
350+ function test_initial_selected_signal() {
351+ var greeterObj = greeterComponent.createObject(this)
352+ var spy = findChild(greeterObj, "selectedSpy")
353+ spy.wait()
354+ tryCompare(spy, "count", 1)
355+ greeterObj.destroy()
356+ }
338 }
357 }
339}
358}