]> git.0d.be Git - empathy.git/blobdiff - tests/interactive/test-empathy-contact-blocking-dialog.c
Use double quotes for all internal headers
[empathy.git] / tests / interactive / test-empathy-contact-blocking-dialog.c
index b2038cbceba42c5691c030e5fe1792bedcdc5879..87d50f8e4d796d0e75cf22082e0f716463e444f5 100644 (file)
 
 #include <gtk/gtk.h>
 
-#include <libempathy-gtk/empathy-ui-utils.h>
-#include <libempathy-gtk/empathy-contact-blocking-dialog.h>
+#include "libempathy/empathy-client-factory.h"
+
+#include "libempathy-gtk/empathy-ui-utils.h"
+#include "libempathy-gtk/empathy-contact-blocking-dialog.h"
+
+static void
+am_prepare_cb (GObject *source,
+    GAsyncResult *result,
+    gpointer user_data)
+{
+    GMainLoop *loop = user_data;
+    GtkWidget *dialog;
+
+    dialog = empathy_contact_blocking_dialog_new (NULL);
+
+    gtk_dialog_run (GTK_DIALOG (dialog));
+
+    g_main_loop_quit (loop);
+}
 
 int
 main (int argc,
     char **argv)
   {
-    GtkWidget *dialog;
+    EmpathyClientFactory *factory;
+    TpAccountManager *am;
+    GMainLoop *loop;
 
     gtk_init (&argc, &argv);
     empathy_gtk_init ();
 
-    dialog = empathy_contact_blocking_dialog_new (NULL);
+    /* The blocking dialog needs the contact list for the contacts completion
+     * so we prepare it first. */
+    factory = empathy_client_factory_dup ();
+
+    tp_simple_client_factory_add_connection_features_varargs (
+        TP_SIMPLE_CLIENT_FACTORY (factory),
+        TP_CONNECTION_FEATURE_CONTACT_LIST,
+        NULL);
+
+    am = tp_account_manager_dup ();
+
+    loop = g_main_loop_new (NULL, FALSE);
 
-    gtk_widget_show (dialog);
+    tp_proxy_prepare_async (am, NULL, am_prepare_cb, loop);
 
-    gtk_main ();
+    g_main_loop_run (loop);
 
+    g_object_unref (am);
     return 0;
   }