]> git.0d.be Git - empathy.git/blobdiff - libempathy-gtk/empathy-contact-dialogs.c
Merge commit 'staz/dnd'
[empathy.git] / libempathy-gtk / empathy-contact-dialogs.c
index 5c77a787e366a724ac1e9674ac0bfe34420c4e08..fed8d04cb262a99c97a603627c7aa36394e978af 100644 (file)
 #include <gtk/gtk.h>
 #include <glib/gi18n-lib.h>
 
+#include <telepathy-glib/account-manager.h>
+
 #include <libempathy/empathy-contact-manager.h>
-#include <libempathy/empathy-account-manager.h>
 #include <libempathy/empathy-contact-list.h>
+#include <libempathy/empathy-tp-contact-factory.h>
 #include <libempathy/empathy-utils.h>
 
 #include "empathy-contact-dialogs.h"
@@ -71,8 +73,17 @@ subscription_dialog_response_cb (GtkDialog *dialog,
        contact = empathy_contact_widget_get_contact (contact_widget);
 
        if (response == GTK_RESPONSE_YES) {
+               EmpathyTpContactFactory *factory;
+
+               factory = empathy_tp_contact_factory_dup_singleton (
+                       empathy_contact_get_connection (contact));
+
                empathy_contact_list_add (EMPATHY_CONTACT_LIST (manager),
                                          contact, "");
+               empathy_tp_contact_factory_set_alias (factory, contact,
+                       empathy_contact_widget_get_alias (contact_widget));
+
+               g_object_unref (factory);
        }
        else if (response == GTK_RESPONSE_NO) {
                empathy_contact_list_remove (EMPATHY_CONTACT_LIST (manager),
@@ -116,6 +127,7 @@ empathy_subscription_dialog_show (EmpathyContact *contact,
 
        /* Contact info widget */
        contact_widget = empathy_contact_widget_new (contact,
+                                                    EMPATHY_CONTACT_WIDGET_NO_SET_ALIAS |
                                                     EMPATHY_CONTACT_WIDGET_EDIT_ALIAS |
                                                     EMPATHY_CONTACT_WIDGET_EDIT_GROUPS);
        gtk_box_pack_end (GTK_BOX (hbox_subscription),
@@ -174,7 +186,8 @@ empathy_contact_information_dialog_show (EmpathyContact *contact,
        dialog = gtk_dialog_new ();
        gtk_dialog_set_has_separator (GTK_DIALOG (dialog), FALSE);
        gtk_window_set_resizable (GTK_WINDOW (dialog), FALSE);
-       gtk_window_set_title (GTK_WINDOW (dialog), _("Edit Contact Information"));
+       gtk_window_set_title (GTK_WINDOW (dialog),
+               empathy_contact_get_name (contact));
 
        /* Close button */
        button = gtk_button_new_with_label (GTK_STOCK_CLOSE);
@@ -182,7 +195,7 @@ empathy_contact_information_dialog_show (EmpathyContact *contact,
        gtk_dialog_add_action_widget (GTK_DIALOG (dialog),
                                      button,
                                      GTK_RESPONSE_CLOSE);
-       GTK_WIDGET_SET_FLAGS (button, GTK_CAN_DEFAULT);
+       gtk_widget_set_can_default (button, TRUE);
        gtk_window_set_default (GTK_WINDOW (dialog), button);
        gtk_widget_show (button);
 
@@ -241,14 +254,15 @@ empathy_contact_edit_dialog_show (EmpathyContact *contact,
        gtk_dialog_add_action_widget (GTK_DIALOG (dialog),
                                      button,
                                      GTK_RESPONSE_CLOSE);
-       GTK_WIDGET_SET_FLAGS (button, GTK_CAN_DEFAULT);
+       gtk_widget_set_can_default (button, TRUE);
        gtk_window_set_default (GTK_WINDOW (dialog), button);
        gtk_widget_show (button);
 
        /* Contact info widget */
        contact_widget = empathy_contact_widget_new (contact,
                EMPATHY_CONTACT_WIDGET_EDIT_ALIAS |
-               EMPATHY_CONTACT_WIDGET_EDIT_GROUPS);
+               EMPATHY_CONTACT_WIDGET_EDIT_GROUPS |
+               EMPATHY_CONTACT_WIDGET_EDIT_FAVOURITE);
        gtk_container_set_border_width (GTK_CONTAINER (contact_widget), 8);
        gtk_box_pack_start (GTK_BOX (gtk_dialog_get_content_area (GTK_DIALOG (dialog))),
                            contact_widget,
@@ -292,7 +306,7 @@ empathy_contact_personal_dialog_show (GtkWindow *parent)
        gtk_dialog_add_action_widget (GTK_DIALOG (personal_dialog),
                                      button,
                                      GTK_RESPONSE_CLOSE);
-       GTK_WIDGET_SET_FLAGS (button, GTK_CAN_DEFAULT);
+       gtk_widget_set_can_default (button, TRUE);
        gtk_window_set_default (GTK_WINDOW (personal_dialog), button);
        gtk_widget_show (button);
 
@@ -326,14 +340,14 @@ empathy_contact_personal_dialog_show (GtkWindow *parent)
  */
 
 static gboolean
-can_add_contact_to_account (EmpathyAccount *account,
+can_add_contact_to_account (TpAccount *account,
                            gpointer   user_data)
 {
        EmpathyContactManager *contact_manager;
        TpConnection          *connection;
        gboolean               result;
 
-       connection = empathy_account_get_connection (account);
+       connection = tp_account_get_connection (account);
        if (connection == NULL)
                return FALSE;
 
@@ -413,6 +427,7 @@ empathy_new_contact_dialog_show_with_contact (GtkWindow *parent,
                                                     EMPATHY_CONTACT_WIDGET_EDIT_ACCOUNT |
                                                     EMPATHY_CONTACT_WIDGET_EDIT_ID |
                                                     EMPATHY_CONTACT_WIDGET_EDIT_GROUPS);
+       gtk_container_set_border_width (GTK_CONTAINER (contact_widget), 8);
        gtk_box_pack_start (GTK_BOX (gtk_dialog_get_content_area (GTK_DIALOG (dialog))),
                            contact_widget,
                            TRUE, TRUE, 0);