2005-07-01 [colin] 1.9.12cvs8
[claws.git] / src / compose.c
index 72c740eff6e0b3f8616880fbdd24f03cd21f279f..84c0592b8bbfee63dee0707849e4d03ea0b1c2c5 100644 (file)
@@ -904,9 +904,14 @@ Compose *compose_generic_new(PrefsAccount *account, const gchar *mailto, FolderI
         return compose;
 }
 
-static void compose_force_encryption(Compose *compose, PrefsAccount *account)
+static void compose_force_encryption(Compose *compose, PrefsAccount *account,
+               gboolean override_pref)
 {
        gchar *privacy = NULL;
+
+       if (override_pref == FALSE && account->default_encrypt_reply == FALSE)
+               return;
+
        if (account->default_privacy_system
        &&  strlen(account->default_privacy_system)) {
                privacy = account->default_privacy_system;
@@ -1112,7 +1117,7 @@ static void compose_generic_reply(MsgInfo *msginfo, gboolean quote,
                                  qmark, body);
        }
        if (procmime_msginfo_is_encrypted(compose->replyinfo)) {
-               compose_force_encryption(compose, account);
+               compose_force_encryption(compose, account, FALSE);
        }
 
        if (account->auto_sig)
@@ -1421,14 +1426,16 @@ void compose_reedit(MsgInfo *msginfo)
        g_signal_handlers_block_by_func(G_OBJECT(textbuf),
                                        G_CALLBACK(compose_changed_cb),
                                        compose);
-                                       
-       if ((fp = procmime_get_first_text_content(msginfo)) == NULL) {
-               if ((fp = procmime_get_first_encrypted_text_content(msginfo)) == NULL)
-                       g_warning("Can't get text part\n");
-               else {
-                       compose_force_encryption(compose, account);
-               }
-       }
+       
+       if (procmime_msginfo_is_encrypted(msginfo)) {
+               fp = procmime_get_first_encrypted_text_content(msginfo);
+               if (fp) 
+                       compose_force_encryption(compose, account, TRUE);
+       } else
+               fp = procmime_get_first_text_content(msginfo);
+       if (fp == NULL)
+               g_warning("Can't get text part\n");
+
        if (fp != NULL) {
                gboolean prev_autowrap = compose->autowrap;