aboutsummaryrefslogtreecommitdiffstats
path: root/mail/mail-format.c
diff options
context:
space:
mode:
authorJeffrey Stedfast <fejj@helixcode.com>2000-11-18 06:29:53 +0800
committerJeffrey Stedfast <fejj@src.gnome.org>2000-11-18 06:29:53 +0800
commitb8262fdf8dcffd0a141c14d219f562893476f9ce (patch)
tree4755b9a46a7813140c23444d2e21c0ea4fccdb20 /mail/mail-format.c
parent3d20f476af63c73f7bb0f8566426591375b73aba (diff)
downloadgsoc2013-evolution-b8262fdf8dcffd0a141c14d219f562893476f9ce.tar
gsoc2013-evolution-b8262fdf8dcffd0a141c14d219f562893476f9ce.tar.gz
gsoc2013-evolution-b8262fdf8dcffd0a141c14d219f562893476f9ce.tar.bz2
gsoc2013-evolution-b8262fdf8dcffd0a141c14d219f562893476f9ce.tar.lz
gsoc2013-evolution-b8262fdf8dcffd0a141c14d219f562893476f9ce.tar.xz
gsoc2013-evolution-b8262fdf8dcffd0a141c14d219f562893476f9ce.tar.zst
gsoc2013-evolution-b8262fdf8dcffd0a141c14d219f562893476f9ce.zip
Use the new quote_message function and make it start with "On %s, %s
2000-11-17 Jeffrey Stedfast <fejj@helixcode.com> * mail-format.c (mail_generate_reply): Use the new quote_message function and make it start with "On %s, %s wrote:" since people seem to want that. * mail-ops.c (cleanup_forward_messages): Use the new quote_message function. * mail-tools.c (mail_tool_quote_message): New convenience function to quote a message body (since both the reply and forward code do similar quoting) svn path=/trunk/; revision=6605
Diffstat (limited to 'mail/mail-format.c')
-rw-r--r--mail/mail-format.c64
1 files changed, 12 insertions, 52 deletions
diff --git a/mail/mail-format.c b/mail/mail-format.c
index 3a747b199f..d85f54febf 100644
--- a/mail/mail-format.c
+++ b/mail/mail-format.c
@@ -1643,15 +1643,16 @@ list_add_addresses(GList *list, const CamelInternetAddress *cia, const char *not
EMsgComposer *
mail_generate_reply (CamelMimeMessage *message, gboolean to_all)
{
- CamelDataWrapper *contents;
- char *text, *subject;
+ char *text, *subject, *date_str;
EMsgComposer *composer;
- gboolean want_plain, is_html;
const char *message_id, *references;
+ const char *name = NULL, *address = NULL;
GList *to = NULL, *cc = NULL;
MailConfigIdentity *id;
gchar *sig_file = NULL;
- const CamelInternetAddress *reply_to;
+ const CamelInternetAddress *reply_to, *sender;
+ time_t date;
+ int offset;
id = mail_config_get_default_identity ();
if (id)
@@ -1661,56 +1662,15 @@ mail_generate_reply (CamelMimeMessage *message, gboolean to_all)
if (!composer)
return NULL;
- want_plain = !mail_config_send_html ();
- contents = camel_medium_get_content_object (CAMEL_MEDIUM (message));
- text = mail_get_message_body (contents, want_plain, &is_html);
+ sender = camel_mime_message_get_from (message);
+ camel_internet_address_get (sender, 0, &name, &address);
+ date = camel_mime_message_get_date (message, &offset);
+ date_str = header_format_date (date, offset);
+ text = mail_tool_quote_message (message, _("On %s, %s wrote:\n"), date_str, name ? name : address);
+ g_free (date_str);
- /* Set the quoted reply text. */
if (text) {
- char *repl_text;
-
- if (is_html) {
- repl_text = g_strdup_printf ("<blockquote><i>\n%s\n"
- "</i></blockquote>\n",
- text);
- } else {
- char *s, *d, *quoted_text;
- int lines, len;
-
- /* Count the number of lines in the body. If
- * the text ends with a \n, this will be one
- * too high, but that's ok. Allocate enough
- * space for the text and the "> "s.
- */
- for (s = text, lines = 0; s; s = strchr (s + 1, '\n'))
- lines++;
- quoted_text = g_malloc (strlen (text) + lines * 2);
-
- s = text;
- d = quoted_text;
-
- /* Copy text to quoted_text line by line,
- * prepending "> ".
- */
- while (1) {
- len = strcspn (s, "\n");
- if (len == 0 && !*s)
- break;
- sprintf (d, "> %.*s\n", len, s);
- s += len;
- if (!*s++)
- break;
- d += len + 3;
- }
- *d = '\0';
-
- /* Now convert that to HTML. */
- repl_text = e_text_to_html (quoted_text, E_TEXT_TO_HTML_PRE);
- g_free (quoted_text);
- }
-
- e_msg_composer_set_body_text (composer, repl_text);
- g_free (repl_text);
+ e_msg_composer_set_body_text (composer, text);
g_free (text);
}