/*
* e-mail-shell-settings.c
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2 of the License, or (at your option) version 3.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with the program; if not, see <http://www.gnu.org/licenses/>
*
*
* Copyright (C) 1999-2008 Novell, Inc. (www.novell.com)
*
*/
#include "e-mail-shell-settings.h"
#include <gconf/gconf-client.h>
#include <libedataserver/e-account-list.h>
#include "e-util/e-signature-list.h"
#include "mail/e-mail-label-list-store.h"
#include "mail/mail-session.h"
void
e_mail_shell_settings_init (EShell *shell)
{
EShellSettings *shell_settings;
gpointer object;
shell_settings = e_shell_get_shell_settings (shell);
/* XXX Default values should match the GConf schema.
* Yes it's redundant, but we're stuck with GConf. */
/*** Global Objects ***/
e_shell_settings_install_property (
g_param_spec_object (
"mail-label-list-store",
NULL,
NULL,
E_TYPE_MAIL_LABEL_LIST_STORE,
G_PARAM_READWRITE));
object = e_mail_label_list_store_new ();
e_shell_settings_set_object (
shell_settings, "mail-label-list-store", object);
g_object_unref (object);
e_shell_settings_install_property (
g_param_spec_pointer (
"mail-session",
NULL,
NULL,
G_PARAM_READWRITE));
camel_object_ref (session);
e_shell_settings_set_pointer (
shell_settings, "mail-session", session);
/*** Mail Preferences ***/
e_shell_settings_install_property (
g_param_spec_boolean (
"mail-address-compress",
NULL,
NULL,
FALSE,
G_PARAM_READWRITE));
e_shell_settings_bind_to_gconf (
shell_settings, "mail-address-compress",
"/apps/evolution/mail/display/address_compress");
e_shell_settings_install_property (
g_param_spec_int (
"mail-address-count",
NULL,
NULL,
G_MININT,
G_MAXINT,
0,
G_PARAM_READWRITE));
e_shell_settings_bind_to_gconf (
shell_settings, "mail-address-count",
"/apps/evolution/mail/display/address_count");
e_shell_settings_install_property (
g_param_spec_string (
"mail-charset",
NULL,
NULL,
NULL,
G_PARAM_READWRITE));
e_shell_settings_bind_to_gconf (
shell_settings, "mail-charset",
"/apps/evolution/mail/display/charset");
e_shell_settings_install_property (
g_param_spec_boolean (
"mail-check-for-junk",
NULL,
NULL,
FALSE,
G_PARAM_READWRITE));
e_shell_settings_bind_to_gconf (
shell_settings, "mail-check-for-junk",
"/apps/evolution/mail/junk/check_incoming");
e_shell_settings_install_property (
g_param_spec_string (
"mail-citation-color",
NULL,
NULL,
"#737373",
G_PARAM_READWRITE));
e_shell_settings_bind_to_gconf (
shell_settings, "mail-citation-color",
"/apps/evolution/mail/display/citation_colour");
e_shell_settings_install_property (
g_param_spec_boolean (
"mail-confirm-expunge",
NULL,
NULL,
FALSE,
G_PARAM_READWRITE));
e_shell_settings_bind_to_gconf (
shell_settings, "mail-confirm-expunge",
"/apps/evolution/mail/prompts/expunge");
e_shell_settings_install_property (
g_param_spec_boolean (
"mail-confirm-unwanted-html",
NULL,
NULL,
FALSE,
G_PARAM_READWRITE));
e_shell_settings_bind_to_gconf (
shell_settings, "mail-confirm-unwanted-html",
"/apps/evolution/mail/prompts/unwanted_html");
e_shell_settings_install_property (
g_param_spec_boolean (
"mail-empty-junk-on-exit",
NULL,
NULL,
FALSE,
G_PARAM_READWRITE));
e_shell_settings_bind_to_gconf (
shell_settings, "mail-empty-junk-on-exit",
"/apps/evolution/mail/junk/empty_on_exit");
e_shell_settings_install_property (
g_param_spec_boolean (
"mail-empty-trash-on-exit",
NULL,
NULL,
FALSE,
G_PARAM_READWRITE));
e_shell_settings_bind_to_gconf (
shell_settings, "mail-empty-trash-on-exit",
"/apps/evolution/mail/trash/empty_on_exit");
e_shell_settings_install_property (
g_param_spec_boolean (
"mail-enable-search-folders",
NULL,
NULL,
FALSE,
G_PARAM_READWRITE));
e_shell_settings_bind_to_gconf (
shell_settings, "mail-enable-search-folders",
"/apps/evolution/mail/display/enable_vfolders");
e_shell_settings_install_property (
g_param_spec_string (
"mail-font-monospace",
NULL,
NULL,
"",
G_PARAM_READWRITE));
e_shell_settings_bind_to_gconf (
shell_settings, "mail-font-monospace",
"/apps/evolution/mail/display/fonts/monospace");
e_shell_settings_install_property (
g_param_spec_string (
"mail-font-variable",
NULL,
NULL,
"",
G_PARAM_READWRITE));
e_shell_settings_bind_to_gconf (
shell_settings, "mail-font-variable",
"/apps/evolution/mail/display/fonts/variable");
e_shell_settings_install_property (
g_param_spec_boolean (
"mail-force-message-limit",
NULL,
NULL,
FALSE,
G_PARAM_READWRITE));
e_shell_settings_bind_to_gconf (
shell_settings, "mail-force-message-limit",
"/apps/evolution/mail/display/force_message_limit");
/* This value corresponds to MailConfigForwardStyle enum. */
e_shell_settings_install_property (
g_param_spec_int (
"mail-forward-style",
NULL,
NULL,
0,
G_MAXINT,
0,
G_PARAM_READWRITE));
e_shell_settings_bind_to_gconf (
shell_settings, "mail-forward-style",
"/apps/evolution/mail/format/forward_style");
/* This value corresponds to MailConfigHTTPMode enum. */
e_shell_settings_install_property (
g_param_spec_int (
"mail-image-loading-policy",
NULL,
NULL,
0,
G_MAXINT,
0,
G_PARAM_READWRITE));
e_shell_settings_bind_to_gconf (
shell_settings, "mail-image-loading-policy",
"/apps/evolution/mail/display/load_http_images");
e_shell_settings_install_property (
g_param_spec_boolean (
"mail-magic-spacebar",
NULL,
NULL,
FALSE,
G_PARAM_READWRITE));
e_shell_settings_bind_to_gconf (
shell_settings, "mail-magic-spacebar",
"/apps/evolution/mail/display/magic_spacebar");
e_shell_settings_install_property (
g_param_spec_boolean (
"mail-mark-citations",
NULL,
NULL,
FALSE,
G_PARAM_READWRITE));
e_shell_settings_bind_to_gconf (
shell_settings, "mail-mark-citations",
"/apps/evolution/mail/display/mark_citations");
e_shell_settings_install_property (
g_param_spec_boolean (
"mail-mark-seen",
NULL,
NULL,
FALSE,
G_PARAM_READWRITE));
e_shell_settings_bind_to_gconf (
shell_settings, "mail-mark-seen",
"/apps/evolution/mail/display/mark_seen");
e_shell_settings_install_property (
g_param_spec_int (
"mail-mark-seen-timeout",
NULL,
NULL,
G_MININT,
G_MAXINT,
0,
G_PARAM_READWRITE));
e_shell_settings_bind_to_gconf (
shell_settings, "mail-mark-seen-timeout",
"/apps/evolution/mail/display/mark_seen_timeout");
e_shell_settings_install_property (
g_param_spec_int (
"mail-message-text-part-limit",
NULL,
NULL,
G_MININT,
G_MAXINT,
0,
G_PARAM_READWRITE));
e_shell_settings_bind_to_gconf (
shell_settings, "mail-message-text-part-limit",
"/apps/evolution/mail/display/message_text_part_limit");
e_shell_settings_install_property (
g_param_spec_boolean (
"mail-only-local-photos",
NULL,
NULL,
FALSE,
G_PARAM_READWRITE));
e_shell_settings_bind_to_gconf (
shell_settings, "mail-only-local-photos",
"/apps/evolution/mail/display/photo_local");
e_shell_settings_install_property (
g_param_spec_boolean (
"mail-prompt-delete-in-vfolder",
NULL,
NULL,
FALSE,
G_PARAM_READWRITE));
e_shell_settings_bind_to_gconf (
shell_settings, "mail-prompt-delete-in-vfolder",
"/apps/evolution/mail/prompts/delete_in_vfolder");
/* This value corresponds to MailConfigReplyStyle enum,
* but the ordering of the combo box items in preferences
* has changed. We use transformation functions there. */
e_shell_settings_install_property (
g_param_spec_int (
"mail-reply-style",
NULL,
NULL,
0,
G_MAXINT,
0,
G_PARAM_READWRITE));
e_shell_settings_bind_to_gconf (
shell_settings, "mail-reply-style",
"/apps/evolution/mail/format/reply_style");
e_shell_settings_install_property (
g_param_spec_boolean (
"mail-show-animated-images",
NULL,
NULL,
FALSE,
G_PARAM_READWRITE));
e_shell_settings_bind_to_gconf (
shell_settings, "mail-show-animated-images",
"/apps/evolution/mail/display/animated_images");
e_shell_settings_install_property (
g_param_spec_boolean (
"mail-show-sender-photo",
NULL,
NULL,
FALSE,
G_PARAM_READWRITE));
e_shell_settings_bind_to_gconf (
shell_settings, "mail-show-sender-photo",
"/apps/evolution/mail/display/sender_photo");
e_shell_settings_install_property (
g_param_spec_boolean (
"mail-side-bar-search",
NULL,
NULL,
TRUE,
G_PARAM_READWRITE));
e_shell_settings_bind_to_gconf (
shell_settings, "mail-side-bar-search",
"/apps/evolution/mail/display/side_bar_search");
e_shell_settings_install_property (
g_param_spec_boolean (
"mail-use-custom-fonts",
NULL,
NULL,
FALSE,
G_PARAM_READWRITE));
e_shell_settings_bind_to_gconf (
shell_settings, "mail-use-custom-fonts",
"/apps/evolution/mail/display/fonts/use_custom");
/*** Composer Preferences ***/
e_shell_settings_install_property (
g_param_spec_string (
"composer-charset",
NULL,
NULL,
NULL,
G_PARAM_READWRITE));
e_shell_settings_bind_to_gconf (
shell_settings, "composer-charset",
"/apps/evolution/mail/composer/charset");
e_shell_settings_install_property (
g_param_spec_boolean (
"composer-format-html",
NULL,
NULL,
FALSE,
G_PARAM_READWRITE));
e_shell_settings_bind_to_gconf (
shell_settings, "composer-format-html",
"/apps/evolution/mail/composer/send_html");
e_shell_settings_install_property (
g_param_spec_boolean (
"composer-inline-spelling",
NULL,
NULL,
FALSE,
G_PARAM_READWRITE));
e_shell_settings_bind_to_gconf (
shell_settings, "composer-inline-spelling",
"/apps/evolution/mail/composer/inline_spelling");
e_shell_settings_install_property (
g_param_spec_boolean (
"composer-magic-links",
NULL,
NULL,
FALSE,
G_PARAM_READWRITE));
e_shell_settings_bind_to_gconf (
shell_settings, "composer-magic-links",
"/apps/evolution/mail/composer/magic_links");
e_shell_settings_install_property (
g_param_spec_boolean (
"composer-magic-smileys",
NULL,
NULL,
FALSE,
G_PARAM_READWRITE));
e_shell_settings_bind_to_gconf (
shell_settings, "composer-magic-smileys",
"/apps/evolution/mail/composer/magic_smileys");
e_shell_settings_install_property (
g_param_spec_boolean (
"composer-outlook-filenames",
NULL,
NULL,
FALSE,
G_PARAM_READWRITE));
e_shell_settings_bind_to_gconf (
shell_settings, "composer-outlook-filenames",
"/apps/evolution/mail/composer/outlook_filenames");
e_shell_settings_install_property (
g_param_spec_boolean (
"composer-prompt-only-bcc",
NULL,
NULL,
FALSE,
G_PARAM_READWRITE));
e_shell_settings_bind_to_gconf (
shell_settings, "composer-prompt-only-bcc",
"/apps/evolution/mail/prompts/only_bcc");
e_shell_settings_install_property (
g_param_spec_boolean (
"composer-prompt-empty-subject",
NULL,
NULL,
FALSE,
G_PARAM_READWRITE));
e_shell_settings_bind_to_gconf (
shell_settings, "composer-prompt-empty-subject",
"/apps/evolution/mail/prompts/empty_subject");
e_shell_settings_install_property (
g_param_spec_boolean (
"composer-reply-start-bottom",
NULL,
NULL,
FALSE,
G_PARAM_READWRITE));
e_shell_settings_bind_to_gconf (
shell_settings, "composer-reply-start-bottom",
"/apps/evolution/mail/composer/reply_start_bottom");
e_shell_settings_install_property (
g_param_spec_boolean (
"composer-request-receipt",
NULL,
NULL,
FALSE,
G_PARAM_READWRITE));
e_shell_settings_bind_to_gconf (
shell_settings, "composer-request-receipt",
"/apps/evolution/mail/composer/request_receipt");
e_shell_settings_install_property (
g_param_spec_string (
"composer-spell-color",
NULL,
NULL,
"#ff0000",
G_PARAM_READWRITE));
e_shell_settings_bind_to_gconf (
shell_settings, "composer-spell-color",
"/apps/evolution/mail/composer/spell_color");
e_shell_settings_install_property (
g_param_spec_boolean (
"composer-top-signature",
NULL,
NULL,
FALSE,
G_PARAM_READWRITE));
e_shell_settings_bind_to_gconf (
shell_settings, "composer-top-signature",
"/apps/evolution/mail/composer/top_signature");
}