Re: [evolution-patches] Fix address field display.
- From: Not Zed <notzed ximian com>
- To: David Woodhouse <dwmw2 infradead org>
- Cc: evolution-patches ximian com
- Subject: Re: [evolution-patches] Fix address field display.
- Date: Wed, 07 Jan 2004 10:51:22 +1030
This is the wrong fix, there's a lot of code there specifically to do
what you're removing.
The right fix would be to make camel-internet-address support groups,
which it seems is what you are trying to do.
On Tue, 2004-01-06 at 17:50 +0000, David Woodhouse wrote:
> This simplifies the rendering of mail, and has the added benefit that we
> no longer lose information when displaying address headers. Observe the
> difference between
> http://www.infradead.org/~dwmw2/evo-losing-to.jpeg
> and http://www.infradead.org/~dwmw2/evo-showing-to.jpeg
>
> Generated with 'diff -w' for ease of reading; of course when I commit it
> the whitespace will be correct.
>
> Index: mail/ChangeLog
> ===================================================================
> RCS file: /cvs/gnome/evolution/mail/ChangeLog,v
> retrieving revision 1.2973
> diff -u -p -w -r1.2973 ChangeLog
> -- mail/ChangeLog 6 Jan 2004 15:32:16 -0000 1.2973
> +++ mail/ChangeLog 6 Jan 2004 17:32:42 -0000
> @@ -1,3 +1,9 @@
> +2004-01-06 David Woodhouse <dwmw2 infradead org>
> +
> + * em-format-html.c (efh_format_header): Don't attempt to recreate
> + To:, Cc: and similar headers from the addresses which camel happens
> + to know about; display the real content of the mail instead.
> +
> 2004-01-06 Jeffrey Stedfast <fejj ximian com>
>
> * em-message-browser.c (emmb_set_message): Protect against a NULL
> Index: mail/em-format-html.c
> ===================================================================
> RCS file: /cvs/gnome/evolution/mail/em-format-html.c,v
> retrieving revision 1.20
> diff -u -p -w -r1.20 em-format-html.c
> -- mail/em-format-html.c 11 Dec 2003 23:47:32 -0000 1.20
> +++ mail/em-format-html.c 6 Jan 2004 17:32:42 -0000
> @@ -1407,43 +1407,18 @@ efh_format_text_header(EMFormat *emf, Ca
> }
>
> static void
> -efh_format_address(EMFormat *emf, CamelStream *stream, const CamelInternetAddress *cia, const char *name, guint32 flags)
> -{
> - char *text;
> -
> - if (cia == NULL || !camel_internet_address_get(cia, 0, NULL, NULL))
> - return;
> -
> - text = camel_address_format((CamelAddress *)cia);
> - efh_format_text_header(emf, stream, name, text, flags | EM_FORMAT_HEADER_BOLD);
> - g_free(text);
> -}
> -
> -static void
> efh_format_header(EMFormat *emf, CamelStream *stream, CamelMedium *part, const char *namein, guint32 flags, const char *charset)
> {
> #define msg ((CamelMimeMessage *)part)
> #define efh ((EMFormatHTML *)emf)
> char *name;
> + const char *txt, *label;
> + char *value = NULL;
>
> name = alloca(strlen(namein)+1);
> strcpy(name, namein);
> camel_strdown(name);
>
> - if (!strcmp(name, "from"))
> - efh_format_address(emf, stream, camel_mime_message_get_from(msg), _("From"), flags);
> - else if (!strcmp(name, "reply-to"))
> - efh_format_address(emf, stream, camel_mime_message_get_reply_to(msg), _("Reply-To"), flags);
> - else if (!strcmp(name, "to"))
> - efh_format_address(emf, stream, camel_mime_message_get_recipients(msg, CAMEL_RECIPIENT_TYPE_TO), _("To"), flags);
> - else if (!strcmp(name, "cc"))
> - efh_format_address(emf, stream, camel_mime_message_get_recipients(msg, CAMEL_RECIPIENT_TYPE_CC), _("Cc"), flags);
> - else if (!strcmp(name, "bcc"))
> - efh_format_address(emf, stream, camel_mime_message_get_recipients(msg, CAMEL_RECIPIENT_TYPE_BCC), _("Bcc"), flags);
> - else {
> - const char *txt, *label;
> - char *value = NULL;
> -
> if (!strcmp(name, "subject")) {
> txt = camel_mime_message_get_subject(msg);
> label = _("Subject");
> @@ -1502,12 +1477,29 @@ efh_format_header(EMFormat *emf, CamelSt
> txt = camel_medium_get_header(part, name);
> value = camel_header_decode_string (txt, charset);
> txt = value;
> +
> + /* Translate and make bold the common headers */
> + if (!strcmp(name, "from")) {
> + label = _("From");
> + flags |= EM_FORMAT_HEADER_BOLD;
> + } else if (!strcmp(name, "reply-to")) {
> + label = _("Reply-To");
> + flags |= EM_FORMAT_HEADER_BOLD;
> + } else if (!strcmp(name, "to")) {
> + label = _("To");
> + flags |= EM_FORMAT_HEADER_BOLD;
> + } else if (!strcmp(name, "cc")) {
> + label = _("Cc");
> + flags |= EM_FORMAT_HEADER_BOLD;
> + } else if (!strcmp(name, "bcc")) {
> + label = _("Bcc");
> + flags |= EM_FORMAT_HEADER_BOLD;
> + } else
> label = namein;
> }
>
> efh_format_text_header(emf, stream, label, txt, flags);
> g_free(value);
> - }
> #undef msg
> #undef efh
> }
>
> --
> dwmw2
>
> _______________________________________________
> Evolution-patches mailing list
> Evolution-patches lists ximian com
> http://lists.ximian.com/mailman/listinfo/evolution-patches
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]