aboutsummaryrefslogtreecommitdiffstats
path: root/mail/em-composer-prefs.c
diff options
context:
space:
mode:
authorMatthew Barnes <mbarnes@src.gnome.org>2009-01-27 06:18:58 +0800
committerMatthew Barnes <mbarnes@src.gnome.org>2009-01-27 06:18:58 +0800
commite0f414941dd4e13ea074996d10606b0dae7e494b (patch)
tree2ebf55cdd625e82547787f92aaddad4132374a02 /mail/em-composer-prefs.c
parentbc80332460c353e391cd620f2cc51f7b56eef4de (diff)
downloadgsoc2013-evolution-e0f414941dd4e13ea074996d10606b0dae7e494b.tar
gsoc2013-evolution-e0f414941dd4e13ea074996d10606b0dae7e494b.tar.gz
gsoc2013-evolution-e0f414941dd4e13ea074996d10606b0dae7e494b.tar.bz2
gsoc2013-evolution-e0f414941dd4e13ea074996d10606b0dae7e494b.tar.lz
gsoc2013-evolution-e0f414941dd4e13ea074996d10606b0dae7e494b.tar.xz
gsoc2013-evolution-e0f414941dd4e13ea074996d10606b0dae7e494b.tar.zst
gsoc2013-evolution-e0f414941dd4e13ea074996d10606b0dae7e494b.zip
Split EAccountList and ESignatureList management out of the mail module.
This reduces the dependency of the composer on the mail module, which is currently a circular dependency. svn path=/branches/kill-bonobo/; revision=37135
Diffstat (limited to 'mail/em-composer-prefs.c')
-rw-r--r--mail/em-composer-prefs.c25
1 files changed, 17 insertions, 8 deletions
diff --git a/mail/em-composer-prefs.c b/mail/em-composer-prefs.c
index 52bbd98479..2609e46835 100644
--- a/mail/em-composer-prefs.c
+++ b/mail/em-composer-prefs.c
@@ -31,8 +31,7 @@
#include <fcntl.h>
#include "e-util/e-binding.h"
-#include "e-util/e-signature.h"
-#include "e-util/e-signature-list.h"
+#include "e-util/e-signature-utils.h"
#include "e-util/gconf-bridge.h"
#include "em-composer-prefs.h"
@@ -97,7 +96,7 @@ composer_prefs_dispose (GObject *object)
EMComposerPrefs *prefs = (EMComposerPrefs *) object;
ESignatureList *signature_list;
- signature_list = mail_config_get_signatures ();
+ signature_list = e_get_signature_list ();
if (prefs->sig_added_id != 0) {
g_signal_handler_disconnect (
@@ -380,12 +379,19 @@ sig_delete_cb (GtkWidget *widget, EMComposerPrefs *prefs)
GtkTreeModel *model;
GtkTreeIter iter;
ESignature *signature;
+ ESignatureList *signature_list;
+ signature_list = e_get_signature_list ();
selection = gtk_tree_view_get_selection (prefs->sig_list);
if (gtk_tree_selection_get_selected (selection, &model, &iter)) {
gtk_tree_model_get (model, &iter, 1, &signature, -1);
- mail_config_remove_signature (signature);
+
+ if (signature->filename && !signature->script)
+ g_unlink (signature->filename);
+
+ e_signature_list_remove (signature_list, signature);
+ e_signature_list_save (signature_list);
}
gtk_widget_grab_focus ((GtkWidget *)prefs->sig_list);
}
@@ -425,24 +431,27 @@ sig_add_script_response (GtkWidget *widget, int button, EMComposerPrefs *prefs)
struct stat st;
if (g_stat (argv[0], &st) == 0 && S_ISREG (st.st_mode) && g_access (argv[0], X_OK) == 0) {
+ ESignatureList *signature_list;
ESignature *signature;
+ signature_list = e_get_signature_list ();
+
if ((signature = g_object_get_data ((GObject *) entry, "sig"))) {
/* we're just editing an existing signature script */
g_free (signature->name);
signature->name = g_strdup (name);
g_free(signature->filename);
signature->filename = g_strdup(script);
- e_signature_list_change (mail_config_get_signatures (), signature);
+ e_signature_list_change (signature_list, signature);
} else {
signature = mail_config_signature_new (script, TRUE, TRUE);
signature->name = g_strdup (name);
- e_signature_list_add (mail_config_get_signatures (), signature);
+ e_signature_list_add (signature_list, signature);
g_object_unref (signature);
}
- mail_config_save_signatures();
+ e_signature_list_save (signature_list);
gtk_widget_hide (prefs->sig_script_dialog);
g_strfreev (argv);
@@ -505,7 +514,7 @@ sig_fill_list (EMComposerPrefs *prefs)
model = gtk_tree_view_get_model (prefs->sig_list);
gtk_list_store_clear (GTK_LIST_STORE (model));
- signature_list = mail_config_get_signatures ();
+ signature_list = e_get_signature_list ();
iterator = e_list_get_iterator ((EList *) signature_list);
while (e_iterator_is_valid (iterator)) {