X-Git-Url: https://git.0d.be/?p=empathy.git;a=blobdiff_plain;f=libempathy-gtk%2Fempathy-contact-dialogs.c;h=309cd649c8e8708d3530b4e171f79e98b70ed96e;hp=0b02cead740c336a31a3620948ef5f80f2302a73;hb=155c6bfe659f017a9fda6c99caf71f3c2a63f92b;hpb=5dadc0ac3a478376337e2d10dec4ade7d5b44998 diff --git a/libempathy-gtk/empathy-contact-dialogs.c b/libempathy-gtk/empathy-contact-dialogs.c index 0b02cead..309cd649 100644 --- a/libempathy-gtk/empathy-contact-dialogs.c +++ b/libempathy-gtk/empathy-contact-dialogs.c @@ -25,12 +25,12 @@ #include #include -#include #include #include #include +#include #include #include @@ -89,6 +89,7 @@ void empathy_subscription_dialog_show (EmpathyContact *contact, GtkWindow *parent) { + GtkBuilder *gui; GtkWidget *dialog; GtkWidget *hbox_subscription; GtkWidget *contact_widget; @@ -105,15 +106,14 @@ empathy_subscription_dialog_show (EmpathyContact *contact, return; } - filename = empathy_file_lookup ("empathy-contact-dialogs.glade", + filename = empathy_file_lookup ("empathy-contact-dialogs.ui", "libempathy-gtk"); - empathy_glade_get_file_simple (filename, - "subscription_request_dialog", - NULL, + gui = empathy_builder_get_file (filename, "subscription_request_dialog", &dialog, "hbox_subscription", &hbox_subscription, NULL); g_free (filename); + g_object_unref (gui); contact_widget = empathy_contact_widget_new (contact, EMPATHY_CONTACT_WIDGET_EDIT_ALIAS | @@ -122,6 +122,8 @@ empathy_subscription_dialog_show (EmpathyContact *contact, contact_widget, TRUE, TRUE, 0); + gtk_widget_show (contact_widget); + g_object_set_data (G_OBJECT (dialog), "contact_widget", contact_widget); subscription_dialogs = g_list_prepend (subscription_dialogs, dialog); @@ -208,6 +210,7 @@ empathy_contact_information_dialog_show (EmpathyContact *contact, flags |= EMPATHY_CONTACT_WIDGET_EDIT_GROUPS; } contact_widget = empathy_contact_widget_new (contact, flags); + gtk_container_set_border_width (GTK_CONTAINER (contact_widget), 8); gtk_box_pack_start (GTK_BOX (GTK_DIALOG (dialog)->vbox), contact_widget, TRUE, TRUE, 0); @@ -216,6 +219,7 @@ empathy_contact_information_dialog_show (EmpathyContact *contact, empathy_account_chooser_filter_is_connected, NULL); } + gtk_widget_show (contact_widget); g_object_set_data (G_OBJECT (dialog), "contact_widget", contact_widget); information_dialogs = g_list_prepend (information_dialogs, dialog); @@ -239,12 +243,23 @@ static gboolean can_add_contact_to_account (McAccount *account, gpointer user_data) { - EmpathyContactManager *mgr; + EmpathyAccountManager *account_manager; + EmpathyContactManager *contact_manager; + TpConnection *connection; gboolean result; - mgr = empathy_contact_manager_dup_singleton (); - result = empathy_contact_manager_can_add (mgr, account); - g_object_unref (mgr); + account_manager = empathy_account_manager_dup_singleton (); + connection = empathy_account_manager_get_connection (account_manager, + account); + if (!connection) { + g_object_unref (account_manager); + return FALSE; + } + + contact_manager = empathy_contact_manager_dup_singleton (); + result = empathy_contact_manager_can_add (contact_manager, connection); + g_object_unref (contact_manager); + g_object_unref (account_manager); return result; } @@ -317,6 +332,7 @@ empathy_new_contact_dialog_show (GtkWindow *parent) empathy_contact_widget_set_account_filter (contact_widget, can_add_contact_to_account, NULL); + gtk_widget_show (contact_widget); new_contact_dialog = dialog;