#include "folderview.h"
#include "stock_pixmap.h"
#include "prefswindow.h"
+#include "colorlabel.h"
enum {
DATEFMT_FMT,
GtkWidget *notebook;
+#ifdef G_OS_WIN32
+/*
+ * In the Windows version prefs_common contains
+ * - the non-OS-specific settings of the "Common" section and
+ * - the OS-specific settings of the "CommonWin32" section
+ * The OS-specific settings of the "Common" section are not used
+ * but saved in prefs_unix.
+ */
+
+# define SPECIFIC_PREFS prefs_unix
+
+static PrefsCommon prefs_unix;
+
+static PrefParam param_os_specific[] = {
+ /* Receive */
+ {"ext_inc_path", "",
+ &prefs_common.extinc_cmd, P_STRING, NULL, NULL, NULL},
+ {"newmail_notify_cmd", "",
+ &prefs_common.newmail_notify_cmd, P_STRING, NULL, NULL, NULL},
+
+ /* new fonts */
+ {"widget_font_gtk2", NULL,
+ &prefs_common.widgetfont, P_STRING, NULL, NULL, NULL},
+ {"message_font_gtk2", "Monospace 9",
+ &prefs_common.textfont, P_STRING, NULL, NULL, NULL},
+ {"print_font_gtk2", "Monospace 9"
+ &prefs_common.printfont
+ {"small_font_gtk2", "Sans 9",
+ &prefs_common.smallfont, P_STRING, NULL, NULL, NULL},
+ {"normal_font_gtk2", "Sans 9",
+ &prefs_common.normalfont, P_STRING, NULL, NULL, NULL},
+
+ /* Message */
+ {"attach_save_directory", NULL,
+ &prefs_common.attach_save_dir, P_STRING, NULL, NULL, NULL},
+ {"attach_load_directory", NULL,
+ &prefs_common.attach_load_dir, P_STRING, NULL, NULL, NULL},
+
+ /* MIME viewer */
+ {"mime_image_viewer", NULL,
+ &prefs_common.mime_image_viewer, P_STRING, NULL, NULL, NULL},
+ {"mime_audio_player", NULL,
+ &prefs_common.mime_audio_player, P_STRING, NULL, NULL, NULL},
+ {"mime_open_command", "notepad '%s'",
+ &prefs_common.mime_open_cmd, P_STRING, NULL, NULL, NULL},
+
+ /* Interface */
+ {"pixmap_theme_path", DEFAULT_PIXMAP_THEME,
+ &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},
+
+ {NULL, NULL, NULL, P_OTHER, NULL, NULL, NULL}
+};
+#else
+# define SPECIFIC_PREFS prefs_common
+#endif
+
/*
parameter name, default value, pointer to the prefs variable, data type,
pointer to the widget pointer,
/* Receive */
{"use_ext_inc", "FALSE", &prefs_common.use_extinc, P_BOOL,
NULL, NULL, NULL},
- {"ext_inc_path", DEFAULT_INC_PATH, &prefs_common.extinc_cmd, P_STRING,
+ {"ext_inc_path", DEFAULT_INC_PATH, &SPECIFIC_PREFS.extinc_cmd, P_STRING,
NULL, NULL, NULL},
{"autochk_newmail", "FALSE", &prefs_common.autochk_newmail, P_BOOL,
P_BOOL, NULL, NULL, NULL},
{"newmail_notify_auto", "FALSE", &prefs_common.newmail_notify_auto,
P_BOOL, NULL, NULL, NULL},
- {"newmail_notify_cmd", "", &prefs_common.newmail_notify_cmd, P_STRING,
+ {"newmail_notify_cmd", "", &SPECIFIC_PREFS.newmail_notify_cmd, P_STRING,
NULL, NULL, NULL},
{"receive_dialog_mode", "1", &prefs_common.recv_dialog_mode, P_ENUM,
NULL, NULL, NULL},
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,
NULL, NULL, NULL},
#endif
{"reply_with_quote", "TRUE", &prefs_common.reply_with_quote, P_BOOL,
NULL, NULL, NULL},
+ {"compose_dnd_insert_or_attach", "TRUE", &prefs_common.compose_dnd_mode, P_ENUM,
+ NULL, NULL, NULL},
/* Account autoselection */
{"reply_account_autoselect", "TRUE",
/* new fonts */
{"widget_font_gtk2", NULL,
- &prefs_common.widgetfont, P_STRING, NULL, NULL, NULL},
+ &SPECIFIC_PREFS.widgetfont, P_STRING, NULL, NULL, NULL},
{"message_font_gtk2", "Monospace 9",
- &prefs_common.textfont, P_STRING, NULL, NULL, NULL},
+ &SPECIFIC_PREFS.textfont, P_STRING, NULL, NULL, NULL},
+ {"print_font_gtk2", "Monospace 9",
+ &SPECIFIC_PREFS.printfont, P_STRING, NULL, NULL, NULL},
{"small_font_gtk2", "Sans 9",
- &prefs_common.smallfont, P_STRING, NULL, NULL, NULL},
+ &SPECIFIC_PREFS.smallfont, P_STRING, NULL, NULL, NULL},
{"normal_font_gtk2", "Sans 9",
- &prefs_common.normalfont, P_STRING, NULL, NULL, NULL},
+ &SPECIFIC_PREFS.normalfont, P_STRING, NULL, NULL, NULL},
+
+ /* custom colors */
+ {"custom_color1", "#ff9900", &prefs_common.custom_colorlabel[0].color, P_COLOR,
+ NULL, NULL, NULL},
+ {"custom_colorlabel1", N_("Orange"), &prefs_common.custom_colorlabel[0].label, P_STRING,
+ NULL, NULL, NULL},
+ {"custom_color2", "#ff0000", &prefs_common.custom_colorlabel[1].color, P_COLOR,
+ NULL, NULL, NULL},
+ {"custom_colorlabel2", N_("Red"), &prefs_common.custom_colorlabel[1].label, P_STRING,
+ NULL, NULL, NULL},
+ {"custom_color3", "#ff66ff", &prefs_common.custom_colorlabel[2].color, P_COLOR,
+ NULL, NULL, NULL},
+ {"custom_colorlabel3", N_("Pink"), &prefs_common.custom_colorlabel[2].label, P_STRING,
+ NULL, NULL, NULL},
+ {"custom_color4", "#00ccff", &prefs_common.custom_colorlabel[3].color, P_COLOR,
+ NULL, NULL, NULL},
+ {"custom_colorlabel4", N_("Sky blue"), &prefs_common.custom_colorlabel[3].label, P_STRING,
+ NULL, NULL, NULL},
+ {"custom_color5", "#0000ff", &prefs_common.custom_colorlabel[4].color, P_COLOR,
+ NULL, NULL, NULL},
+ {"custom_colorlabel5", N_("Blue"), &prefs_common.custom_colorlabel[4].label, P_STRING,
+ NULL, NULL, NULL},
+ {"custom_color6", "#009900", &prefs_common.custom_colorlabel[5].color, P_COLOR,
+ NULL, NULL, NULL},
+ {"custom_colorlabel6", N_("Green"), &prefs_common.custom_colorlabel[5].label, P_STRING,
+ NULL, NULL, NULL},
+ {"custom_color7", "#663366", &prefs_common.custom_colorlabel[6].color, P_COLOR,
+ NULL, NULL, NULL},
+ {"custom_colorlabel7", N_("Brown"), &prefs_common.custom_colorlabel[6].label, P_STRING,
+ NULL, NULL, NULL},
/* image viewer */
{"display_image", "TRUE", &prefs_common.display_img, P_BOOL,
&prefs_common.ng_abbrev_len, P_INT,
NULL, NULL, NULL},
- {"translate_header", "TRUE", &prefs_common.trans_hdr, P_BOOL,
+ {"translate_header", "FALSE", &prefs_common.trans_hdr, P_BOOL,
NULL, NULL, NULL},
/* Display: Summary View */
NULL, NULL, NULL},
{"quote_level3_color", "179", &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,
+ NULL, NULL, NULL},
+ {"quote_level2_bgcolor", "13948116", &prefs_common.quote_level2_bgcol, P_COLOR,
+ NULL, NULL, NULL},
+ {"quote_level3_bgcolor", "14540253", &prefs_common.quote_level3_bgcol, P_COLOR,
+ NULL, NULL, NULL},
{"uri_color", "32512", &prefs_common.uri_col, P_COLOR,
NULL, NULL, NULL},
{"target_folder_color", "14294218", &prefs_common.tgt_folder_col, P_COLOR,
P_BOOL, NULL, NULL, NULL},
{"render_html", "TRUE", &prefs_common.render_html, P_BOOL,
NULL, NULL, NULL},
+ {"invoke_plugin_on_html", "FALSE", &prefs_common.invoke_plugin_on_html, 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,
+ NULL, NULL, NULL},
{"enable_smooth_scroll", "FALSE",
&prefs_common.enable_smooth_scroll, P_BOOL,
{"show_other_header", "FALSE", &prefs_common.show_other_header, P_BOOL,
NULL, NULL, NULL},
+ {"use_different_print_font", "FALSE", &prefs_common.use_different_print_font, P_BOOL,
+ NULL, NULL, NULL},
+
{"attach_desc", "TRUE", &prefs_common.attach_desc, P_BOOL,
NULL, NULL, NULL},
{"attach_save_directory", NULL,
- &prefs_common.attach_save_dir, P_STRING, NULL, NULL, NULL},
+ &SPECIFIC_PREFS.attach_save_dir, P_STRING, NULL, NULL, NULL},
{"attach_load_directory", NULL,
- &prefs_common.attach_load_dir, P_STRING, NULL, NULL, NULL},
+ &SPECIFIC_PREFS.attach_load_dir, P_STRING, NULL, NULL, NULL},
/* MIME viewer */
{"mime_image_viewer", DEFAULT_IMAGE_VIEWER_CMD,
- &prefs_common.mime_image_viewer, P_STRING, NULL, NULL, NULL},
+ &SPECIFIC_PREFS.mime_image_viewer, P_STRING, NULL, NULL, NULL},
{"mime_audio_player", DEFAULT_AUDIO_PLAYER_CMD,
- &prefs_common.mime_audio_player, P_STRING, NULL, NULL, NULL},
+ &SPECIFIC_PREFS.mime_audio_player, P_STRING, NULL, NULL, NULL},
{"mime_open_command", "gedit '%s'",
- &prefs_common.mime_open_cmd, P_STRING, NULL, NULL, NULL},
+ &SPECIFIC_PREFS.mime_open_cmd, P_STRING, NULL, NULL, NULL},
/* Interface */
{"separate_folder", "FALSE", &prefs_common.sep_folder, P_BOOL,
NULL, NULL, NULL},
{"pixmap_theme_path", DEFAULT_PIXMAP_THEME,
- &prefs_common.pixmap_theme_path, P_STRING,
+ &SPECIFIC_PREFS.pixmap_theme_path, P_STRING,
NULL, NULL, NULL},
{"ask_mark_all_read", "TRUE", &prefs_common.ask_mark_all_read, P_BOOL,
/* Other */
{"uri_open_command", DEFAULT_BROWSER_CMD,
- &prefs_common.uri_cmd, P_STRING, NULL, NULL, NULL},
- {"print_command", "lpr %s", &prefs_common.print_cmd, P_STRING,
- NULL, NULL, NULL},
- {"ext_editor_command", "gedit %s",
- &prefs_common.ext_editor_cmd, P_STRING, NULL, NULL, NULL},
+ &SPECIFIC_PREFS.uri_cmd, P_STRING, NULL, NULL, NULL},
+ {"print_command", "lpr %s",
+ &SPECIFIC_PREFS.print_cmd, P_STRING, NULL, NULL, NULL},
+ {"ext_editor_command", DEFAULT_EDITOR_CMD,
+ &SPECIFIC_PREFS.ext_editor_cmd, P_STRING, NULL, NULL, NULL},
{"add_address_by_click", "FALSE", &prefs_common.add_address_by_click,
P_BOOL, NULL, NULL, NULL},
NULL, NULL, NULL},
{"log_length", "500", &prefs_common.loglength, P_INT,
NULL, NULL, NULL},
+ {"log_msg_color", "#00af00", &prefs_common.log_msg_color, P_COLOR,
+ NULL, NULL, NULL},
+ {"log_warn_color", "#af0000", &prefs_common.log_warn_color, P_COLOR,
+ NULL, NULL, NULL},
+ {"log_error_color", "#af0000", &prefs_common.log_error_color, P_COLOR,
+ NULL, NULL, NULL},
+ {"log_in_color", "#000000", &prefs_common.log_in_color, P_COLOR,
+ NULL, NULL, NULL},
+ {"log_out_color", "#0000ef", &prefs_common.log_out_color, P_COLOR,
+ NULL, NULL, NULL},
{"color_new", "179", &prefs_common.color_new, P_COLOR,
NULL, NULL, NULL},
{"logwin_height", "-1", &prefs_common.logwin_height, P_INT,
NULL, NULL, NULL},
+ {"folderselwin_width", "300", &prefs_common.folderselwin_width, P_INT,
+ NULL, NULL, NULL},
+ {"folderselwin_height", "-1", &prefs_common.folderselwin_height, P_INT,
+ NULL, NULL, NULL},
+
+ {"addressaddwin_width", "300", &prefs_common.addressaddwin_width, P_INT,
+ NULL, NULL, NULL},
+ {"addressaddwin_height", "-1", &prefs_common.addressaddwin_height, P_INT,
+ NULL, NULL, NULL},
+
/* Hidden */
{"warn_dnd", "1", &prefs_common.warn_dnd, P_INT,
NULL, NULL, NULL},
NULL, NULL, NULL},
{"statusbar_update_step", "10", &prefs_common.statusbar_update_step, P_INT,
NULL, NULL, NULL},
+ {"compose_no_markup", "FALSE", &prefs_common.compose_no_markup, P_BOOL,
+ NULL, NULL, NULL},
+ {"skip_ssl_cert_check", "FALSE", &prefs_common.skip_ssl_cert_check, P_BOOL,
+ NULL, NULL, NULL},
+ {"live_dangerously", "FALSE", &prefs_common.live_dangerously, P_BOOL,
+ NULL, NULL, NULL},
{NULL, NULL, NULL, P_OTHER, NULL, NULL, NULL}
};
void prefs_common_read_config(void)
{
gchar *rcpath;
+ gchar *tmp;
rcpath = g_strconcat(get_rc_dir(), G_DIR_SEPARATOR_S, COMMON_RC, NULL);
prefs_read_config(param, "Common", rcpath, NULL);
+#ifdef G_OS_WIN32
+ prefs_read_config(param_os_specific, "CommonWin32", rcpath, NULL);
+#endif
+
g_free(rcpath);
- prefs_common.quotefmt = gettext(prefs_common.quotefmt);
- prefs_common.fw_quotefmt = gettext(prefs_common.fw_quotefmt);
- prefs_common.date_format = gettext(prefs_common.date_format);
+ tmp = g_strdup(gettext(prefs_common.quotefmt));
+ g_free(prefs_common.quotefmt);
+ prefs_common.quotefmt = tmp;
+
+ tmp = g_strdup(gettext(prefs_common.fw_quotefmt));
+ g_free(prefs_common.fw_quotefmt);
+ prefs_common.fw_quotefmt = tmp;
+
+ tmp = g_strdup(gettext(prefs_common.date_format));
+ g_free(prefs_common.date_format);
+ prefs_common.date_format = tmp;
prefs_common.mime_open_cmd_history =
prefs_common_read_history(COMMAND_HISTORY);
prefs_common.summary_quicksearch_history =
prefs_common_read_history(QUICKSEARCH_HISTORY);
+
+ colorlabel_update_colortable_from_prefs();
}
/*
void prefs_common_write_config(void)
{
prefs_write_config(param, "Common", COMMON_RC);
+#ifdef G_OS_WIN32
+ prefs_write_config(param_os_specific, "CommonWin32", COMMON_RC);
+#endif
prefs_common_save_history(COMMAND_HISTORY,
prefs_common.mime_open_cmd_history);