X-Git-Url: http://git.maemo.org/git/?p=modest;a=blobdiff_plain;f=src%2Fmodest-text-utils.c;h=a64462532be9094af846eb81eb0cdb82e5205069;hp=6bba7f153e0f5509ebd4055b16517cedc1d5241a;hb=3a65c0163dc7290de04ecf59d6863eca4991ec3b;hpb=d8cca2763d3a9c9e46e827321a83bd26c40871e3 diff --git a/src/modest-text-utils.c b/src/modest-text-utils.c index 6bba7f1..a644625 100644 --- a/src/modest-text-utils.c +++ b/src/modest-text-utils.c @@ -63,8 +63,6 @@ * will hang modest */ #define HYPERLINKIFY_MAX_LENGTH (1024*50) -#define SIGNATURE_MARKER "--" - /* * we need these regexps to find URLs in plain text e-mails @@ -109,8 +107,8 @@ struct _url_match_t { /* note: match MARK_AMP_URI_STR as well, because after txt->html, a '&' will look like $(MARK_AMP_URI_STR)"amp;" */ #define MAIL_VIEWER_URL_MATCH_PATTERNS { \ - { "(feed:|)(file|rtsp|http|ftp|https|mms|mmsh|webcal|feed|rtsp|rdp|lastfm|sip)://[-a-z0-9_$.+!*(),;:@%=?/~#" MARK_AMP_URI_STR \ - "]+[-a-z0-9_$%" MARK_AMP_URI_STR "=?/~#]", \ + { "(feed:|)(file|rtsp|http|ftp|https|mms|mmsh|webcal|feed|rtsp|rdp|lastfm|sip)://[-a-z0-9_$.+!*(),;:@%=\?/~#&" MARK_AMP_URI_STR \ + "]+[-a-z0-9_$%&" MARK_AMP_URI_STR "=?/~#]", \ NULL, NULL },\ { "www\\.[-a-z0-9_$.+!*(),;:@%=?/~#" MARK_AMP_URI_STR "]+[-a-z0-9_$%" MARK_AMP_URI_STR "=?/~#]",\ NULL, "http://" }, \ @@ -216,7 +214,7 @@ modest_text_utils_cite (const gchar *text, if (!signature) { tmp_sig = g_strdup (text); } else { - tmp_sig = g_strconcat (text, "\n", SIGNATURE_MARKER, "\n", signature, NULL); + tmp_sig = g_strconcat (text, "\n", MODEST_TEXT_UTILS_SIGNATURE_MARKER, "\n", signature, NULL); } if (strcmp (content_type, "text/html") == 0) { @@ -768,7 +766,7 @@ get_indent_level (const char *l) /* if we hit the signature marker "-- ", we return -(indent + 1). This * stops reformatting. */ - if (strcmp (l, "-- ") == 0) { + if (strcmp (l, MODEST_TEXT_UTILS_SIGNATURE_MARKER) == 0) { return -1 - indent; } else { return indent; @@ -966,7 +964,7 @@ modest_text_utils_quote_plain_text (const gchar *text, q = g_string_new (""); if (signature != NULL) { - q = g_string_append (q, "\n--\n"); + g_string_append_printf (q, "\n%s\n", MODEST_TEXT_UTILS_SIGNATURE_MARKER); q = g_string_append (q, signature); } @@ -1013,7 +1011,7 @@ modest_text_utils_quote_html (const gchar *text, GString *quoted_text; g_string_append (result_string, "
\n");
 		if (signature) {
-			quote_html_add_to_gstring (result_string, SIGNATURE_MARKER);
+			quote_html_add_to_gstring (result_string, MODEST_TEXT_UTILS_SIGNATURE_MARKER);
 			quote_html_add_to_gstring (result_string, signature);
 		}
 		quote_html_add_to_gstring (result_string, cite);
@@ -1274,7 +1272,37 @@ modest_text_utils_get_display_address (gchar *address)
 }
 
 
+gchar *
+modest_text_utils_get_display_addresses (const gchar *recipients)
+{
+	gchar *addresses;
+	GSList *recipient_list;
+
+	addresses = NULL;
+	recipient_list = modest_text_utils_split_addresses_list (recipients);
+	if (recipient_list) {
+		GString *add_string = g_string_sized_new (strlen (recipients));
+		GSList *iter = recipient_list;
+		gboolean first = TRUE;
+
+		while (iter) {
+			/* Strings are changed in place */
+			modest_text_utils_get_display_address ((gchar *) iter->data);
+			if (G_UNLIKELY (first)) {
+				g_string_append_printf (add_string, "%s", (gchar *) iter->data);
+				first = FALSE;
+			} else {
+				g_string_append_printf (add_string, ", %s", (gchar *) iter->data);
+			}
+			iter = g_slist_next (iter);
+		}
+		g_slist_foreach (recipient_list, (GFunc) g_free, NULL);
+		g_slist_free (recipient_list);
+		addresses = g_string_free (add_string, FALSE);
+	}
 
+	return addresses;
+}
 
 
 gchar *