From e0f414941dd4e13ea074996d10606b0dae7e494b Mon Sep 17 00:00:00 2001 From: Matthew Barnes Date: Mon, 26 Jan 2009 22:18:58 +0000 Subject: 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 --- mail/e-mail-shell-module-settings.c | 37 +++++++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) (limited to 'mail/e-mail-shell-module-settings.c') 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 +#include + +#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); } -- cgit