2005-10-06 [colin] 1.9.15cvs16
[claws.git] / src / prefs_common.h
index 74142ea253a056e42ab1ff9e2f84b4391f967e9d..80104aaa15f902c7e535dd946556782ac0be03b6 100644 (file)
@@ -1,6 +1,6 @@
 /*
  * Sylpheed -- a GTK+ based, lightweight, and fast e-mail client
- * Copyright (C) 1999-2002 Hiroyuki Yamamoto
+ * Copyright (C) 1999-2005 Hiroyuki Yamamoto
  *
  * 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
@@ -14,7 +14,7 @@
  *
  * 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
  */
 
 #ifndef __PREFS_COMMON_H__
 
 #include "mainwindow.h"
 #include "summaryview.h"
+#include "folderview.h"
 #include "codeconv.h"
 #include "textview.h"
+#include "procmime.h"
 
 typedef struct _PrefsCommon    PrefsCommon;
 
 typedef enum {
        RECV_DIALOG_ALWAYS,
-       RECV_DIALOG_ACTIVE,
+       RECV_DIALOG_MANUAL,
        RECV_DIALOG_NEVER
 } RecvDialogMode;
 
+typedef enum {
+       CTE_AUTO,
+       CTE_BASE64,
+       CTE_QUOTED_PRINTABLE,
+       CTE_8BIT
+} TransferEncodingMethod;
+
 typedef enum {
        SEND_DIALOG_ALWAYS,
        /* SEND_DIALOG_ACTIVE would be irrelevant */
        SEND_DIALOG_NEVER
 } SendDialogMode;
 
+typedef enum
+{
+       SELECTONENTRY_UNREAD = 1 << 0,
+       SELECTONENTRY_NEW    = 1 << 1
+} SelectOnEntry;
+
 typedef enum
 {
        NEXTUNREADMSGDIALOG_ALWAYS,
@@ -57,9 +72,6 @@ struct _PrefsCommon
        /* Receive */
        gboolean use_extinc;
        gchar *extinc_cmd;
-       gboolean inc_local;
-       gboolean filter_on_inc;
-       gchar *spool_path;
        gboolean scan_all_after_inc;
        gboolean autochk_newmail;
        gint autochk_itv;
@@ -67,21 +79,24 @@ struct _PrefsCommon
        gboolean newmail_notify_auto;
        gboolean newmail_notify_manu;
        gchar   *newmail_notify_cmd;
-       gint max_articles;
+       RecvDialogMode recv_dialog_mode;
+       gboolean close_recv_dialog;
+       gboolean no_recv_err_panel;
 
        /* Send */
-       gboolean use_extsend;
-       gchar *extsend_cmd;
        gboolean savemsg;
-       gboolean queue_msg;
+       gboolean confirm_send_queued_messages;
+       SendDialogMode send_dialog_mode;
        gchar *outgoing_charset;
+       TransferEncodingMethod encoding_method;
+
+       gboolean allow_jisx0201_kana;
 
        /* Compose */
-       gboolean auto_sig;
-       gchar *sig_sep;
        gint undolevels;
        gint linewrap_len;
        gboolean linewrap_quote;
+       gboolean linewrap_pastes;
        gboolean autowrap;
        gboolean linewrap_at_send;
        gboolean auto_exteditor;
@@ -101,7 +116,6 @@ struct _PrefsCommon
        gchar *fw_quotefmt;
        gboolean forward_as_attachment;
        gboolean redirect_keep_from;
-       gboolean smart_wrapping;
        gboolean block_cursor;
        gchar *quote_chars;
        
@@ -109,34 +123,52 @@ struct _PrefsCommon
        gboolean enable_aspell;
        gchar *aspell_path;
        gchar *dictionary;
-       gint misspelled_col;
+       gulong misspelled_col;
        gint aspell_sugmode;
        gboolean check_while_typing;
        gboolean use_alternate;
 #endif
         
        /* Display */
+       /* obsolete fonts */
+       gchar *widgetfont_gtk1;
+       gchar *textfont_gtk1;
+       gchar *normalfont_gtk1;
+       gchar *boldfont_gtk1;
+       gchar *smallfont_gtk1;
+
+       /* new fonts */
        gchar *widgetfont;
        gchar *textfont;
        gchar *normalfont;
-       gchar *boldfont;
        gchar *smallfont;
+       gchar *titlefont;
+
+       /* image viewer */
+       gboolean display_img;
+       gboolean resize_img;
+       gboolean inline_img;
 
        gboolean trans_hdr;
        gboolean display_folder_unread;
        gint ng_abbrev_len;
 
        gboolean show_searchbar;
-       gboolean swap_from;
        gboolean expand_thread;
+       gboolean swap_from;
        gboolean use_addr_book;
        gchar *date_format;
 
+       gboolean enable_rules_hint;
        gboolean enable_hscrollbar;
        gboolean bold_unread;
        gboolean enable_thread;
+       gboolean thread_by_subject;
+       gint thread_by_subject_max_age; /*!< Max. age of a thread which was threaded
+                                        *   by subject (days) */
 
        ToolbarStyle toolbar_style;
+       gboolean toolbar_detachable;
        gboolean show_statusbar;
 
        gint folderview_vscrollbar_policy;
@@ -155,19 +187,26 @@ struct _PrefsCommon
        gint summary_col_pos[N_SUMMARY_COLS];
        gint summary_col_size[N_SUMMARY_COLS];
 
-       /* Widget size */
-       gint folderview_x;
-       gint folderview_y;
+       gboolean folder_col_visible[N_FOLDER_COLS];
+       gint folder_col_pos[N_FOLDER_COLS];
+       gint folder_col_size[N_FOLDER_COLS];
+
+       /* Widget visibility, position and size */
+       gint folderwin_x;
+       gint folderwin_y;
        gint folderview_width;
        gint folderview_height;
-       gint folder_col_folder;
-       gint folder_col_new;
-       gint folder_col_unread;
-       gint folder_col_total;
+       gboolean folderview_visible;
 
        gint summaryview_width;
        gint summaryview_height;
 
+       gint main_msgwin_x;
+       gint main_msgwin_y;
+       gint msgview_width;
+       gint msgview_height;
+       gboolean msgview_visible;
+
        gint mainview_x;
        gint mainview_y;
        gint mainview_width;
@@ -180,39 +219,43 @@ struct _PrefsCommon
        gint msgwin_width;
        gint msgwin_height;
 
+       gint sourcewin_width;
+       gint sourcewin_height;
+
        gint compose_width;
        gint compose_height;
+       gint compose_x;
+       gint compose_y;
 
        /* Message */
        gboolean enable_color;
-       gint quote_level1_col;
-       gint quote_level2_col;
-       gint quote_level3_col;
-       gint uri_col;
-       gint tgt_folder_col;
-       gint signature_col;
+       gulong quote_level1_col;
+       gulong quote_level2_col;
+       gulong quote_level3_col;
+       gulong uri_col;
+       gulong tgt_folder_col;
+       gulong signature_col;
        gboolean recycle_quote_colors;
        gboolean conv_mb_alnum;
        gboolean display_header_pane;
        gboolean display_header;
-       gboolean head_space;
        gint line_space;
+       gboolean render_html;
+       gboolean textview_cursor_visible;
        gboolean enable_smooth_scroll;
        gint scroll_step;
        gboolean scroll_halfpage;
 
-       gboolean display_img;
-       gboolean resize_image;
-
-       gchar *force_charset;
-
        gboolean show_other_header;
        GSList *disphdr_list;
 
+       gboolean attach_desc;
+
        /* MIME viewer */
        gchar *mime_image_viewer;
        gchar *mime_audio_player;
        gchar *mime_open_cmd;
+       gchar *attach_save_dir;
 
        GList *mime_open_cmd_history;
 
@@ -229,19 +272,19 @@ struct _PrefsCommon
        /* Interface */
        gboolean sep_folder;
        gboolean sep_msg;
+       gint statusbar_update_step;
        gboolean emulate_emacs;
-       gboolean show_msg_with_cursor_key;
-       gboolean open_unread_on_enter;
+       gboolean always_show_msg;
        gboolean mark_as_read_on_new_window;
+       gboolean mark_as_read_delay;
        gboolean open_inbox_on_inc;
        gboolean immediate_exec;
-       RecvDialogMode recv_dialog_mode;
-       SendDialogMode send_dialog_mode;
-       gboolean close_recv_dialog;
-       gboolean no_recv_err_panel;
+       SelectOnEntry select_on_entry;
        NextUnreadMsgDialogShow next_unread_msg_dialog;
        gboolean add_address_by_click;
        gchar *pixmap_theme_path;
+       int hover_timeout; /* msecs mouse hover timeout */
+       gboolean ask_mark_all_read;
 
        /* Other */
        gchar *uri_cmd;
@@ -255,9 +298,15 @@ struct _PrefsCommon
        gboolean clean_on_exit;
        gboolean ask_on_clean;
        gboolean warn_queued_on_exit;
-#ifdef USE_SSL
+
+       gint io_timeout_secs;
+       
+#if 0
+#ifdef USE_OPENSSL
        gboolean ssl_ask_unknown_valid;
 #endif
+#endif
+
        /* Memory cache*/
        gint cache_max_mem_usage;
        gint cache_min_keep_time;
@@ -265,14 +314,27 @@ struct _PrefsCommon
        /* boolean for work offline 
           stored here for use in inc.c */
        gboolean work_offline;
-
+       
+       gint summary_quicksearch_type;
+       gint summary_quicksearch_sticky;
+       gint summary_quicksearch_recurse;
+       gulong color_new;
+       
+       GList *summary_quicksearch_history;
+       
+       gint filteringwin_width;
+       gint filteringwin_height;
+       gint warn_dnd;
+       gint broken_are_utf8;
 };
 
 extern PrefsCommon prefs_common;
 
-void prefs_common_init         ();
 void prefs_common_read_config  (void);
-void prefs_common_save_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);
+gchar *pref_get_pref_from_textview(GtkTextView *textview);
 
 #endif /* __PREFS_COMMON_H__ */