on xenial help sign in
Handle translated PAM prompts
commit2d0ed8ea558d9b8f19249a969cde1f3c46f02e6c authorMichael Terry <michael.terry@canonical.com> dateFri 1 Aug 2014, 14:42 (12 years ago) parent55e5ca7
3 files changed+6−3
plugins/LightDM/Greeter.cpp+4−1 plugins/LightDM/Greeter.h+1−1 qml/Shell.qml+1−1
plugins/LightDM/Greeter.cpp+4−1
@@ -17,6 +17,7 @@
1717 */
1818
1919#include "Greeter.h"
20+#include <libintl.h>
2021#include <QLightDM/Greeter>
2122
2223class GreeterPrivate
@@ -125,13 +126,15 @@ void Greeter::showPromptFilter(const QString &text, QLightDM::Greeter::PromptTyp
125126 Q_D(Greeter);
126127 d->wasPrompted = true;
127128
129+ bool isDefaultPrompt = (text == dgettext("Linux-PAM", "Password: "));
130+
128131 // Strip prompt of any colons at the end
129132 QString trimmedText = text.trimmed();
130133 if (trimmedText.endsWith(":") || trimmedText.endsWith(":")) {
131134 trimmedText.chop(1);
132135 }
133136
134− Q_EMIT showPrompt(trimmedText, type == QLightDM::Greeter::PromptTypeSecret);
137+ Q_EMIT showPrompt(trimmedText, type == QLightDM::Greeter::PromptTypeSecret, isDefaultPrompt);
135138}
136139
137140void Greeter::showMessageFilter(const QString &text, QLightDM::Greeter::MessageType type)
plugins/LightDM/Greeter.h+1−1
@@ -55,7 +55,7 @@ public Q_SLOTS:
5555
5656Q_SIGNALS:
5757 void showMessage(const QString &text, bool isError);
58− void showPrompt(const QString &text, bool isSecret);
58+ void showPrompt(const QString &text, bool isSecret, bool isDefaultPrompt);
5959 void authenticationComplete();
6060 void authenticationUserChanged(const QString &user);
6161 void isActiveChanged();
qml/Shell.qml+1−1
@@ -391,7 +391,7 @@ Item {
391391 onShowPrompt: {
392392 if (greeter.narrowMode) {
393393 var promptText = text.toLowerCase()
394− if (promptText === "password") {
394+ if (isDefaultPrompt) {
395395 promptText = lockscreen.alphaNumeric ?
396396 i18n.tr("passphrase") : i18n.tr("passcode")
397397 }