aboutsummaryrefslogtreecommitdiffstats
path: root/mail/mail-config.c
diff options
context:
space:
mode:
authorJeffrey Stedfast <fejj@ximian.com>2001-06-02 06:40:17 +0800
committerJeffrey Stedfast <fejj@src.gnome.org>2001-06-02 06:40:17 +0800
commitdfda76b995cedfee0588e3f9a9b7e22574dd0c58 (patch)
tree5d680062194ba89cb3ea9772cb752023cc27a382 /mail/mail-config.c
parent07f5146f0832d7611a21b328723382583b7107e0 (diff)
downloadgsoc2013-evolution-dfda76b995cedfee0588e3f9a9b7e22574dd0c58.tar.gz
gsoc2013-evolution-dfda76b995cedfee0588e3f9a9b7e22574dd0c58.tar.zst
gsoc2013-evolution-dfda76b995cedfee0588e3f9a9b7e22574dd0c58.zip
Save the pgp and smime settings. (mail_account_gui_new): Setup the pgp and
2001-06-01 Jeffrey Stedfast <fejj@ximian.com> * mail-account-gui.c (mail_account_gui_save): Save the pgp and smime settings. (mail_account_gui_new): Setup the pgp and s/mime page (but disable the s/mime frame if we are not compiled with s/mime support). * mail-config.c (account_copy): Updated to save extra pgp and smime options. (account_destroy): Free draft/sent folder info and also the new pgp/smime keys. (config_read): Read in the pgp and s/mime config options. (mail_config_write): Save the account pgp and smime options. svn path=/trunk/; revision=10084
Diffstat (limited to 'mail/mail-config.c')
-rw-r--r--mail/mail-config.c66
1 files changed, 63 insertions, 3 deletions
diff --git a/mail/mail-config.c b/mail/mail-config.c
index 2819abaffa..4465ac27db 100644
--- a/mail/mail-config.c
+++ b/mail/mail-config.c
@@ -167,7 +167,13 @@ account_copy (const MailConfigAccount *account)
new->drafts_folder_uri = g_strdup (account->drafts_folder_uri);
new->sent_folder_name = g_strdup (account->sent_folder_name);
new->sent_folder_uri = g_strdup (account->sent_folder_uri);
-
+
+ new->pgp_key = g_strdup (account->pgp_key);
+ new->pgp_encrypt_to_self = account->pgp_encrypt_to_self;
+
+ new->smime_key = g_strdup (account->smime_key);
+ new->smime_encrypt_to_self = account->smime_encrypt_to_self;
+
return new;
}
@@ -183,6 +189,14 @@ account_destroy (MailConfigAccount *account)
service_destroy (account->source);
service_destroy (account->transport);
+ g_free (account->drafts_folder_name);
+ g_free (account->drafts_folder_uri);
+ g_free (account->sent_folder_name);
+ g_free (account->sent_folder_uri);
+
+ g_free (account->pgp_key);
+ g_free (account->smime_key);
+
g_free (account);
}
@@ -220,7 +234,7 @@ mail_config_clear (void)
g_slist_free (config->news);
config->news = NULL;
}
-
+
/* overkill? */
memset (config, 0, sizeof (MailConfig));
}
@@ -290,6 +304,36 @@ config_read (void)
else
g_free (val);
+ /* get the pgp info */
+ path = g_strdup_printf ("account_pgp_key_%d", i);
+ val = gnome_config_get_string (path);
+ g_free (path);
+ if (val && *val)
+ account->pgp_key = val;
+ else
+ g_free (val);
+
+ path = g_strdup_printf ("account_pgp_encrypt_to_self_%d", i);
+ account->pgp_encrypt_to_self = gnome_config_get_bool_with_default (path, &def);
+ if (def)
+ account->pgp_encrypt_to_self = TRUE;
+ g_free (path);
+
+ /* get the s/mime info */
+ path = g_strdup_printf ("account_smime_key_%d", i);
+ val = gnome_config_get_string (path);
+ g_free (path);
+ if (val && *val)
+ account->smime_key = val;
+ else
+ g_free (val);
+
+ path = g_strdup_printf ("account_smime_encrypt_to_self_%d", i);
+ account->smime_encrypt_to_self = gnome_config_get_bool_with_default (path, &def);
+ if (def)
+ account->smime_encrypt_to_self = TRUE;
+ g_free (path);
+
/* get the identity info */
id = g_new0 (MailConfigIdentity, 1);
path = g_strdup_printf ("identity_name_%d", i);
@@ -491,7 +535,7 @@ config_read (void)
else
config->default_charset = g_strdup (config->default_charset);
}
-
+
gnome_config_sync ();
}
@@ -536,6 +580,22 @@ mail_config_write (void)
gnome_config_set_string (path, account->sent_folder_uri);
g_free (path);
+ /* account pgp options */
+ path = g_strdup_printf ("account_pgp_key_%d", i);
+ gnome_config_set_string (path, account->pgp_key);
+ g_free (path);
+ path = g_strdup_printf ("account_pgp_encrypt_to_self_%d", i);
+ gnome_config_set_bool (path, account->pgp_encrypt_to_self);
+ g_free (path);
+
+ /* account s/mime options */
+ path = g_strdup_printf ("account_smime_key_%d", i);
+ gnome_config_set_string (path, account->smime_key);
+ g_free (path);
+ path = g_strdup_printf ("account_smime_encrypt_to_self_%d", i);
+ gnome_config_set_bool (path, account->smime_encrypt_to_self);
+ g_free (path);
+
/* identity info */
path = g_strdup_printf ("identity_name_%d", i);
gnome_config_set_string (path, account->id->name);