1
#include "loginprompt.h"
2
#include "ui_loginprompt.h"
4
#include <lightdm-qt-0/lightdm/LdmGreeter>
5
#include <lightdm-qt-0/lightdm/LdmUser>
6
#include <lightdm-qt-0/lightdm/LdmSession>
7
#include <lightdm-qt-0/lightdm/LdmLanguage>
9
#include <QListWidgetItem>
11
LoginPrompt::LoginPrompt(LdmGreeter *greeter, QWidget *parent) :
17
ui->feedbackLabel->setText(QString());
19
m_greeter->connectToServer();
21
ui->hostnameLabel->setText(m_greeter->hostname());
23
QList<LdmUser*> users = m_greeter->users();
24
foreach(LdmUser *user, users) {
25
QListWidgetItem* item = new QListWidgetItem(user->displayName(), ui->userList);
26
item->setData(Qt::UserRole, user->name());
27
if(user->image().isEmpty()) {
28
item->setIcon(QIcon::fromTheme("user-identity"));
30
item->setIcon(QIcon(user->image()));
35
connect(ui->loginButton, SIGNAL(released()), SLOT(onLoginButtonClicked()));
36
connect(m_greeter, SIGNAL(authenticationComplete(bool)), SLOT(onAuthenticationComplete(bool)));
37
connect(m_greeter, SIGNAL(showPrompt(QString)), SLOT(prompt(QString)));
40
LoginPrompt::~LoginPrompt()
45
void LoginPrompt::onLoginButtonClicked()
47
ui->feedbackLabel->setText(QString());
48
if (ui->userList->currentItem()) {
49
m_greeter->startAuthentication(ui->userList->currentItem()->data(Qt::UserRole).toString());
53
void LoginPrompt::onAuthenticationComplete(bool success)
56
ui->feedbackLabel->setText("YAY - log in");
57
// m_greeter->login(ui->userList->currentItem()->text(), "kde", "en-UK");
59
ui->feedbackLabel->setText("Sorry, you suck. Try again.");
63
void LoginPrompt::prompt(const QString &message)
66
m_greeter->provideSecret(ui->password->text());