From 3ad5ffd926086abe3de02ddd7bd7132d4b8806fc Mon Sep 17 00:00:00 2001 From: Milan Crha Date: Fri, 17 Sep 2021 12:24:25 +0200 Subject: [PATCH] I#1623 - EMinicard: Hide fields same as the FileAs Closes https://gitlab.gnome.org/GNOME/evolution/-/issues/1623 --- .../gui/widgets/e-addressbook-reflow-adapter.c | 10 +++++----- src/addressbook/gui/widgets/e-minicard.c | 12 ++++++------ 2 files changed, 11 insertions(+), 11 deletions(-) diff --git a/src/addressbook/gui/widgets/e-addressbook-reflow-adapter.c b/src/addressbook/gui/widgets/e-addressbook-reflow-adapter.c index 299dfcd01c..368303abb8 100644 --- a/src/addressbook/gui/widgets/e-addressbook-reflow-adapter.c +++ b/src/addressbook/gui/widgets/e-addressbook-reflow-adapter.c @@ -157,7 +157,7 @@ addressbook_height (EReflowModel *erm, EAddressbookReflowAdapterPrivate *priv = adapter->priv; EContactField field; gint count = 0; - gchar *string; + gchar *string, *file_as; EContact *contact = (EContact *) e_addressbook_model_contact_at (priv->model, i); PangoLayout *layout; gint height; @@ -165,9 +165,8 @@ addressbook_height (EReflowModel *erm, layout = gtk_widget_create_pango_layout ( GTK_WIDGET (GNOME_CANVAS_ITEM (parent)->canvas), ""); - string = e_contact_get (contact, E_CONTACT_FILE_AS); - height = text_height (layout, string ? string : "") + 10.0; - g_free (string); + file_as = e_contact_get (contact, E_CONTACT_FILE_AS); + height = text_height (layout, file_as ? file_as : "") + 10.0; for (field = E_CONTACT_FULL_NAME; field != E_CONTACT_LAST_SIMPLE_STRING && count < 5; field++) { @@ -179,7 +178,7 @@ addressbook_height (EReflowModel *erm, continue; string = e_contact_get (contact, field); - if (string && *string) { + if (string && *string && e_util_strcmp0 (string, file_as) != 0) { gint this_height; gint field_text_height; @@ -199,6 +198,7 @@ addressbook_height (EReflowModel *erm, height += 2; g_object_unref (layout); + g_free (file_as); return height; } diff --git a/src/addressbook/gui/widgets/e-minicard.c b/src/addressbook/gui/widgets/e-minicard.c index 91c87eb7c3..ea5503a1c0 100644 --- a/src/addressbook/gui/widgets/e-minicard.c +++ b/src/addressbook/gui/widgets/e-minicard.c @@ -1014,13 +1014,13 @@ remodel (EMinicard *e_minicard) gboolean email_rendered = FALSE; gboolean has_voice = FALSE, has_fax = FALSE; + file_as = e_contact_get (e_minicard->contact, E_CONTACT_FILE_AS); + if (e_minicard->header_text) { - file_as = e_contact_get (e_minicard->contact, E_CONTACT_FILE_AS); gnome_canvas_item_set ( e_minicard->header_text, "text", file_as ? file_as : "", NULL); - g_free (file_as); } if (e_minicard->contact && e_contact_get (e_minicard->contact, E_CONTACT_IS_LIST)) @@ -1063,7 +1063,7 @@ remodel (EMinicard *e_minicard) gchar *string; string = e_contact_get (e_minicard->contact, field); - if (string && *string) { + if (string && *string && e_util_strcmp0 (string, file_as) != 0) { e_minicard->fields = g_list_append (e_minicard->fields, minicard_field); g_object_set ( minicard_field->label, @@ -1095,7 +1095,7 @@ remodel (EMinicard *e_minicard) g_list_free_full (email, (GDestroyNotify) e_vcard_attribute_free); } else { string = e_contact_get (e_minicard->contact, field); - if (string && *string) { + if (string && *string && e_util_strcmp0 (string, file_as) != 0) { add_field (e_minicard, field, left_width); count++; @@ -1113,8 +1113,8 @@ remodel (EMinicard *e_minicard) } } - g_list_foreach (list, (GFunc) e_minicard_field_destroy, NULL); - g_list_free (list); + g_list_free_full (list, (GDestroyNotify) e_minicard_field_destroy); + g_free (file_as); } }