aboutsummaryrefslogtreecommitdiffstats
path: root/libempathy-gtk/empathy-contact-widget.c
diff options
context:
space:
mode:
Diffstat (limited to 'libempathy-gtk/empathy-contact-widget.c')
-rw-r--r--libempathy-gtk/empathy-contact-widget.c20
1 files changed, 15 insertions, 5 deletions
diff --git a/libempathy-gtk/empathy-contact-widget.c b/libempathy-gtk/empathy-contact-widget.c
index edeec31f4..e44772a72 100644
--- a/libempathy-gtk/empathy-contact-widget.c
+++ b/libempathy-gtk/empathy-contact-widget.c
@@ -103,6 +103,7 @@ typedef struct
GtkWidget *vbox_avatar;
GtkWidget *favourite_checkbox;
GtkWidget *label_details;
+ GtkWidget *label_left_account;
/* Location */
GtkWidget *vbox_location;
@@ -1403,7 +1404,7 @@ contact_widget_contact_update (EmpathyContactWidget *information)
contact_widget_change_contact, information);
}
}
- else
+ else if ((information->flags & EMPATHY_CONTACT_WIDGET_NO_ACCOUNT) == 0)
{
if (account)
{
@@ -1585,6 +1586,11 @@ contact_widget_contact_setup (EmpathyContactWidget *information)
G_CALLBACK (contact_widget_change_contact),
information);
}
+ else if (information->flags & EMPATHY_CONTACT_WIDGET_NO_ACCOUNT)
+ {
+ /* Don't display the account */
+ gtk_widget_hide (information->label_left_account);
+ }
else
{
/* Pack the protocol icon with the account name in an hbox */
@@ -1606,11 +1612,14 @@ contact_widget_contact_setup (EmpathyContactWidget *information)
information->label_account, FALSE, TRUE, 0);
}
- gtk_grid_attach (GTK_GRID (information->grid_contact),
- information->widget_account,
- 1, 0, 1, 1);
+ if (information->widget_account != NULL)
+ {
+ gtk_grid_attach (GTK_GRID (information->grid_contact),
+ information->widget_account,
+ 1, 0, 1, 1);
- gtk_widget_show (information->widget_account);
+ gtk_widget_show (information->widget_account);
+ }
/* Set up avatar chooser/display */
if (information->flags & EMPATHY_CONTACT_WIDGET_EDIT_AVATAR)
@@ -1761,6 +1770,7 @@ empathy_contact_widget_new (EmpathyContact *contact,
"grid_client", &information->grid_client,
"hbox_client_requested", &information->hbox_client_requested,
"label_details", &information->label_details,
+ "label_left_account", &information->label_left_account,
NULL);
g_free (filename);