17 #include "DBusGreeterList.h"
20 #include <QDBusMessage>
21 #include <QStringList>
23 DBusGreeterList::DBusGreeterList(Greeter *greeter,
const QDBusConnection &connection,
const QString &path)
26 m_connection(connection),
29 connect(m_greeter, SIGNAL(authenticationUserChanged(
const QString &)),
this, SLOT(authenticationUserChangedHandler(
const QString &)));
30 connect(m_greeter, SIGNAL(promptlessChanged()),
this, SLOT(promptlessChangedHandler()));
33 QString DBusGreeterList::GetActiveEntry()
const
35 return m_greeter->authenticationUser();
38 void DBusGreeterList::SetActiveEntry(
const QString &entry)
40 Q_EMIT m_greeter->requestAuthenticationUser(entry);
43 bool DBusGreeterList::entryIsLocked()
const
45 return !m_greeter->promptless();
48 void DBusGreeterList::authenticationUserChangedHandler(
const QString &user)
50 notifyPropertyChanged(
"ActiveEntry", user);
51 Q_EMIT EntrySelected(user);
54 void DBusGreeterList::promptlessChangedHandler()
56 notifyPropertyChanged(
"EntryIsLocked", entryIsLocked());
57 Q_EMIT entryIsLockedChanged();
62 void DBusGreeterList::notifyPropertyChanged(
const QString& propertyName,
const QVariant &value)
65 QVariantMap changedProps;
67 changedProps.insert(propertyName, value);
69 message = QDBusMessage::createSignal(m_path,
70 "org.freedesktop.DBus.Properties",
72 message <<
"com.canonical.UnityGreeter.List";
73 message << changedProps;
74 message << QStringList();
76 m_connection.send(message);