aboutsummaryrefslogtreecommitdiffstats
path: root/mail/mail-config.c
diff options
context:
space:
mode:
authorMatthew Barnes <mbarnes@redhat.com>2009-08-07 05:48:45 +0800
committerMatthew Barnes <mbarnes@redhat.com>2009-08-07 06:42:42 +0800
commit740af34bdf59229f5c63b30b5cca6264672f6707 (patch)
tree153c02805da8ade80f8e0934fcdd529f20d8d4be /mail/mail-config.c
parentba5c9e6f8046f76ffda4a1871d1287f9834d1211 (diff)
downloadgsoc2013-evolution-740af34bdf59229f5c63b30b5cca6264672f6707.tar
gsoc2013-evolution-740af34bdf59229f5c63b30b5cca6264672f6707.tar.gz
gsoc2013-evolution-740af34bdf59229f5c63b30b5cca6264672f6707.tar.bz2
gsoc2013-evolution-740af34bdf59229f5c63b30b5cca6264672f6707.tar.lz
gsoc2013-evolution-740af34bdf59229f5c63b30b5cca6264672f6707.tar.xz
gsoc2013-evolution-740af34bdf59229f5c63b30b5cca6264672f6707.tar.zst
gsoc2013-evolution-740af34bdf59229f5c63b30b5cca6264672f6707.zip
Seal up ESignature and add GObject properties.
Diffstat (limited to 'mail/mail-config.c')
-rw-r--r--mail/mail-config.c28
1 files changed, 19 insertions, 9 deletions
diff --git a/mail/mail-config.c b/mail/mail-config.c
index 316957bf38..0c22f0036e 100644
--- a/mail/mail-config.c
+++ b/mail/mail-config.c
@@ -1157,14 +1157,18 @@ mail_config_signature_new (const gchar *filename, gboolean script, gboolean html
ESignature *sig;
sig = e_signature_new ();
- sig->name = g_strdup (_("Unnamed"));
- sig->script = script;
- sig->html = html;
+ e_signature_set_name (sig, _("Unnamed"));
+ e_signature_set_is_script (sig, script);
+ e_signature_set_is_html (sig, html);
- if (filename == NULL)
- sig->filename = get_new_signature_filename ();
- else
- sig->filename = g_strdup (filename);
+ if (filename == NULL) {
+ gchar *new_filename;
+
+ new_filename = get_new_signature_filename ();
+ e_signature_set_filename (sig, new_filename);
+ g_free (new_filename);
+ } else
+ e_signature_set_filaname (sig, filename);
return sig;
}
@@ -1191,8 +1195,14 @@ mail_config_add_signature (ESignature *signature)
void
mail_config_remove_signature (ESignature *signature)
{
- if (signature->filename && !signature->script)
- g_unlink (signature->filename);
+ const gchar *filename;
+ gboolean is_script;
+
+ filename = e_signature_get_filename (signature);
+ is_script = e_signature_get_is_script (signature);
+
+ if (filename == NULL && !is_script)
+ g_unlink (filename);
e_signature_list_remove (config->signatures, signature);
mail_config_save_signatures ();