aboutsummaryrefslogtreecommitdiffstats
path: root/libempathy-gtk/empathy-contact-widget.c
diff options
context:
space:
mode:
authorGuillaume Desmottes <guillaume.desmottes@collabora.co.uk>2012-03-14 18:57:12 +0800
committerGuillaume Desmottes <guillaume.desmottes@collabora.co.uk>2012-03-16 17:29:39 +0800
commit98648871225823cf7ddc11a746185fe9007d6936 (patch)
tree10bed2f86d69a89095b8fcf90564a48021996714 /libempathy-gtk/empathy-contact-widget.c
parentede1523b824fef2f72b8d60f4efdf78a4fc4a768 (diff)
downloadgsoc2013-empathy-98648871225823cf7ddc11a746185fe9007d6936.tar
gsoc2013-empathy-98648871225823cf7ddc11a746185fe9007d6936.tar.gz
gsoc2013-empathy-98648871225823cf7ddc11a746185fe9007d6936.tar.bz2
gsoc2013-empathy-98648871225823cf7ddc11a746185fe9007d6936.tar.lz
gsoc2013-empathy-98648871225823cf7ddc11a746185fe9007d6936.tar.xz
gsoc2013-empathy-98648871225823cf7ddc11a746185fe9007d6936.tar.zst
gsoc2013-empathy-98648871225823cf7ddc11a746185fe9007d6936.zip
contact-widget: don't display the account when editing our info
All these flags are making this code pretty messy. Hopefully we'll move and clean it when implementing the new design next cycle. https://bugzilla.gnome.org/show_bug.cgi?id=672036
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);