Re: [evolution-patches] fix for bug #45523



oops, forgot I had another patch in the works in mail/, here's a new
patch that doesn't include non-related changes

Jeff

On Wed, 2003-07-02 at 17:43, Jeffrey Stedfast wrote:
> just copy/pasted the mail_tool_quote_message() code that strips the
> signature into mail_tool_forward_message()... except that in order for
> this to work, I had to not allow mail_get_message_body() quote the
> message.
> 
> Instead of using mail_get_message_body() to quote the message text, use
> the same method we use for replying (which does the special gtkhtml
> quoting thing).
> 
> Jeff
-- 
Jeffrey Stedfast
Evolution Hacker - Ximian, Inc.
fejj ximian com  - www.ximian.com
Index: ChangeLog
===================================================================
RCS file: /cvs/gnome/evolution/mail/ChangeLog,v
retrieving revision 1.2762
diff -u -r1.2762 ChangeLog
--- ChangeLog	1 Jul 2003 18:43:21 -0000	1.2762
+++ ChangeLog	2 Jul 2003 21:25:49 -0000
@@ -1,3 +1,18 @@
+2003-07-02  Jeffrey Stedfast  <fejj ximian com>
+
+	* mail-tools.c (mail_tool_forward_message): Strip the signature
+	from the body text. Fixes bug #45523. While we're here, also fix
+	the code to quote exactly the same way as the
+	mail_tool_quote_message() function.
+	(mail_tool_quote_message): The last arg should not be
+	'want_plain', because that arg is for whether or not the body
+	should be quoted.
+
+	* folder-browser.c (message_list_drag_data_get): Apply a
+	From-filter when dragging as a test/uri-list and
+	message/rfc822. Fixes bug #45617. Also free the uids ptrarray for
+	the text/uri-list case.
+
 2003-06-27  Jeffrey Stedfast  <fejj ximian com>
 
 	* message-list.c (filter_date): Use the newer utf8 versions of the
Index: mail-tools.c
===================================================================
RCS file: /cvs/gnome/evolution/mail/mail-tools.c,v
retrieving revision 1.116
diff -u -r1.116 mail-tools.c
--- mail-tools.c	11 Jun 2003 16:19:36 -0000	1.116
+++ mail-tools.c	2 Jul 2003 21:25:49 -0000
@@ -372,7 +372,7 @@
 	 * am sure --Larry
 	 */
 	want_plain = FALSE;
-	text = mail_get_message_body (contents, want_plain, want_plain);
+	text = mail_get_message_body (contents, want_plain, FALSE);
 	
 	/* Set the quoted reply text. */
 	if (text) {
@@ -427,19 +427,51 @@
 gchar *
 mail_tool_forward_message (CamelMimeMessage *message, gboolean quoted)
 {
-	char *title, *body, *ret;
-	gboolean send_html;
 	GConfClient *gconf;
+	char *text;
 	
 	gconf = mail_config_get_gconf_client ();
-	send_html = gconf_client_get_bool (gconf, "/apps/evolution/mail/composer/send_html", NULL);
 	
-	body = mail_get_message_body (CAMEL_DATA_WRAPPER (message), !send_html, quoted);
-	title = _("Forwarded Message");
-	ret = g_strdup_printf ("-----%s-----<br>%s", title, body ? body : "");
-	g_free (body);
+	text = mail_get_message_body (CAMEL_DATA_WRAPPER (message), FALSE, FALSE);
 	
-	return ret;
+	if (text != NULL) {
+		char *sig, *p, *ret_text;
+		
+		/* FIXME: this code should be merged with the quote_message() code above somehow... */
+		
+		/* look for the signature and strip it off */
+		sig = text;
+	        while ((p = strstr (sig, "\n-- \n")))
+			sig = p + 1;
+		
+		if (sig != text)
+			*sig = '\0';
+		
+		if (quoted) {
+			char *colour;
+			
+			colour = gconf_client_get_string (gconf, "/apps/evolution/mail/display/citation_colour", NULL);
+			
+			ret_text = g_strdup_printf ("-----%s-----<br>"
+						    "<!--+GtkHTML:<DATA class=\"ClueFlow\" key=\"orig\" value=\"1\">-->"
+						    "<font color=\"%s\">\n%s%s%s</font>"
+						    "<!--+GtkHTML:<DATA class=\"ClueFlow\" clear=\"orig\">-->",
+						    _("Forwarded Message"),
+						    colour ? colour : "#737373",
+						    "<blockquote type=cite><i>", text,
+						    "</i></blockquote>");
+			
+			g_free (colour);
+		} else {
+			ret_text = g_strdup_printf ("-----%s-----<br>%s", _("Forwarded Message"), text ? text : "");
+		}
+		
+		g_free (text);
+		
+		return ret_text;
+	}
+	
+	return NULL;
 }
 
 


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]