aboutsummaryrefslogtreecommitdiffstats
path: root/widgets/misc/test-source-config.c
diff options
context:
space:
mode:
Diffstat (limited to 'widgets/misc/test-source-config.c')
-rw-r--r--widgets/misc/test-source-config.c56
1 files changed, 56 insertions, 0 deletions
diff --git a/widgets/misc/test-source-config.c b/widgets/misc/test-source-config.c
new file mode 100644
index 0000000000..2fd69bf136
--- /dev/null
+++ b/widgets/misc/test-source-config.c
@@ -0,0 +1,56 @@
+#include <stdlib.h>
+#include <gtk/gtk.h>
+
+#include <libedataserver/e-source-address-book.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;
+}