2007-08-18 [colin] 2.10.0cvs130
[claws.git] / src / prefs_common.h
index fb61117c9e55dfe8f1df37a686238ca83727cbd4..363ee7eb6364a0e310b933eae0222a021deac4dc 100644 (file)
@@ -1,10 +1,10 @@
 /*
  * Sylpheed -- a GTK+ based, lightweight, and fast e-mail client
- * Copyright (C) 1999-2006 Hiroyuki Yamamoto and the Sylpheed-Claws team
+ * Copyright (C) 1999-2007 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
- * the Free Software Foundation; either version 2 of the License, or
+ * the Free Software Foundation; either version 3 of the License, or
  * (at your option) any later version.
  *
  * This program is distributed in the hope that it will be useful,
@@ -13,8 +13,8 @@
  * GNU General Public License for more details.
  *
  * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ * 
  */
 
 #ifndef __PREFS_COMMON_H__
@@ -55,12 +55,6 @@ typedef enum {
        CTE_8BIT
 } TransferEncodingMethod;
 
-typedef enum {
-       SEND_DIALOG_ALWAYS,
-       /* SEND_DIALOG_ACTIVE would be irrelevant */
-       SEND_DIALOG_NEVER
-} SendDialogMode;
-
 typedef enum
 {
 /* U = unread, N = new, M = marked */
@@ -70,9 +64,21 @@ typedef enum
        SELECTONENTRY_NUM,
        SELECTONENTRY_NMU,
        SELECTONENTRY_MNU,
-       SELECTONENTRY_MUN
+       SELECTONENTRY_MUN,
+       SELECTONENTRY_LAST
 } SelectOnEntry;
 
+typedef enum
+{
+       ACTION_UNSET = 0, /* for backward compatibility */
+       ACTION_MARKED,
+       ACTION_NEW,
+       ACTION_UNREAD,
+       ACTION_LAST_OPENED,
+       ACTION_LAST_LIST,
+       ACTION_NOTHING
+} EntryAction;
+
 typedef enum
 {
        NEXTUNREADMSGDIALOG_ALWAYS,
@@ -82,6 +88,9 @@ typedef enum
 
 struct _PrefsCommon
 {
+#ifdef MAEMO
+       gchar *data_root;
+#endif
        /* Receive */
        gboolean use_extinc;
        gchar *extinc_cmd;
@@ -93,14 +102,22 @@ struct _PrefsCommon
        gboolean newmail_notify_auto;
        gboolean newmail_notify_manu;
        gchar   *newmail_notify_cmd;
+#ifdef MAEMO
+       gboolean maemo_play_sound;
+       gboolean maemo_show_banner;
+#endif
        RecvDialogMode recv_dialog_mode;
+       gint receivewin_width;
+       gint receivewin_height;
        gboolean close_recv_dialog;
        gboolean no_recv_err_panel;
 
        /* Send */
        gboolean savemsg;
        gboolean confirm_send_queued_messages;
-       SendDialogMode send_dialog_mode;
+       gboolean send_dialog_invisible;
+       gint sendwin_width;
+       gint sendwin_height;
        gchar *outgoing_charset;
        TransferEncodingMethod encoding_method;
 
@@ -122,6 +139,9 @@ struct _PrefsCommon
        gint autosave_length;
        gboolean compose_no_markup;
        ComposeDndInsertOrAttach compose_dnd_mode;
+       gboolean compose_with_format;
+       gchar *compose_subject_format;
+       gchar *compose_body_format;
 
        /* Quote */
        gboolean reply_with_quote;
@@ -138,11 +158,13 @@ struct _PrefsCommon
        gboolean enable_aspell;
        gchar *aspell_path;
        gchar *dictionary;
+       gchar *alt_dictionary;
        gulong misspelled_col;
        gint aspell_sugmode;
        gboolean check_while_typing;
        gboolean recheck_when_changing_dict;
        gboolean use_alternate;
+       gboolean use_both_dicts;
 #endif
         
        /* Display */
@@ -170,7 +192,7 @@ struct _PrefsCommon
        gboolean inline_img;
 
        gboolean trans_hdr;
-       gboolean display_folder_unread;
+       gint display_folder_unread;
        gint ng_abbrev_len;
 
        gboolean show_searchbar;
@@ -179,7 +201,10 @@ struct _PrefsCommon
        gboolean use_addr_book;
        gchar *date_format;
 
-       gboolean enable_rules_hint;
+       gboolean use_stripes_everywhere;
+       gboolean use_stripes_in_summaries; /* overrides if use_stripes_everywhere is set to TRUE */
+       gint stripes_color_offset;
+       gboolean enable_dotted_lines;
        gboolean enable_hscrollbar;
        gboolean bold_unread;
        gboolean enable_thread;
@@ -187,9 +212,13 @@ struct _PrefsCommon
        gint thread_by_subject_max_age; /*!< Max. age of a thread which was threaded
                                         *   by subject (days) */
 
+       gchar *last_opened_folder;
+       gboolean goto_last_folder_on_startup;
+
        ToolbarStyle toolbar_style;
        gboolean toolbar_detachable;
        gboolean show_statusbar;
+       gboolean show_col_headers;
 
        gint folderview_vscrollbar_policy;
 
@@ -259,6 +288,7 @@ struct _PrefsCommon
        gulong uri_col;
        gulong tgt_folder_col;
        gulong signature_col;
+       gulong emphasis_col;
        gboolean recycle_quote_colors;
        gboolean display_header_pane;
        gboolean display_header;
@@ -270,6 +300,7 @@ struct _PrefsCommon
        gboolean enable_smooth_scroll;
        gint scroll_step;
        gboolean scroll_halfpage;
+       gboolean respect_flowed_format;
 
        gboolean show_other_header;
        gboolean use_different_print_font;
@@ -295,9 +326,14 @@ struct _PrefsCommon
        gboolean gpg_warning;
 #endif /* USE_GPGME */
 
+       /* Addressbook */
+       gboolean addressbook_use_editaddress_dialog;
+       gint addressbook_hpaned_pos;
+       gint addressbook_vpaned_pos;
+
        /* Interface */
-       gboolean sep_folder;
-       gboolean sep_msg;
+       gboolean layout_mode;
+
        gint statusbar_update_step;
        gboolean emulate_emacs;
        gboolean always_show_msg;
@@ -305,6 +341,9 @@ struct _PrefsCommon
        gboolean mark_as_read_delay;
        gboolean immediate_exec;
        SelectOnEntry select_on_entry;
+
+       EntryAction summary_select_prio[6];
+
        NextUnreadMsgDialogShow next_unread_msg_dialog;
        gboolean add_address_by_click;
        gchar *pixmap_theme_path;
@@ -318,13 +357,31 @@ struct _PrefsCommon
        gchar *print_cmd;
        gchar *ext_editor_cmd;
 
-    gboolean cliplog;
-    guint loglength;
+       gboolean cliplog;
+       guint loglength;
+       gboolean enable_log_standard;
+       gboolean enable_log_warning;
+       gboolean enable_log_error;
+       gboolean enable_log_status;
+
        gulong log_msg_color;
        gulong log_warn_color;
        gulong log_error_color;
        gulong log_in_color;
        gulong log_out_color;
+       gulong log_status_ok_color;
+       gulong log_status_nok_color;
+       gulong log_status_skip_color;
+
+       gboolean enable_filtering_debug;
+       gint filtering_debug_level;
+       gboolean enable_filtering_debug_inc;
+       gboolean enable_filtering_debug_manual;
+       gboolean enable_filtering_debug_folder_proc;
+       gboolean enable_filtering_debug_pre_proc;
+       gboolean enable_filtering_debug_post_proc;
+    gboolean filtering_debug_cliplog;
+    guint filtering_debug_loglength;
 
     gboolean confirm_on_exit;
        gboolean clean_on_exit;
@@ -332,6 +389,8 @@ struct _PrefsCommon
        gboolean warn_queued_on_exit;
 
        gint io_timeout_secs;
+
+       gboolean gtk_can_change_accels;
        
        /* Memory cache*/
        gint cache_max_mem_usage;
@@ -344,9 +403,17 @@ struct _PrefsCommon
        gint summary_quicksearch_type;
        gint summary_quicksearch_sticky;
        gint summary_quicksearch_recurse;
+       gint summary_quicksearch_dynamic;
+       gint summary_quicksearch_autorun;
        gulong color_new;
        
        GList *summary_quicksearch_history;
+       GList *summary_search_from_history;
+       GList *summary_search_to_history;
+       GList *summary_search_subject_history;
+       GList *summary_search_body_history;
+       GList *summary_search_adv_condition_history;
+       GList *message_search_history;
 
        gint filteringwin_width;
        gint filteringwin_height;
@@ -358,22 +425,29 @@ struct _PrefsCommon
        gint templateswin_height;
        gint actionswin_width;
        gint actionswin_height;
+       gint tagswin_width;
+       gint tagswin_height;
        gint addressbookwin_width;
        gint addressbookwin_height;
        gint addressbookeditpersonwin_width;
        gint addressbookeditpersonwin_height;
+       gint addressbookeditgroupwin_width;
+       gint addressbookeditgroupwin_height;
        gint pluginswin_width;
        gint pluginswin_height;
        gint prefswin_width;
        gint prefswin_height;
        gint folderitemwin_width;
        gint folderitemwin_height;
+       gchar *zero_replacement;
        gint editaccountwin_width;
        gint editaccountwin_height;
        gint accountswin_width;
        gint accountswin_height;
        gint logwin_width;
        gint logwin_height;
+       gint filtering_debugwin_width;
+       gint filtering_debugwin_height;
        gint folderselwin_width;
        gint folderselwin_height;
        gint addressaddwin_width;
@@ -387,6 +461,8 @@ struct _PrefsCommon
        gint live_dangerously;
        gint never_send_retrcpt;
        gint hide_quotes;
+       gboolean unsafe_ssl_certs;
+       gboolean real_time_sync;
 };
 
 extern PrefsCommon prefs_common;
@@ -395,7 +471,12 @@ void prefs_common_read_config      (void);
 void prefs_common_write_config (void);
 void prefs_common_open         (void);
 PrefsCommon *prefs_common_get  (void);
-void pref_set_textview_from_pref(GtkTextView *textview, gchar *txt);
+void pref_get_unescaped_pref(gchar *out, const gchar *in);
+void pref_get_escaped_pref(gchar *out, const gchar *in);
+void pref_set_textview_from_pref(GtkTextView *textview, const gchar *txt);
+void pref_set_entry_from_pref(GtkEntry *entry, const gchar *txt);
 gchar *pref_get_pref_from_textview(GtkTextView *textview);
+gchar *pref_get_pref_from_entry(GtkEntry *entry);
+const gchar *prefs_common_translated_header_name(const gchar *header_name);
 
 #endif /* __PREFS_COMMON_H__ */