From 41edc5515b6e9333b36a39bb31ebbd455e74d73d Mon Sep 17 00:00:00 2001 From: Milan Crha Date: Tue, 22 Jan 2013 17:06:53 +0100 Subject: Contact's print doesn't decode QP encoded email addresses --- addressbook/gui/widgets/Makefile.am | 1 + .../gui/widgets/e-addressbook-table-adapter.c | 1 + addressbook/gui/widgets/e-minicard.c | 1 + addressbook/gui/widgets/eab-contact-formatter.c | 1 + addressbook/gui/widgets/eab-gui-util.c | 55 ---------------------- addressbook/gui/widgets/eab-gui-util.h | 6 --- 6 files changed, 4 insertions(+), 61 deletions(-) (limited to 'addressbook/gui') diff --git a/addressbook/gui/widgets/Makefile.am b/addressbook/gui/widgets/Makefile.am index 4881613c79..79652c4249 100644 --- a/addressbook/gui/widgets/Makefile.am +++ b/addressbook/gui/widgets/Makefile.am @@ -75,6 +75,7 @@ libeabwidgets_la_SOURCES = \ libeabwidgets_la_LIBADD = \ $(top_builddir)/shell/libeshell.la \ $(top_builddir)/e-util/libeutil.la \ + $(top_builddir)/addressbook/util/libeabutil.la \ $(EVOLUTION_DATA_SERVER_LIBS) \ $(GNOME_PLATFORM_LIBS) \ $(GTKHTML_LIBS) \ diff --git a/addressbook/gui/widgets/e-addressbook-table-adapter.c b/addressbook/gui/widgets/e-addressbook-table-adapter.c index 51886cf186..12be6c821d 100644 --- a/addressbook/gui/widgets/e-addressbook-table-adapter.c +++ b/addressbook/gui/widgets/e-addressbook-table-adapter.c @@ -30,6 +30,7 @@ #include "e-addressbook-model.h" #include "e-addressbook-table-adapter.h" +#include "eab-book-util.h" #include "eab-contact-merging.h" #include "eab-gui-util.h" #include diff --git a/addressbook/gui/widgets/e-minicard.c b/addressbook/gui/widgets/e-minicard.c index 6a049aca50..d5a1a3ce99 100644 --- a/addressbook/gui/widgets/e-minicard.c +++ b/addressbook/gui/widgets/e-minicard.c @@ -34,6 +34,7 @@ #include "e-util/e-util.h" +#include "eab-book-util.h" #include "eab-gui-util.h" #include "e-minicard-label.h" #include "e-minicard-view.h" diff --git a/addressbook/gui/widgets/eab-contact-formatter.c b/addressbook/gui/widgets/eab-contact-formatter.c index 3684e4b81c..1e154d5a25 100644 --- a/addressbook/gui/widgets/eab-contact-formatter.c +++ b/addressbook/gui/widgets/eab-contact-formatter.c @@ -25,6 +25,7 @@ #include "e-util/e-util.h" +#include "eab-book-util.h" #include "eab-gui-util.h" G_DEFINE_TYPE ( diff --git a/addressbook/gui/widgets/eab-gui-util.c b/addressbook/gui/widgets/eab-gui-util.c index b692fdf2ce..089c12b573 100644 --- a/addressbook/gui/widgets/eab-gui-util.c +++ b/addressbook/gui/widgets/eab-gui-util.c @@ -617,61 +617,6 @@ eab_transfer_contacts (ESourceRegistry *registry, book_loaded_cb, process); } -/* To parse something like... - * =?UTF-8?Q?=E0=A4=95=E0=A4=95=E0=A4=AC=E0=A5=82=E0=A5=8B=E0=A5=87?=\t\n=?UTF-8?Q?=E0=A4=B0?=\t\n - * and return the decoded representation of name & email parts. */ -gboolean -eab_parse_qp_email (const gchar *string, - gchar **name, - gchar **email) -{ - struct _camel_header_address *address; - gboolean res = FALSE; - - address = camel_header_address_decode (string, "UTF-8"); - - if (!address) - return FALSE; - - /* report success only when we have filled both name and email address */ - if (address->type == CAMEL_HEADER_ADDRESS_NAME && address->name && *address->name && address->v.addr && *address->v.addr) { - *name = g_strdup (address->name); - *email = g_strdup (address->v.addr); - res = TRUE; - } - - camel_header_address_unref (address); - - return res; -} - -/* This is only wrapper to parse_qp_mail, it decodes string and if returned TRUE, - * then makes one string and returns it, otherwise returns NULL. - * Returned string is usable to place directly into GtkHtml stream. - * Returned value should be freed with g_free. */ -gchar * -eab_parse_qp_email_to_html (const gchar *string) -{ - gchar *name = NULL, *mail = NULL; - gchar *html_name, *html_mail; - gchar *value; - - if (!eab_parse_qp_email (string, &name, &mail)) - return NULL; - - html_name = e_text_to_html (name, 0); - html_mail = e_text_to_html (mail, E_TEXT_TO_HTML_CONVERT_ADDRESSES); - - value = g_strdup_printf ("%s <%s>", html_name, html_mail); - - g_free (html_name); - g_free (html_mail); - g_free (name); - g_free (mail); - - return value; -} - /* * eab_format_address helper function * diff --git a/addressbook/gui/widgets/eab-gui-util.h b/addressbook/gui/widgets/eab-gui-util.h index 6d3c7bf5cb..d6c6cb24da 100644 --- a/addressbook/gui/widgets/eab-gui-util.h +++ b/addressbook/gui/widgets/eab-gui-util.h @@ -54,12 +54,6 @@ ESource * eab_select_source (ESourceRegistry *registry, const gchar *select_uid, GtkWindow *parent); -/* To parse quoted printable address & return email & name fields */ -gboolean eab_parse_qp_email (const gchar *string, - gchar **name, - gchar **email); -gchar * eab_parse_qp_email_to_html (const gchar *string); - gchar * eab_format_address (EContact *contact, EContactField address_type); -- cgit v1.2.3