diff options
Diffstat (limited to 'calendar/gui')
-rw-r--r-- | calendar/gui/e-cal-component-memo-preview.c | 23 | ||||
-rw-r--r-- | calendar/gui/e-cal-component-preview.c | 22 |
2 files changed, 13 insertions, 32 deletions
diff --git a/calendar/gui/e-cal-component-memo-preview.c b/calendar/gui/e-cal-component-memo-preview.c index 27761983c5..5f65001d25 100644 --- a/calendar/gui/e-cal-component-memo-preview.c +++ b/calendar/gui/e-cal-component-memo-preview.c @@ -40,6 +40,7 @@ #include "calendar-config.h" #include "e-cal-component-memo-preview.h" #include "e-cal-component-preview.h" +#include <camel/camel-mime-filter-tohtml.h> struct _ECalComponentMemoPreviewPrivate { GtkWidget *html; @@ -201,27 +202,15 @@ write_html (GtkHTMLStream *stream, ECal *ecal, ECalComponent *comp, icaltimezone gtk_html_stream_printf (stream, "<TD><PRE>"); for (node = l; node != NULL; node = node->next) { - gint i, j, len; - GString *string; + char *html; text = * (ECalComponentText *) node->data; - len = (text.value ? strlen (text.value) : 0); - string = g_string_sized_new (len + 1); + html = camel_text_to_html (text.value ? text.value : "", CAMEL_MIME_FILTER_TOHTML_CONVERT_URLS | CAMEL_MIME_FILTER_TOHTML_CONVERT_ADDRESSES, 0); - for (i = 0, j=0; i < len; i++, j++) { - if (text.value[i] == '\n'){ - string = g_string_append_len (string, "<BR>", 4); - } - else if (text.value[i] == '<') - string = g_string_append_len (string, "<", 4); - else if (text.value[i] == '>') - string = g_string_append_len (string, ">", 4); - else - string = g_string_append_c (string, text.value[i]); - } + if (html) + gtk_html_stream_printf (stream, "%s", html); - gtk_html_stream_printf (stream,"%s", string->str); - g_string_free (string, TRUE); + g_free (html); } gtk_html_stream_printf (stream, "</PRE></TD></TR>"); diff --git a/calendar/gui/e-cal-component-preview.c b/calendar/gui/e-cal-component-preview.c index 899ee901d2..05b84bef30 100644 --- a/calendar/gui/e-cal-component-preview.c +++ b/calendar/gui/e-cal-component-preview.c @@ -39,6 +39,7 @@ #include <e-util/e-categories-config.h> #include "calendar-config.h" #include "e-cal-component-preview.h" +#include <camel/camel-mime-filter-tohtml.h> struct _ECalComponentPreviewPrivate { GtkWidget *html; @@ -292,24 +293,15 @@ write_html (GtkHTMLStream *stream, ECal *ecal, ECalComponent *comp, icaltimezone gtk_html_stream_printf (stream, "<TD><PRE>"); for (node = l; node != NULL; node = node->next) { - gint i, len; - GString *string = g_string_new (NULL);; + char *html; text = * (ECalComponentText *) node->data; - len = text.value ? strlen (text.value) : 0; - for (i = 0; i <len ; i++) { - if (text.value[i] == '\n') - string = g_string_append_len (string, "<BR>", 4); - else if (text.value[i] == '<') - string = g_string_append_len (string, "<", 4); - else if (text.value[i] == '>') - string = g_string_append_len (string, ">", 4); - else - string = g_string_append_c (string, text.value[i]); - } + html = camel_text_to_html (text.value ? text.value : "", CAMEL_MIME_FILTER_TOHTML_CONVERT_URLS | CAMEL_MIME_FILTER_TOHTML_CONVERT_ADDRESSES, 0); + + if (html) + gtk_html_stream_printf (stream, "%s", html); - gtk_html_stream_printf (stream, "%s", string->str); - g_string_free (string, TRUE); + g_free (html); } gtk_html_stream_printf (stream, "</PRE></TD></TR>"); |