on xenial help sign in
Use new resettable support in lightdm
commit7f731581b6a7e8ebc5044ed8e3fd714979ee2a25 authorMichael Terry <michael.terry@canonical.com> dateFri 25 Apr 2014, 13:57 (12 years ago) parentfe50a4a
4 files changed+32−1
plugins/LightDM/Greeter.cpp+3 plugins/LightDM/Greeter.h+2 qml/Greeter/GreeterContent.qml+14 qml/GreeterShell.qml+13−1
plugins/LightDM/Greeter.cpp+3
@@ -56,8 +56,11 @@ Greeter::Greeter(QObject* parent)
5656 this, SLOT(showPromptFilter(QString, QLightDM::Greeter::PromptType)));
5757 connect(d->m_greeter, SIGNAL(authenticationComplete()),
5858 this, SLOT(authenticationCompleteFilter()));
59+ connect(d->m_greeter, SIGNAL(idle()), this, SIGNAL(idle()));
60+ connect(d->m_greeter, SIGNAL(reset()), this, SIGNAL(reset()));
5961
6062 d->m_greeter->connectSync();
63+ d->m_greeter->setResettable(true);
6164}
6265
6366bool Greeter::isAuthenticated() const
plugins/LightDM/Greeter.h+2
@@ -56,6 +56,8 @@ Q_SIGNALS:
5656 void authenticationComplete();
5757 void authenticationUserChanged(const QString &user);
5858 void promptlessChanged();
59+ void idle();
60+ void reset();
5961
6062 // This signal is emitted by external agents like indicators, and the UI
6163 // should switch to this user if possible.
qml/Greeter/GreeterContent.qml+14
@@ -119,10 +119,17 @@ Item {
119119 }
120120
121121 Timer {
122+ id: infoFadeTimer
122123 running: true
123124 interval: 200
124125 onTriggered: infoFadeAnimation.start()
125126 }
127+
128+ Connections {
129+ target: LightDM.Greeter
130+ onIdle: {infoFadeTimer.stop(); infographics.opacity = 0; infographics.scale = 0.9}
131+ onReset: infoFadeTimer.start()
132+ }
126133 }
127134
128135 Clock {
@@ -154,9 +161,16 @@ Item {
154161 }
155162
156163 Timer {
164+ id: clockFadeTimer
157165 running: narrowMode
158166 interval: 600
159167 onTriggered: clockFadeAnimation.start()
160168 }
169+
170+ Connections {
171+ target: LightDM.Greeter
172+ onIdle: {clockFadeTimer.stop(); clock.opacity = 0; clock.scale = 0.9}
173+ onReset: clockFadeTimer.start()
174+ }
161175 }
162176}
qml/GreeterShell.qml+13−1
@@ -73,6 +73,11 @@ BasicShell {
7373 Connections {
7474 target: LightDM.Greeter
7575
76+ onIdle: {
77+ greeter.enabled = true
78+ greeter.showNow()
79+ }
80+
7681 onShowPrompt: {
7782 if (LightDM.Users.count == 1) {
7883 // TODO: There's no better way for now to determine if its a PIN or a passphrase.
@@ -190,7 +195,7 @@ BasicShell {
190195 hides: [launcher]
191196 available: !edgeDemo.active
192197 }
193− fullscreenMode: initialPanelDelay.running
198+ fullscreenMode: true
194199 searchVisible: false
195200 }
196201
@@ -198,6 +203,13 @@ BasicShell {
198203 id: initialPanelDelay
199204 running: true
200205 interval: 300
206+ onTriggered: panel.fullscreenMode = false
207+ }
208+
209+ Connections {
210+ target: LightDM.Greeter
211+ onIdle: {initialPanelDelay.stop(); panel.fullscreenMode = true}
212+ onReset: initialPanelDelay.start()
201213 }
202214
203215 Launcher {