From b152949a3102c150af0c99fb84e8fecf2c69191f Mon Sep 17 00:00:00 2001 From: Xavier Claessens Date: Tue, 9 Oct 2007 18:07:57 +0000 Subject: More flexible API for EmpathyContactWidget, we now have flags to set 2007-10-09 Xavier Claessens * libempathy-gtk/empathy-main-window.c: * libempathy-gtk/empathy-contact-dialogs.c: * libempathy-gtk/empathy-contact-list-view.c: * libempathy-gtk/empathy-contact-dialogs.h: * libempathy-gtk/empathy-contact-widget.c: * libempathy-gtk/empathy-contact-widget.h: * libempathy-gtk/empathy-chat-window.c: * megaphone/src/megaphone-applet.c: More flexible API for EmpathyContactWidget, we now have flags to set editable each fields. Implement personal information menu item in main window. svn path=/trunk/; revision=365 --- libempathy-gtk/empathy-main-window.c | 22 ++++++++++++++++++++-- 1 file changed, 20 insertions(+), 2 deletions(-) (limited to 'libempathy-gtk/empathy-main-window.c') diff --git a/libempathy-gtk/empathy-main-window.c b/libempathy-gtk/empathy-main-window.c index 7867b949c..7543c456e 100644 --- a/libempathy-gtk/empathy-main-window.c +++ b/libempathy-gtk/empathy-main-window.c @@ -35,6 +35,7 @@ #include #include #include +#include #include "empathy-main-window.h" #include "empathy-contact-dialogs.h" @@ -67,7 +68,7 @@ typedef struct { EmpathyContactListView *list_view; EmpathyContactListStore *list_store; - MissionControl *mc; + MissionControl *mc; EmpathyChatroomManager *chatroom_manager; /* Main widgets */ @@ -662,7 +663,24 @@ static void main_window_edit_personal_information_cb (GtkWidget *widget, EmpathyMainWindow *window) { - //empathy_vcard_dialog_show (GTK_WINDOW (window->window)); + GSList *accounts; + + accounts = mission_control_get_online_connections (window->mc, NULL); + if (accounts) { + EmpathyContactFactory *factory; + EmpathyContact *contact; + McAccount *account; + + account = accounts->data; + factory = empathy_contact_factory_new (); + contact = empathy_contact_factory_get_user (factory, account); + empathy_contact_information_dialog_show (contact, + GTK_WINDOW (window->window), + TRUE, FALSE); + g_slist_foreach (accounts, (GFunc) g_object_unref, NULL); + g_slist_free (accounts); + g_object_unref (factory); + } } static void -- cgit v1.2.3