diff options
-rw-r--r-- | libempathy-gtk/empathy-contact-widget.c | 20 | ||||
-rw-r--r-- | libempathy-gtk/empathy-contact-widget.h | 1 | ||||
-rw-r--r-- | libempathy-gtk/empathy-contact-widget.ui | 2 | ||||
-rw-r--r-- | src/empathy-accounts-dialog.c | 3 |
4 files changed, 19 insertions, 7 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); diff --git a/libempathy-gtk/empathy-contact-widget.h b/libempathy-gtk/empathy-contact-widget.h index 2533248b5..a50f9fa3e 100644 --- a/libempathy-gtk/empathy-contact-widget.h +++ b/libempathy-gtk/empathy-contact-widget.h @@ -64,6 +64,7 @@ typedef enum EMPATHY_CONTACT_WIDGET_SHOW_DETAILS = 1 << 8, EMPATHY_CONTACT_WIDGET_EDIT_DETAILS = 1 << 9, EMPATHY_CONTACT_WIDGET_NO_STATUS = 1 << 10, + EMPATHY_CONTACT_WIDGET_NO_ACCOUNT = 1 << 11, } EmpathyContactWidgetFlags; GtkWidget * empathy_contact_widget_new (EmpathyContact *contact, diff --git a/libempathy-gtk/empathy-contact-widget.ui b/libempathy-gtk/empathy-contact-widget.ui index a8d9fbe7a..c6cb7a5ca 100644 --- a/libempathy-gtk/empathy-contact-widget.ui +++ b/libempathy-gtk/empathy-contact-widget.ui @@ -10,7 +10,7 @@ <property name="column_spacing">6</property> <property name="row_spacing">6</property> <child> - <object class="GtkLabel" id="label680"> + <object class="GtkLabel" id="label_left_account"> <property name="visible">True</property> <property name="xalign">0</property> <property name="label" translatable="yes">Account:</property> diff --git a/src/empathy-accounts-dialog.c b/src/empathy-accounts-dialog.c index 2cc248251..ec40ef3cb 100644 --- a/src/empathy-accounts-dialog.c +++ b/src/empathy-accounts-dialog.c @@ -788,7 +788,8 @@ account_dialog_got_self_contact (TpConnection *conn, EMPATHY_CONTACT_WIDGET_EDIT_ALIAS | EMPATHY_CONTACT_WIDGET_EDIT_AVATAR | EMPATHY_CONTACT_WIDGET_NO_STATUS | - EMPATHY_CONTACT_WIDGET_EDIT_DETAILS); + EMPATHY_CONTACT_WIDGET_EDIT_DETAILS | + EMPATHY_CONTACT_WIDGET_NO_ACCOUNT); gtk_box_pack_start (GTK_BOX (priv->dialog_content), alig, TRUE, TRUE, 0); gtk_container_add (GTK_CONTAINER (alig), editor); |