diff options
author | Matthew Barnes <mbarnes@src.gnome.org> | 2009-01-27 06:18:58 +0800 |
---|---|---|
committer | Matthew Barnes <mbarnes@src.gnome.org> | 2009-01-27 06:18:58 +0800 |
commit | e0f414941dd4e13ea074996d10606b0dae7e494b (patch) | |
tree | 2ebf55cdd625e82547787f92aaddad4132374a02 /mail/e-mail-shell-module-settings.c | |
parent | bc80332460c353e391cd620f2cc51f7b56eef4de (diff) | |
download | gsoc2013-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.c | 37 |
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); } |