aboutsummaryrefslogtreecommitdiffstats
path: root/contact-list/empathy-contact-list-main.c
diff options
context:
space:
mode:
Diffstat (limited to 'contact-list/empathy-contact-list-main.c')
-rw-r--r--contact-list/empathy-contact-list-main.c94
1 files changed, 94 insertions, 0 deletions
diff --git a/contact-list/empathy-contact-list-main.c b/contact-list/empathy-contact-list-main.c
new file mode 100644
index 000000000..2f4328480
--- /dev/null
+++ b/contact-list/empathy-contact-list-main.c
@@ -0,0 +1,94 @@
+/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
+/*
+ * Copyright (C) 2007 Xavier Claessens <xclaesse@gmail.com>
+ *
+ * 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 <config.h>
+
+#include <stdlib.h>
+
+#include <glib.h>
+#include <gtk/gtk.h>
+
+#include <libempathy/gossip-contact.h>
+#include <libempathy/empathy-session.h>
+#include <libempathy-gtk/gossip-contact-list.h>
+#include <libempathy-gtk/gossip-private-chat.h>
+#include <libempathy-gtk/gossip-stock.h>
+
+static void
+destroy_cb (GtkWidget *window,
+ gpointer user_data)
+{
+ gossip_stock_finalize ();
+ empathy_session_finalize ();
+ gtk_main_quit ();
+}
+
+static void
+contact_chat_cb (GtkWidget *list,
+ GossipContact *contact,
+ gpointer user_data)
+{
+ mission_control_request_channel (empathy_session_get_mission_control (),
+ gossip_contact_get_account (contact),
+ TP_IFACE_CHANNEL_TYPE_TEXT,
+ gossip_contact_get_handle (contact),
+ TP_HANDLE_TYPE_CONTACT,
+ NULL, NULL);
+}
+
+int
+main (int argc, char *argv[])
+{
+ GtkWidget *window;
+ GtkWidget *list;
+ GtkWidget *sw;
+
+ gtk_init (&argc, &argv);
+
+ empathy_session_connect ();
+
+ window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
+ gossip_stock_init (window);
+
+ list = GTK_WIDGET (gossip_contact_list_new ());
+ sw = gtk_scrolled_window_new (NULL, NULL);
+ gtk_container_add (GTK_CONTAINER (window), sw);
+ gtk_container_add (GTK_CONTAINER (sw), list);
+
+ gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (sw),
+ GTK_POLICY_AUTOMATIC,
+ GTK_POLICY_AUTOMATIC);
+ gtk_widget_set_size_request (sw, 200, 400);
+
+ g_signal_connect (window, "destroy",
+ G_CALLBACK (destroy_cb),
+ NULL);
+ g_signal_connect (list, "contact-chat",
+ G_CALLBACK (contact_chat_cb),
+ NULL);
+
+ gtk_widget_show_all (window);
+
+ gtk_main ();
+
+ return EXIT_SUCCESS;
+}
+