From b09cd23d85a5c0467436580bd7877568d365af20 Mon Sep 17 00:00:00 2001 From: Stef Walter Date: Wed, 6 Jun 2012 23:08:22 +0200 Subject: [PATCH] user-accounts: Add test tool frob-account-dialog A simple tool to show the add account dialog for quick iterations testing of the 'enterprise login' functionality. https://bugzilla.gnome.org/show_bug.cgi?id=677548 --- panels/user-accounts/Makefile.am | 20 +++++++ panels/user-accounts/frob-account-dialog.c | 61 ++++++++++++++++++++++ 2 files changed, 81 insertions(+) create mode 100644 panels/user-accounts/frob-account-dialog.c diff --git a/panels/user-accounts/Makefile.am b/panels/user-accounts/Makefile.am index 432598781..83d1a07d6 100644 --- a/panels/user-accounts/Makefile.am +++ b/panels/user-accounts/Makefile.am @@ -69,6 +69,26 @@ endif libuser_accounts_la_LDFLAGS = $(PANEL_LDFLAGS) +noinst_PROGRAMS = frob-account-dialog + +frob_account_dialog_SOURCES = \ + frob-account-dialog.c \ + um-account-dialog.h \ + um-account-dialog.c \ + um-user.h \ + um-user.c \ + um-user-manager.c \ + um-user-manager.h \ + um-utils.h \ + um-utils.c + +frob_account_dialog_LDADD = \ + $(libuser_accounts_la_LIBADD) + +frob_account_dialog_CFLAGS = \ + $(AM_CFLAGS) \ + -DUIDIR=\""$(pkgdatadir)/ui/user-accounts"\" + CLEANFILES = \ $(BUILT_SOURCES) \ $(NULL) diff --git a/panels/user-accounts/frob-account-dialog.c b/panels/user-accounts/frob-account-dialog.c new file mode 100644 index 000000000..3b8e96b1f --- /dev/null +++ b/panels/user-accounts/frob-account-dialog.c @@ -0,0 +1,61 @@ +/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 8 -*- + * + * Copyright (C) 2012 Red Hat, Inc. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ + +#include "um-account-dialog.h" + +#include + +static void +on_dialog_complete (GObject *object, + GAsyncResult *result, + gpointer user_data) +{ + GMainLoop *loop = user_data; + UmUser *user; + + user = um_account_dialog_finish (UM_ACCOUNT_DIALOG (object), result); + if (user == NULL) { + g_printerr ("No user created\n"); + } else { + g_printerr ("User created: %s\n", um_user_get_user_name (user)); + g_object_unref (user); + } + + g_main_loop_quit (loop); +} + +int +main (int argc, + char *argv[]) +{ + UmAccountDialog *dialog; + GMainLoop *loop; + + gtk_init (&argc, &argv); + + dialog = um_account_dialog_new (); + loop = g_main_loop_new (NULL, FALSE); + + um_account_dialog_show (dialog, NULL, on_dialog_complete, loop); + + g_main_loop_run (loop); + g_main_loop_unref (loop); + + return 0; +}