diff options
Diffstat (limited to 'tests/empetit.c')
-rw-r--r-- | tests/empetit.c | 78 |
1 files changed, 78 insertions, 0 deletions
diff --git a/tests/empetit.c b/tests/empetit.c new file mode 100644 index 000000000..99f25f8cc --- /dev/null +++ b/tests/empetit.c @@ -0,0 +1,78 @@ +#include "config.h" + +#include <gtk/gtk.h> + +#include <libempathy/empathy-contact-manager.h> +#include <libempathy/empathy-dispatcher.h> + +#include <libempathy-gtk/empathy-contact-list-store.h> +#include <libempathy-gtk/empathy-contact-selector.h> + + +static void +destroy_cb (GtkWidget *widget, + gpointer data) +{ + gtk_main_quit (); +} + + +static void +clicked_cb (GtkButton *button, + gpointer data) +{ + EmpathyContactSelector *selector = EMPATHY_CONTACT_SELECTOR (data); + EmpathyContact *contact; + + contact = empathy_contact_selector_get_selected (selector); + + if (!contact) + return; + + empathy_dispatcher_chat_with_contact (contact); +} + + +int main (int argc, + char *argv[]) +{ + EmpathyContactManager *manager; + EmpathyContactListStore *store; + EmpathyContactSelector *selector; + GtkWidget *window, *vbox, *button; + gchar *icon_path; + + gtk_init (&argc, &argv); + + icon_path = g_build_path (G_DIR_SEPARATOR_S, PKGDATADIR, "icons", NULL); + gtk_icon_theme_append_search_path (gtk_icon_theme_get_default (), icon_path); + g_free (icon_path); + + manager = empathy_contact_manager_new (); + store = empathy_contact_list_store_new (EMPATHY_CONTACT_LIST (manager)); + + vbox = gtk_vbox_new (FALSE, 2); + + selector = empathy_contact_selector_new (store); + gtk_box_pack_start (GTK_BOX (vbox), GTK_WIDGET (selector), FALSE, FALSE, 5); + + button = gtk_button_new_with_label ("Chat"); + g_signal_connect (G_OBJECT (button), "clicked", + G_CALLBACK (clicked_cb), (gpointer) selector); + gtk_box_pack_start(GTK_BOX (vbox), button, FALSE, FALSE, 5); + + window = gtk_window_new (GTK_WINDOW_TOPLEVEL); + g_signal_connect (G_OBJECT (window), "destroy", + G_CALLBACK (destroy_cb), NULL); + gtk_window_set_title (GTK_WINDOW (window),"Empetit"); + gtk_container_set_border_width (GTK_CONTAINER (window), 5); + gtk_container_add (GTK_CONTAINER (window), vbox); + gtk_widget_show_all (window); + + gtk_main (); + + g_object_unref (store); + g_object_unref (manager); + + return 0; +} |