diff options
author | William Jon McCann <mccann@src.gnome.org> | 2007-06-19 17:15:41 +0000 |
---|---|---|
committer | William Jon McCann <mccann@src.gnome.org> | 2007-06-19 17:15:41 +0000 |
commit | dc20d237de6feaab3736e30d557c270287b8ee10 (patch) | |
tree | aa85c42ea804c8be1a99cb6764833f994f6b5ffd /gui/simple-greeter/greeter-main.c | |
parent | 31cdefaec56f92e868e345fb342499605a927aee (diff) | |
download | gdm-dc20d237de6feaab3736e30d557c270287b8ee10.tar.gz |
Add user-selected and reset/cancel actions.
svn path=/branches/mccann-gobject/; revision=5007
Diffstat (limited to 'gui/simple-greeter/greeter-main.c')
-rw-r--r-- | gui/simple-greeter/greeter-main.c | 52 |
1 files changed, 52 insertions, 0 deletions
diff --git a/gui/simple-greeter/greeter-main.c b/gui/simple-greeter/greeter-main.c index 8a567e5b..f9b159f8 100644 --- a/gui/simple-greeter/greeter-main.c +++ b/gui/simple-greeter/greeter-main.c @@ -159,6 +159,50 @@ on_select_language (GdmGreeter *greeter, } static void +on_select_user (GdmGreeter *greeter, + const char *text, + gpointer data) +{ + gboolean res; + GError *error; + + g_debug ("GREETER user selected: %s", text); + + error = NULL; + res = dbus_g_proxy_call (server_proxy, + "SelectUser", + &error, + G_TYPE_STRING, text, + G_TYPE_INVALID, + G_TYPE_INVALID); + if (! res) { + g_warning ("Unable to send SelectUser: %s", error->message); + g_error_free (error); + } +} + +static void +on_cancelled (GdmGreeter *greeter, + gpointer data) +{ + gboolean res; + GError *error; + + g_debug ("GREETER cancelled"); + + error = NULL; + res = dbus_g_proxy_call (server_proxy, + "Reset", + &error, + G_TYPE_INVALID, + G_TYPE_INVALID); + if (! res) { + g_warning ("Unable to send Reset: %s", error->message); + g_error_free (error); + } +} + +static void proxy_destroyed (GObject *object, gpointer data) { @@ -268,6 +312,14 @@ main (int argc, char *argv[]) "language-selected", G_CALLBACK (on_select_language), NULL); + g_signal_connect (greeter, + "user-selected", + G_CALLBACK (on_select_user), + NULL); + g_signal_connect (greeter, + "cancelled", + G_CALLBACK (on_cancelled), + NULL); gtk_main (); |