empathy_contact_list_add (EMPATHY_CONTACT_LIST (manager),
contact, "");
- empathy_tp_contact_factory_set_alias (contact,
+ empathy_contact_set_alias (contact,
empathy_contact_widget_get_alias (contact_widget));
}
else if (response == GTK_RESPONSE_NO) {
void
empathy_subscription_dialog_show (EmpathyContact *contact,
+ const gchar *message,
GtkWindow *parent)
{
GtkBuilder *gui;
GtkWidget *dialog;
GtkWidget *hbox_subscription;
+ GtkWidget *vbox;
GtkWidget *contact_widget;
GList *l;
gchar *filename;
g_free (filename);
g_object_unref (gui);
+ vbox = gtk_vbox_new (FALSE, 6);
+
+ gtk_box_pack_end (GTK_BOX (hbox_subscription), vbox,
+ TRUE, TRUE, 0);
+
/* 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),
+ gtk_box_pack_start (GTK_BOX (vbox),
contact_widget,
TRUE, TRUE,
0);
+
+ if (!tp_str_empty (message)) {
+ GtkWidget *label;
+ gchar *tmp;
+
+ label = gtk_label_new ("");
+ tmp = g_strdup_printf ("<i>%s</i>", message);
+
+ gtk_label_set_markup (GTK_LABEL (label), tmp);
+ g_free (tmp);
+ gtk_widget_show (label);
+
+ gtk_box_pack_start (GTK_BOX (vbox), label, FALSE, FALSE, 0);
+ }
+
gtk_widget_show (contact_widget);
+ gtk_widget_show (vbox);
g_object_set_data (G_OBJECT (dialog), "contact_widget", contact_widget);
subscription_dialogs = g_list_prepend (subscription_dialogs, dialog);
/* Create dialog */
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),
- empathy_contact_get_name (contact));
+ empathy_contact_get_alias (contact));
/* Close button */
button = gtk_button_new_with_label (GTK_STOCK_CLOSE);
/* Contact info widget */
contact_widget = empathy_contact_widget_new (contact,
EMPATHY_CONTACT_WIDGET_SHOW_LOCATION |
- EMPATHY_CONTACT_WIDGET_EDIT_NONE);
+ EMPATHY_CONTACT_WIDGET_SHOW_DETAILS);
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,
/* Create dialog */
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"));
/* Create dialog */
personal_dialog = gtk_dialog_new ();
- gtk_dialog_set_has_separator (GTK_DIALOG (personal_dialog), FALSE);
gtk_window_set_resizable (GTK_WINDOW (personal_dialog), FALSE);
gtk_window_set_title (GTK_WINDOW (personal_dialog), _("Personal Information"));
contact_widget = empathy_contact_widget_new (NULL,
EMPATHY_CONTACT_WIDGET_EDIT_ACCOUNT |
EMPATHY_CONTACT_WIDGET_EDIT_ALIAS |
- EMPATHY_CONTACT_WIDGET_EDIT_AVATAR);
+ EMPATHY_CONTACT_WIDGET_EDIT_AVATAR |
+ EMPATHY_CONTACT_WIDGET_EDIT_DETAILS);
gtk_container_set_border_width (GTK_CONTAINER (contact_widget), 8);
gtk_box_pack_start (GTK_BOX (gtk_dialog_get_content_area (GTK_DIALOG (personal_dialog))),
contact_widget,
* New contact dialog
*/
-static gboolean
-can_add_contact_to_account (TpAccount *account,
- gpointer user_data)
+static void
+can_add_contact_to_account (TpAccount *account,
+ EmpathyAccountChooserFilterResultCallback callback,
+ gpointer callback_data,
+ gpointer user_data)
{
EmpathyContactManager *contact_manager;
TpConnection *connection;
gboolean result;
connection = tp_account_get_connection (account);
- if (connection == NULL)
- return FALSE;
+ if (connection == NULL) {
+ callback (FALSE, callback_data);
+ return;
+ }
contact_manager = empathy_contact_manager_dup_singleton ();
result = empathy_contact_manager_get_flags_for_connection (
contact_manager, connection) & EMPATHY_CONTACT_LIST_CAN_ADD;
g_object_unref (contact_manager);
- return result;
+ callback (result, callback_data);
}
static void
/* Create dialog */
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), _("New Contact"));