aboutsummaryrefslogtreecommitdiffstats
path: root/src/empathy-accounts-dialog.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/empathy-accounts-dialog.c')
-rw-r--r--src/empathy-accounts-dialog.c17
1 files changed, 12 insertions, 5 deletions
diff --git a/src/empathy-accounts-dialog.c b/src/empathy-accounts-dialog.c
index 578f998bc..7645d1642 100644
--- a/src/empathy-accounts-dialog.c
+++ b/src/empathy-accounts-dialog.c
@@ -790,18 +790,25 @@ create_contact_info_editor (EmpathyAccountsDialog *self,
EmpathyAccountsDialogPriv *priv = GET_PRIV (self);
GtkWidget *editor, *alig;
EmpathyContact *contact;
+ EmpathyContactWidgetFlags flags;
+ TpConnection *conn;
contact = empathy_contact_dup_from_tp_contact (tp_contact);
alig = gtk_alignment_new (0.5, 0, 1, 1);
- /* create the contact info editor for this account */
- editor = empathy_contact_widget_new (contact,
- EMPATHY_CONTACT_WIDGET_EDIT_ALIAS |
- EMPATHY_CONTACT_WIDGET_EDIT_AVATAR |
+ flags = EMPATHY_CONTACT_WIDGET_EDIT_ALIAS |
EMPATHY_CONTACT_WIDGET_NO_STATUS |
EMPATHY_CONTACT_WIDGET_EDIT_DETAILS |
- EMPATHY_CONTACT_WIDGET_NO_ACCOUNT);
+ EMPATHY_CONTACT_WIDGET_NO_ACCOUNT;
+
+ conn = tp_contact_get_connection (tp_contact);
+ if (tp_proxy_has_interface_by_id (conn,
+ TP_IFACE_QUARK_CONNECTION_INTERFACE_AVATARS))
+ flags |= EMPATHY_CONTACT_WIDGET_EDIT_AVATAR;
+
+ /* create the contact info editor for this account */
+ editor = empathy_contact_widget_new (contact, flags);
gtk_box_pack_start (GTK_BOX (priv->dialog_content), alig, TRUE, TRUE, 0);
gtk_container_add (GTK_CONTAINER (alig), editor);