summaryrefslogtreecommitdiff
path: root/gui/simple-greeter/greeter-main.c
diff options
context:
space:
mode:
authorWilliam Jon McCann <mccann@src.gnome.org>2007-06-19 17:15:41 +0000
committerWilliam Jon McCann <mccann@src.gnome.org>2007-06-19 17:15:41 +0000
commitdc20d237de6feaab3736e30d557c270287b8ee10 (patch)
treeaa85c42ea804c8be1a99cb6764833f994f6b5ffd /gui/simple-greeter/greeter-main.c
parent31cdefaec56f92e868e345fb342499605a927aee (diff)
downloadgdm-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.c52
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 ();