diff options
Diffstat (limited to 'e-util/test-source-config.c')
-rw-r--r-- | e-util/test-source-config.c | 57 |
1 files changed, 57 insertions, 0 deletions
diff --git a/e-util/test-source-config.c b/e-util/test-source-config.c new file mode 100644 index 0000000000..4a5ce30d91 --- /dev/null +++ b/e-util/test-source-config.c @@ -0,0 +1,57 @@ +#include <stdlib.h> +#include <gtk/gtk.h> + +#include <libedataserver/libedataserver.h> + +#include "e-source-config-dialog.h" + +static void +dialog_response (GtkDialog *dialog, + gint response_id) +{ + gtk_main_quit (); +} + +gint +main (gint argc, + gchar **argv) +{ + ESourceRegistry *registry; + ESource *source = NULL; + GtkWidget *config; + GtkWidget *dialog; + GError *error = NULL; + + gtk_init (&argc, &argv); + + registry = e_source_registry_new_sync (NULL, &error); + + if (error != NULL) { + g_printerr ("%s\n", error->message); + exit (EXIT_FAILURE); + } + + if (argc > 1) { + source = e_source_registry_ref_source (registry, argv[1]); + if (source == NULL) { + g_printerr ("No such UID: %s\n", argv[1]); + exit (EXIT_FAILURE); + } + } + + config = e_source_config_new (registry, source); + dialog = e_source_config_dialog_new (E_SOURCE_CONFIG (config)); + + g_signal_connect ( + dialog, "response", + G_CALLBACK (dialog_response), NULL); + + gtk_widget_show (config); + gtk_widget_show (dialog); + + g_object_unref (source); + + gtk_main (); + + return 0; +} |