2009-02-06 [holger] 3.7.0cvs55
[claws.git] / src / prefs_common.c
index 2290470e670291cbef9d3dd49795dc327b93d750..be9f07c3f4a18504c33eba116ffb91876b593ff5 100644 (file)
@@ -1,6 +1,6 @@
 /*
  * Sylpheed -- a GTK+ based, lightweight, and fast e-mail client
- * Copyright (C) 1999-2007 Hiroyuki Yamamoto and the Claws Mail team
+ * Copyright (C) 1999-2009 Hiroyuki Yamamoto and the Claws Mail team
  *
  * This program is free software; you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
@@ -121,10 +121,6 @@ static PrefParam param_os_specific[] = {
         &prefs_common.pixmap_theme_path, P_STRING, NULL, NULL, NULL},
 
        /* Other */
-       {"uri_open_command", NULL,
-        &prefs_common.uri_cmd, P_STRING, NULL, NULL, NULL},
-       {"print_command", "notepad /p %s",
-        &prefs_common.print_cmd, P_STRING, NULL, NULL, NULL},
        {"ext_editor_command", "notepad %s",
         &prefs_common.ext_editor_cmd, P_STRING, NULL, NULL, NULL},
 
@@ -192,7 +188,7 @@ static PrefParam param[] = {
         NULL, NULL, NULL},
        {"confirm_send_queued_messages", "FALSE", &prefs_common.confirm_send_queued_messages,
         P_BOOL, NULL, NULL, NULL},
-#ifndef MAEMO
+#ifndef GENERIC_UMPC
        {"send_dialog_mode", "0", &prefs_common.send_dialog_invisible, P_BOOL,
         NULL, NULL, NULL},
 #else
@@ -208,6 +204,8 @@ static PrefParam param[] = {
         NULL, NULL, NULL},
        {"encoding_method", "0", &prefs_common.encoding_method, P_ENUM,
         NULL, NULL, NULL},
+       {"outgoing_fallback_to_ascii", "TRUE", &prefs_common.outgoing_fallback_to_ascii, P_BOOL,
+        NULL, NULL, NULL},
 
        {"allow_jisx0201_kana", "FALSE", &prefs_common.allow_jisx0201_kana,
         P_BOOL, NULL, NULL, NULL},
@@ -226,7 +224,7 @@ static PrefParam param[] = {
         NULL, NULL, NULL},
        {"compose_subject_format", "",
         &prefs_common.compose_subject_format, P_STRING, NULL, NULL, NULL},
-       {"compose_body_format", NULL,
+       {"compose_body_format", N_("Hello,\\n"),
         &prefs_common.compose_body_format, P_STRING, NULL, NULL, NULL},
 
        {"linewrap_length", "72", &prefs_common.linewrap_len, P_INT,
@@ -235,34 +233,34 @@ static PrefParam param[] = {
         NULL, NULL, NULL},
        {"linewrap_pastes", "TRUE", &prefs_common.linewrap_pastes, P_BOOL,
         NULL, NULL, NULL},
+       {"primary_paste_unselects", "FALSE", &prefs_common.primary_paste_unselects, P_BOOL,
+        NULL, NULL, NULL},
        {"linewrap_auto", "TRUE", &prefs_common.autowrap, P_BOOL,
         NULL, NULL, NULL},
+       {"auto_indent", "TRUE", &prefs_common.auto_indent, P_BOOL,
+        NULL, NULL, NULL},
         {"autosave", "TRUE", &prefs_common.autosave,
         P_BOOL, NULL, NULL, NULL},
         {"autosave_length", "50", &prefs_common.autosave_length, P_INT,
         NULL, NULL, NULL},
-#if USE_ASPELL
+
        {"enable_aspell", "TRUE", &prefs_common.enable_aspell, P_BOOL,
         NULL, NULL, NULL},
-       {"aspell_path", ASPELL_PATH, &prefs_common.aspell_path, P_STRING,
-        NULL, NULL, NULL},
        {"dictionary",  "", &prefs_common.dictionary, P_STRING,
         NULL, NULL, NULL},
        {"alt_dictionary",  "", &prefs_common.alt_dictionary, P_STRING,
         NULL, NULL, NULL},
-       {"aspell_sugmode", "1", &prefs_common.aspell_sugmode, P_INT,
-        NULL, NULL, NULL},
        {"use_alternate_dict", "FALSE", &prefs_common.use_alternate, P_BOOL,
         NULL, NULL, NULL},
        {"check_while_typing", "TRUE", &prefs_common.check_while_typing, P_BOOL,
         NULL, NULL, NULL},
        {"recheck_when_changing_dict", "TRUE", &prefs_common.recheck_when_changing_dict,
         P_BOOL, NULL, NULL, NULL},
-       {"misspelled_color", "16711680", &prefs_common.misspelled_col, P_COLOR,
+       {"misspelled_color", "#ff0000", &prefs_common.misspelled_col, P_COLOR,
         NULL, NULL, NULL},
        {"use_both_dicts", "FALSE", &prefs_common.use_both_dicts, P_BOOL,
         NULL, NULL, NULL},
-#endif
+
        {"reply_with_quote", "TRUE", &prefs_common.reply_with_quote, P_BOOL,
         NULL, NULL, NULL},
        {"compose_dnd_insert_or_attach", "0", &prefs_common.compose_dnd_mode, P_ENUM,
@@ -282,7 +280,7 @@ static PrefParam param[] = {
        {"default_reply_list", "TRUE", &prefs_common.default_reply_list, P_BOOL,
         NULL, NULL, NULL},
 
-#ifndef MAEMO
+#ifndef GENERIC_UMPC
        {"show_ruler", "TRUE", &prefs_common.show_ruler, P_BOOL,
         NULL, NULL, NULL},
 #else
@@ -293,12 +291,16 @@ static PrefParam param[] = {
        /* Quote */
        {"reply_quote_mark", "> ", &prefs_common.quotemark, P_STRING,
         NULL, NULL, NULL},
-       {"reply_quote_format", NULL,
+       {"reply_quote_format", N_("On %d\\n%f wrote:\\n\\n%q\\n%X"),
         &prefs_common.quotefmt, P_STRING, NULL, NULL, NULL},
 
        {"forward_quote_mark", "> ", &prefs_common.fw_quotemark, P_STRING,
         NULL, NULL, NULL},
-       {"forward_quote_format", NULL, &prefs_common.fw_quotefmt, P_STRING,
+       {"forward_quote_format",
+        N_("\\n\\nBegin forwarded message:\\n\\n"
+        "?d{Date: %d\\n}?f{From: %f\\n}?t{To: %t\\n}?c{Cc: %c\\n}"
+        "?n{Newsgroups: %n\\n}?s{Subject: %s\\n}\\n\\n%M"),
+        &prefs_common.fw_quotefmt, P_STRING,
         NULL, NULL, NULL},
        {"quote_chars", ">", &prefs_common.quote_chars, P_STRING,
         NULL, NULL, NULL},
@@ -317,7 +319,7 @@ static PrefParam param[] = {
          &prefs_common.normalfont_gtk1,        P_STRING, NULL, NULL, NULL},
 
        /* new fonts */
-#ifndef MAEMO
+#ifndef GENERIC_UMPC
        {"widget_font_gtk2",    NULL,
          &SPECIFIC_PREFS.widgetfont,           P_STRING, NULL, NULL, NULL},
        {"message_font_gtk2",   "Monospace 9",
@@ -443,7 +445,7 @@ static PrefParam param[] = {
 
        {"enable_thread", "TRUE", &prefs_common.enable_thread, P_BOOL,
         NULL, NULL, NULL},
-#ifndef MAEMO
+#ifndef GENERIC_UMPC
        {"toolbar_style", "3", &prefs_common.toolbar_style, P_ENUM,
         NULL, NULL, NULL},
 #else
@@ -454,7 +456,7 @@ static PrefParam param[] = {
         NULL, NULL, NULL},
        {"show_col_headers", "TRUE", &prefs_common.show_col_headers, P_BOOL,
         NULL, NULL, NULL},
-#ifndef MAEMO
+#ifndef GENERIC_UMPC
        {"show_statusbar", "TRUE", &prefs_common.show_statusbar, P_BOOL,
         NULL, NULL, NULL},
        {"show_searchbar", "TRUE", &prefs_common.show_searchbar, P_BOOL,
@@ -522,7 +524,7 @@ static PrefParam param[] = {
         &prefs_common.summary_col_size[S_COL_STATUS], P_INT, NULL, NULL, NULL},
        {"summary_col_size_mime", "10",
         &prefs_common.summary_col_size[S_COL_MIME], P_INT, NULL, NULL, NULL},
-#ifndef MAEMO
+#ifndef GENERIC_UMPC
        {"summary_col_size_subject", "200",
         &prefs_common.summary_col_size[S_COL_SUBJECT], P_INT, NULL, NULL, NULL},
        {"summary_col_size_from", "120",
@@ -581,7 +583,7 @@ static PrefParam param[] = {
        {"folder_col_pos_total", "3",
         &prefs_common.folder_col_pos[F_COL_TOTAL], P_INT, NULL, NULL, NULL},
 
-#ifndef MAEMO
+#ifndef GENERIC_UMPC
        {"folder_col_size_folder", "120",
         &prefs_common.folder_col_size[F_COL_FOLDER], P_INT, NULL, NULL, NULL},
        {"folder_col_size_new", "32",
@@ -630,7 +632,9 @@ static PrefParam param[] = {
         NULL, NULL, NULL},
        {"mainwin_maximised", "FALSE", &prefs_common.mainwin_maximised, P_BOOL,
         NULL, NULL, NULL},
-#ifndef MAEMO
+       {"mainwin_fullscreen", "FALSE", &prefs_common.mainwin_fullscreen, P_BOOL,
+        NULL, NULL, NULL},
+#ifndef GENERIC_UMPC
        {"mainwin_width", "800", &prefs_common.mainwin_width, P_INT,
         NULL, NULL, NULL},
        {"mainwin_height", "600", &prefs_common.mainwin_height, P_INT,
@@ -673,27 +677,27 @@ static PrefParam param[] = {
        {"enable_color", "TRUE", &prefs_common.enable_color, P_BOOL,
         NULL, NULL, NULL},
 
-       {"quote_level1_color", "179", &prefs_common.quote_level1_col, P_COLOR,
+       {"quote_level1_color", "#0000b3", &prefs_common.quote_level1_col, P_COLOR,
         NULL, NULL, NULL},
-       {"quote_level2_color", "179", &prefs_common.quote_level2_col, P_COLOR,
+       {"quote_level2_color", "#0000b3", &prefs_common.quote_level2_col, P_COLOR,
         NULL, NULL, NULL},
-       {"quote_level3_color", "179", &prefs_common.quote_level3_col, P_COLOR,
+       {"quote_level3_color", "#0000b3", &prefs_common.quote_level3_col, P_COLOR,
         NULL, NULL, NULL},
        {"enable_bgcolor", "FALSE", &prefs_common.enable_bgcolor, P_BOOL,
         NULL, NULL, NULL},
-       {"quote_level1_bgcolor", "13421772", &prefs_common.quote_level1_bgcol, P_COLOR,
+       {"quote_level1_bgcolor", "#cccccc", &prefs_common.quote_level1_bgcol, P_COLOR,
         NULL, NULL, NULL},
-       {"quote_level2_bgcolor", "13948116", &prefs_common.quote_level2_bgcol, P_COLOR,
+       {"quote_level2_bgcolor", "#d4d4d4", &prefs_common.quote_level2_bgcol, P_COLOR,
         NULL, NULL, NULL},
-       {"quote_level3_bgcolor", "14540253", &prefs_common.quote_level3_bgcol, P_COLOR,
+       {"quote_level3_bgcolor", "#dddddd", &prefs_common.quote_level3_bgcol, P_COLOR,
         NULL, NULL, NULL},
-       {"uri_color", "32512", &prefs_common.uri_col, P_COLOR,
+       {"uri_color", "#007f00", &prefs_common.uri_col, P_COLOR,
         NULL, NULL, NULL},
-       {"emphasis_color", "207", &prefs_common.emphasis_col, P_COLOR,
+       {"emphasis_color", "#0000cf", &prefs_common.emphasis_col, P_COLOR,
         NULL, NULL, NULL},
-       {"target_folder_color", "14294218", &prefs_common.tgt_folder_col, P_COLOR,
+       {"target_folder_color", "#da1cca", &prefs_common.tgt_folder_col, P_COLOR,
         NULL, NULL, NULL},
-       {"signature_color", "7960953", &prefs_common.signature_col, P_COLOR,
+       {"signature_color", "#797979", &prefs_common.signature_col, P_COLOR,
         NULL, NULL, NULL},
        {"recycle_quote_colors", "FALSE", &prefs_common.recycle_quote_colors,
         P_BOOL, NULL, NULL, NULL},
@@ -708,6 +712,8 @@ static PrefParam param[] = {
         NULL, NULL, NULL},
        {"invoke_plugin_on_html", "FALSE", &prefs_common.invoke_plugin_on_html, P_BOOL,
         NULL, NULL, NULL},
+       {"promote_html_part", "FALSE", &prefs_common.promote_html_part, P_BOOL,
+        NULL, NULL, NULL},
        {"line_space", "2", &prefs_common.line_space, P_INT,
         NULL, NULL, NULL},
        {"never_send_retrcpt", "FALSE", &prefs_common.never_send_retrcpt, P_BOOL,
@@ -740,7 +746,7 @@ static PrefParam param[] = {
         &SPECIFIC_PREFS.mime_open_cmd,     P_STRING, NULL, NULL, NULL},
 
        /* Interface */
-#ifndef MAEMO
+#ifndef GENERIC_UMPC
        {"layout_mode", "0", &prefs_common.layout_mode, P_INT,
         NULL, NULL, NULL},
 #else
@@ -749,9 +755,9 @@ static PrefParam param[] = {
 #endif
        /* {"emulate_emacs", "FALSE", &prefs_common.emulate_emacs, P_BOOL,
         NULL, NULL, NULL}, */
-       {"always_show_message_when_selected", "FALSE",
+       {"always_show_message_when_selected", "0",
         &prefs_common.always_show_msg,
-        P_BOOL, NULL, NULL, NULL},
+        P_ENUM, NULL, NULL, NULL},
        {"select_on_entry", "3", &prefs_common.select_on_entry,
         P_ENUM, NULL, NULL, NULL},
        {"show_tooltips", "TRUE", &prefs_common.show_tooltips,
@@ -805,16 +811,20 @@ static PrefParam param[] = {
         P_INT, NULL, NULL, NULL},
 
        /* Other */
+#ifndef G_OS_WIN32
        {"uri_open_command", DEFAULT_BROWSER_CMD,
         &SPECIFIC_PREFS.uri_cmd, P_STRING, NULL, NULL, NULL},
        {"print_command", "lpr %s",
         &SPECIFIC_PREFS.print_cmd, P_STRING, NULL, NULL, NULL},
+#endif
        {"ext_editor_command", DEFAULT_EDITOR_CMD,
         &SPECIFIC_PREFS.ext_editor_cmd, P_STRING, NULL, NULL, NULL},
        {"cmds_use_system_default", "FALSE",
         &prefs_common.cmds_use_system_default, P_BOOL, NULL, NULL, NULL},
        {"add_address_by_click", "FALSE", &prefs_common.add_address_by_click,
         P_BOOL, NULL, NULL, NULL},
+       {"session_passwords", "FALSE", &prefs_common.session_passwords,
+        P_BOOL, NULL, NULL, NULL},
        {"confirm_on_exit", "FALSE", &prefs_common.confirm_on_exit, P_BOOL,
         NULL, NULL, NULL},
        {"clean_trash_on_exit", "FALSE", &prefs_common.clean_on_exit, P_BOOL,
@@ -827,7 +837,7 @@ static PrefParam param[] = {
         NULL, NULL, NULL},
        {"summary_quicksearch_type", "0", &prefs_common.summary_quicksearch_type, P_INT,
         NULL, NULL, NULL},
-#ifndef MAEMO
+#ifndef GENERIC_UMPC
        {"summary_quicksearch_recurse", "1", &prefs_common.summary_quicksearch_recurse, P_INT,
         NULL, NULL, NULL},
 #else
@@ -851,7 +861,7 @@ static PrefParam param[] = {
         NULL, NULL, NULL},
        {"log_length", "500", &prefs_common.loglength, P_INT,
         NULL, NULL, NULL},
-#ifndef MAEMO
+#ifndef GENERIC_UMPC
        {"enable_log_standard", "TRUE", &prefs_common.enable_log_standard, P_BOOL,
         NULL, NULL, NULL},
        {"enable_log_warning", "TRUE", &prefs_common.enable_log_warning, P_BOOL,
@@ -909,7 +919,7 @@ static PrefParam param[] = {
        {"gtk_can_change_accels", "TRUE", &prefs_common.gtk_can_change_accels, P_BOOL,
         NULL, NULL, NULL},
 
-       {"color_new", "179", &prefs_common.color_new, P_COLOR,
+       {"color_new", "#0000b3", &prefs_common.color_new, P_COLOR,
         NULL, NULL, NULL},
 
        /* Some windows' sizes */
@@ -1037,7 +1047,7 @@ static PrefParam param[] = {
         NULL, NULL, NULL},
        {"hover_timeout", "500", &prefs_common.hover_timeout, P_INT,
         NULL, NULL, NULL},
-#ifndef MAEMO
+#ifndef GENERIC_UMPC
        {"cache_max_mem_usage", "4096", &prefs_common.cache_max_mem_usage, P_INT,
         NULL, NULL, NULL},
        {"cache_min_keep_time", "15", &prefs_common.cache_min_keep_time, P_INT,
@@ -1074,7 +1084,7 @@ static PrefParam param[] = {
         NULL, NULL, NULL},
        {"unsafe_ssl_certs", "FALSE", &prefs_common.unsafe_ssl_certs, P_BOOL,
         NULL, NULL, NULL},
-#ifndef MAEMO
+#ifndef GENERIC_UMPC
        {"real_time_sync", "FALSE", &prefs_common.real_time_sync, P_BOOL,
         NULL, NULL, NULL},
 #else
@@ -1086,6 +1096,14 @@ static PrefParam param[] = {
         NULL, NULL, NULL},
        {"print_paper_orientation", "0", &prefs_common.print_paper_orientation, P_INT,
         NULL, NULL, NULL},
+       {"print_margin_top", "-1", &prefs_common.print_margin_top, P_INT,
+        NULL, NULL, NULL},
+       {"print_margin_bottom", "-1", &prefs_common.print_margin_bottom, P_INT,
+        NULL, NULL, NULL},
+       {"print_margin_left", "-1", &prefs_common.print_margin_left, P_INT,
+        NULL, NULL, NULL},
+       {"print_margin_right", "-1", &prefs_common.print_margin_right, P_INT,
+        NULL, NULL, NULL},
        {"print_use_color", "0", &prefs_common.print_use_color, P_INT,
         NULL, NULL, NULL},
        {"print_use_collate", "0", &prefs_common.print_use_collate, P_INT,
@@ -1108,6 +1126,9 @@ static PrefParam param[] = {
        {"two_line_vertical", "TRUE", &prefs_common.two_line_vert,
        P_BOOL, NULL, NULL, NULL },
 
+       {"inherit_folder_properties", "FALSE", &prefs_common.inherit_folder_props, P_BOOL,
+        NULL, NULL, NULL},
+
        {NULL, NULL, NULL, P_OTHER, NULL, NULL, NULL}
 };
 
@@ -1199,6 +1220,8 @@ void prefs_common_read_config(void)
                prefs_common_read_history(SUMMARY_SEARCH_ADV_CONDITION_HISTORY);
        prefs_common.message_search_history =
                prefs_common_read_history(MESSAGE_SEARCH_HISTORY);
+       prefs_common.compose_save_to_history =
+               prefs_common_read_history(COMPOSE_SAVE_TO_HISTORY);
 
        prefs_common.addressbook_custom_attributes = addressbook_update_custom_attr_from_prefs();
 
@@ -1295,6 +1318,8 @@ void prefs_common_write_config(void)
                prefs_common.summary_search_adv_condition_history);
        prefs_common_save_history(MESSAGE_SEARCH_HISTORY, 
                prefs_common.message_search_history);
+       prefs_common_save_history(COMPOSE_SAVE_TO_HISTORY, 
+               prefs_common.compose_save_to_history);
 
        prefs_common_save_history_to_dir(ADDRBOOK_DIR,
                ADDRESSBOOK_CUSTOM_ATTRIBUTES, 
@@ -1505,6 +1530,9 @@ const gchar *prefs_common_translated_header_name(const gchar *header_name)
 
 const gchar *prefs_common_get_uri_cmd(void)
 {
+#ifdef G_OS_WIN32
+       return NULL;
+#else
        gchar *tmp = NULL;
        
        if (!prefs_common.cmds_use_system_default)
@@ -1516,6 +1544,7 @@ const gchar *prefs_common_get_uri_cmd(void)
        
        g_free(tmp);
        return "xdg-open %s";
+#endif
 }
 
 const gchar *prefs_common_get_ext_editor_cmd(void)
@@ -1541,3 +1570,8 @@ gboolean prefs_common_get_use_shred(void)
 {
        return prefs_common.use_shred;
 }
+
+PrefsCommon *prefs_common_get_prefs(void)
+{
+       return &prefs_common;
+}