[empathy] contact-widget: don't display the account when editing our info
- From: Guillaume Desmottes <gdesmott src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [empathy] contact-widget: don't display the account when editing our info
- Date: Fri, 16 Mar 2012 09:29:54 +0000 (UTC)
commit 98648871225823cf7ddc11a746185fe9007d6936
Author: Guillaume Desmottes <guillaume desmottes collabora co uk>
Date: Wed Mar 14 11:57:12 2012 +0100
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
libempathy-gtk/empathy-contact-widget.c | 20 +++++++++++++++-----
libempathy-gtk/empathy-contact-widget.h | 1 +
libempathy-gtk/empathy-contact-widget.ui | 2 +-
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 edeec31..e44772a 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 2533248..a50f9fa 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 a8d9fbe..c6cb7a5 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 2cc2482..ec40ef3 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);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]