Nico Golde:
[apps/madmutt.git] / crypt-gpgme.c
index bfcd5de..b9b7613 100644 (file)
@@ -600,7 +600,7 @@ static int set_signer (gpgme_ctx_t ctx, int for_smime)
     gpgme_key_release (key);
     gpgme_key_release (key2);
     gpgme_release (listctx);
-    mutt_error (_("ambiguous specfication of secret key `%s'\n"), signid);
+    mutt_error (_("ambiguous specification of secret key `%s'\n"), signid);
     return -1;
   }
   gpgme_op_keylist_end (listctx);
@@ -988,7 +988,7 @@ static int show_sig_summary (unsigned long sum,
     gpgme_signature_t sig;
     unsigned int i;
 
-    state_attach_puts (_("A system error occured"), s);
+    state_attach_puts (_("A system error occurred"), s);
 
     /* Try to figure out some more detailed system error information. */
     result = gpgme_op_verify_result (ctx);
@@ -3827,21 +3827,23 @@ static int gpgme_send_menu (HEADER * msg, int *redraw, int is_smime)
   if (is_smime)
     choice =
       mutt_multi_choice (_
-                         ("S/MIME (e)ncrypt, (s)ign, sign (a)s, (b)oth, (t)oggle or (f)orget it?"),
-                         _("esabtf"));
+                         ("S/MIME (e)ncrypt, (s)ign, sign (a)s, (b)oth, (p)gp or (c)lear?"),
+                         _("esabpfc"));
   else
     choice =
       mutt_multi_choice (_
-                         ("PGP (e)ncrypt, (s)ign, sign (a)s, (b)oth, (t)oggle or (f)orget it?"),
-                         _("esabtf"));
+                         ("PGP (e)ncrypt, (s)ign, sign (a)s, (b)oth, s/(m)ime or (c)lear?"),
+                         _("esabmfc"));
 
   switch (choice) {
   case 1:                      /* (e)ncrypt */
     msg->security |= (is_smime ? SMIMEENCRYPT : PGPENCRYPT);
+    msg->security &= ~(is_smime ? SMIMESIGN : PGPSIGN);
     break;
 
   case 2:                      /* (s)ign */
     msg->security |= (is_smime ? SMIMESIGN : PGPSIGN);
+    msg->security &= ~(is_smime ? SMIMEENCRYPT : PGPENCRYPT);
     break;
 
   case 3:                      /* sign (a)s */
@@ -3856,9 +3858,11 @@ static int gpgme_send_menu (HEADER * msg, int *redraw, int is_smime)
 
       msg->security |= (is_smime ? SMIMESIGN : PGPSIGN);
     }
+#if 0
     else {
       msg->security &= (is_smime ? ~SMIMESIGN : ~PGPSIGN);
     }
+#endif
     *redraw = REDRAW_FULL;
     break;
 
@@ -3867,16 +3871,16 @@ static int gpgme_send_menu (HEADER * msg, int *redraw, int is_smime)
       (is_smime ? (SMIMEENCRYPT | SMIMESIGN) : (PGPENCRYPT | PGPSIGN));
     break;
 
-  case 5:                      /* (t)oggle */
+  case 5:                      /* (p)gp or s/(m)ime */
     is_smime = !is_smime;
     break;
 
-  case 6:                      /* (f)orget it */
+  case 6:                      /* (c)lear */
     msg->security = 0;
     break;
   }
 
-  if (choice == 6);
+  if (choice == 6 || choice == 7);
   else if (is_smime) {
     msg->security &= ~APPLICATION_PGP;
     msg->security |= APPLICATION_SMIME;