]> granicus.if.org Git - mutt/commitdiff
When the character set is changed, ask whether or not mutt should
authorThomas Roessler <roessler@does-not-exist.org>
Tue, 24 Apr 2001 11:21:22 +0000 (11:21 +0000)
committerThomas Roessler <roessler@does-not-exist.org>
Tue, 24 Apr 2001 11:21:22 +0000 (11:21 +0000)
convert.

commands.c

index f6cbcc7dc17848f6510d62a3c070ea2d58a585e0..49bd462836d454e45104c6a0ead8bb5e492e7f7a 100644 (file)
@@ -811,21 +811,31 @@ void mutt_edit_content_type (HEADER *h, BODY *b, FILE *fp)
   
   mutt_parse_content_type (buf, b);
 
-  /* inform the user */
-  
   
   snprintf (tmp, sizeof (tmp), "%s/%s", TYPE (b), NONULL (b->subtype));
   type_changed = mutt_strcasecmp (tmp, obuf);
   charset_changed = mutt_strcasecmp (charset, mutt_get_parameter ("charset", b->parameter));
-                                
+
+  /* if in send mode, check for conversion - current setting is default. */
+
+  if (!h && b->type == TYPETEXT && charset_changed)
+  {
+    snprintf (tmp, sizeof (tmp), _("Convert to %s upon sending?"),
+             mutt_get_parameter ("charset", b->parameter));
+    b->noconv = !mutt_yesorno (tmp, !b->noconv);
+  }
+
+  /* inform the user */
+  
   if (type_changed)
     mutt_message (_("Content-Type changed to %s."), tmp);
   else if (b->type == TYPETEXT && charset_changed)
-    mutt_message (_("Character set changed to %s."), 
-                 mutt_get_parameter ("charset", b->parameter));
+    mutt_message (_("Character set changed to %s; %s."),
+                 mutt_get_parameter ("charset", b->parameter),
+                 b->noconv ? _("not converting") : _("converting"));
 
   b->force_charset |= charset_changed ? 1 : 0;
-  
+
   if (!is_multipart (b) && b->parts)
     mutt_free_body (&b->parts);
   if (!mutt_is_message_type (b->type, b->subtype) && b->hdr)