summaryrefslogtreecommitdiff
path: root/liblightdm-qt
diff options
context:
space:
mode:
authorMichael Terry <michael.terry@canonical.com>2014-04-24 14:36:40 -0400
committerMichael Terry <michael.terry@canonical.com>2014-04-24 14:36:40 -0400
commitec0b529210d4a9d6a99dea07b06731d63b9d0815 (patch)
treeee6c86caa613d9a518d54ace0dc9481f7a582f69 /liblightdm-qt
parent695964bb9c1a92f1e3a78c5850451abcc8900b63 (diff)
downloadlightdm-ec0b529210d4a9d6a99dea07b06731d63b9d0815.tar.gz
First pass at reset support
Diffstat (limited to 'liblightdm-qt')
-rw-r--r--liblightdm-qt/QLightDM/greeter.h3
-rw-r--r--liblightdm-qt/greeter.cpp24
2 files changed, 27 insertions, 0 deletions
diff --git a/liblightdm-qt/QLightDM/greeter.h b/liblightdm-qt/QLightDM/greeter.h
index 82916d00..8abf5e92 100644
--- a/liblightdm-qt/QLightDM/greeter.h
+++ b/liblightdm-qt/QLightDM/greeter.h
@@ -79,6 +79,7 @@ public Q_SLOTS:
void respond(const QString &response);
void cancelAuthentication();
void setLanguage (const QString &language);
+ void setResettable (bool resettable);
bool startSessionSync(const QString &session=QString());
QString ensureSharedDataDirSync(const QString &username);
@@ -87,6 +88,8 @@ Q_SIGNALS:
void showPrompt(QString text, QLightDM::Greeter::PromptType type);
void authenticationComplete();
void autologinTimerExpired();
+ void idle();
+ void reset();
private:
GreeterPrivate *d_ptr;
diff --git a/liblightdm-qt/greeter.cpp b/liblightdm-qt/greeter.cpp
index 12e2db4c..406a6321 100644
--- a/liblightdm-qt/greeter.cpp
+++ b/liblightdm-qt/greeter.cpp
@@ -33,6 +33,8 @@ protected:
static void cb_showMessage(LightDMGreeter *greeter, const gchar *text, LightDMMessageType type, gpointer data);
static void cb_authenticationComplete(LightDMGreeter *greeter, gpointer data);
static void cb_autoLoginExpired(LightDMGreeter *greeter, gpointer data);
+ static void cb_idle(LightDMGreeter *greeter, gpointer data);
+ static void cb_reset(LightDMGreeter *greeter, gpointer data);
private:
Q_DECLARE_PUBLIC(Greeter)
@@ -50,6 +52,8 @@ GreeterPrivate::GreeterPrivate(Greeter *parent) :
g_signal_connect (ldmGreeter, "show-message", G_CALLBACK (cb_showMessage), this);
g_signal_connect (ldmGreeter, "authentication-complete", G_CALLBACK (cb_authenticationComplete), this);
g_signal_connect (ldmGreeter, "autologin-timer-expired", G_CALLBACK (cb_autoLoginExpired), this);
+ g_signal_connect (ldmGreeter, "idle", G_CALLBACK (cb_idle), this);
+ g_signal_connect (ldmGreeter, "reset", G_CALLBACK (cb_reset), this);
}
void GreeterPrivate::cb_showPrompt(LightDMGreeter *greeter, const gchar *text, LightDMPromptType type, gpointer data)
@@ -88,6 +92,20 @@ void GreeterPrivate::cb_autoLoginExpired(LightDMGreeter *greeter, gpointer data)
Q_EMIT that->q_func()->autologinTimerExpired();
}
+void GreeterPrivate::cb_idle(LightDMGreeter *greeter, gpointer data)
+{
+ Q_UNUSED(greeter);
+ GreeterPrivate *that = static_cast<GreeterPrivate*>(data);
+ Q_EMIT that->q_func()->idle();
+}
+
+void GreeterPrivate::cb_reset(LightDMGreeter *greeter, gpointer data)
+{
+ Q_UNUSED(greeter);
+ GreeterPrivate *that = static_cast<GreeterPrivate*>(data);
+ Q_EMIT that->q_func()->reset();
+}
+
Greeter::Greeter(QObject *parent) :
QObject(parent),
d_ptr(new GreeterPrivate(this))
@@ -166,6 +184,12 @@ void Greeter::setLanguage (const QString &language)
lightdm_greeter_set_language(d->ldmGreeter, language.toLocal8Bit().constData());
}
+void Greeter::setResettable (bool resettable)
+{
+ Q_D(Greeter);
+ lightdm_greeter_set_resettable(d->ldmGreeter, resettable);
+}
+
bool Greeter::startSessionSync(const QString &session)
{
Q_D(Greeter);