aboutsummaryrefslogtreecommitdiffstats
path: root/mail/e-mail-shell-module-settings.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/e-mail-shell-module-settings.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/e-mail-shell-module-settings.c')
-rw-r--r--mail/e-mail-shell-module-settings.c37
1 files changed, 37 insertions, 0 deletions
diff --git a/mail/e-mail-shell-module-settings.c b/mail/e-mail-shell-module-settings.c
index 0bd72c27bc..4acce23ad2 100644
--- a/mail/e-mail-shell-module-settings.c
+++ b/mail/e-mail-shell-module-settings.c
@@ -21,11 +21,19 @@
#include "e-mail-shell-module-settings.h"
+#include <gconf/gconf-client.h>
+#include <libedataserver/e-account-list.h>
+
+#include "e-util/e-signature-list.h"
+
void
e_mail_shell_module_init_settings (EShell *shell)
{
+ GConfClient *client;
EShellSettings *shell_settings;
+ gpointer object;
+ client = gconf_client_get_default ();
shell_settings = e_shell_get_shell_settings (shell);
/* XXX Default values should match the GConf schema.
@@ -425,4 +433,33 @@ e_mail_shell_module_init_settings (EShell *shell)
e_shell_settings_bind_to_gconf (
shell_settings, "composer-top-signature",
"/apps/evolution/mail/composer/top_signature");
+
+ /* These properties are not bound directly to GConf keys.
+ * XXX Nor should they be stored in GConf to begin with. */
+
+ e_shell_settings_install_property (
+ g_param_spec_object (
+ "accounts",
+ NULL,
+ NULL,
+ E_TYPE_ACCOUNT_LIST,
+ G_PARAM_READWRITE));
+
+ object = e_account_list_new (client);
+ e_shell_settings_set_object (shell_settings, "accounts", object);
+ g_object_unref (object);
+
+ e_shell_settings_install_property (
+ g_param_spec_object (
+ "signatures",
+ NULL,
+ NULL,
+ E_TYPE_SIGNATURE_LIST,
+ G_PARAM_READWRITE));
+
+ object = e_signature_list_new (client);
+ e_shell_settings_set_object (shell_settings, "signatures", object);
+ g_object_unref (object);
+
+ g_object_unref (client);
}