add common prefs option '/Interface/Open next message on deletion'
[claws.git] / src / prefs_common.h
index 03ab4ed8e035dc2941c606af68240c9dc24f9aea..57e7a697e9b9e97ea44ccdc0e90ae3332ced3bda 100644 (file)
@@ -1,6 +1,6 @@
 /*
  * Sylpheed -- a GTK+ based, lightweight, and fast e-mail client
- * Copyright (C) 1999-2001 Hiroyuki Yamamoto
+ * Copyright (C) 1999-2003 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
@@ -27,6 +27,7 @@
 #include <glib.h>
 
 #include "mainwindow.h"
+#include "summaryview.h"
 #include "codeconv.h"
 #include "textview.h"
 
@@ -38,6 +39,19 @@ typedef enum {
        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
 {
        NEXTUNREADMSGDIALOG_ALWAYS,
@@ -57,8 +71,9 @@ struct _PrefsCommon
        gboolean autochk_newmail;
        gint autochk_itv;
        gboolean chk_on_startup;
-       gboolean noerrorpanel;
-       gint max_articles;
+       gboolean newmail_notify_auto;
+       gboolean newmail_notify_manu;
+       gchar   *newmail_notify_cmd;
 
        /* Send */
        gboolean use_extsend;
@@ -66,29 +81,43 @@ struct _PrefsCommon
        gboolean savemsg;
        gboolean queue_msg;
        gchar *outgoing_charset;
+       TransferEncodingMethod encoding_method;
 
        /* Compose */
-       gboolean reply_with_quote;
-       gchar *quotemark;
-       gchar *quotefmt;
-       gboolean auto_sig;
-       gchar *sig_sep;
+       gint undolevels;
        gint linewrap_len;
        gboolean linewrap_quote;
+       gboolean autowrap;
        gboolean linewrap_at_send;
        gboolean auto_exteditor;
        gboolean reply_account_autosel;
+       gboolean default_reply_list;
        gboolean forward_account_autosel;
        gboolean reedit_account_autosel;
        gboolean show_ruler;
+       gboolean autosave;
+       gint autosave_length;
+       
+       /* Quote */
+       gboolean reply_with_quote;
+       gchar *quotemark;
+       gchar *quotefmt;
        gchar *fw_quotemark;
        gchar *fw_quotefmt;
        gboolean forward_as_attachment;
+       gboolean redirect_keep_from;
        gboolean smart_wrapping;
-#if USE_PSPELL
-       gboolean enable_pspell;
-       gchar *pspell_path;
+       gboolean block_cursor;
+       gchar *quote_chars;
+       
+#if USE_ASPELL
+       gboolean enable_aspell;
+       gchar *aspell_path;
        gchar *dictionary;
+       gint misspelled_col;
+       gint aspell_sugmode;
+       gboolean check_while_typing;
+       gboolean use_alternate;
 #endif
         
        /* Display */
@@ -97,33 +126,40 @@ struct _PrefsCommon
        gchar *normalfont;
        gchar *boldfont;
        gchar *smallfont;
-       gboolean display_folder_unread;
-       ToolbarStyle toolbar_style;
-       gboolean show_statusbar;
+
        gboolean trans_hdr;
-       gboolean enable_thread;
-       gboolean enable_hscrollbar;
-       gboolean expand_thread;
-       gboolean bold_unread;
+       gboolean display_folder_unread;
+       gint ng_abbrev_len;
+
+       gboolean show_searchbar;
        gboolean swap_from;
+       gboolean expand_thread;
        gboolean use_addr_book;
        gchar *date_format;
 
+       gboolean enable_hscrollbar;
+       gboolean bold_unread;
+       gboolean enable_thread;
+       gboolean thread_by_subject;
+
+       ToolbarStyle toolbar_style;
+       gboolean show_statusbar;
+
+       gint folderview_vscrollbar_policy;
+
        /* Filtering */
        GSList *fltlist;
 
        gint kill_score;
        gint important_score;
 
-       gboolean show_mark;
-       gboolean show_unread;
-       gboolean show_mime;
-       gboolean show_number;
-       gboolean show_score;
-       gboolean show_size;
-       gboolean show_date;
-       gboolean show_from;
-       gboolean show_subject;
+       /* Actions */
+       GSList *actions_list;
+
+       /* Summary columns visibility, position and size */
+       gboolean summary_col_visible[N_SUMMARY_COLS];
+       gint summary_col_pos[N_SUMMARY_COLS];
+       gint summary_col_size[N_SUMMARY_COLS];
 
        /* Widget size */
        gint folderview_x;
@@ -137,15 +173,6 @@ struct _PrefsCommon
 
        gint summaryview_width;
        gint summaryview_height;
-       gint summary_col_mark;
-       gint summary_col_unread;
-       gint summary_col_mime;
-       gint summary_col_number;
-       gint summary_col_size;
-       gint summary_col_date;
-       gint summary_col_from;
-       gint summary_col_subject;
-       gint summary_col_score;
 
        gint mainview_x;
        gint mainview_y;
@@ -159,6 +186,9 @@ struct _PrefsCommon
        gint msgwin_width;
        gint msgwin_height;
 
+       gint sourcewin_width;
+       gint sourcewin_height;
+
        gint compose_width;
        gint compose_height;
 
@@ -169,7 +199,7 @@ struct _PrefsCommon
        gint quote_level3_col;
        gint uri_col;
        gint tgt_folder_col;
-       gushort sig_col;
+       gint signature_col;
        gboolean recycle_quote_colors;
        gboolean conv_mb_alnum;
        gboolean display_header_pane;
@@ -185,48 +215,79 @@ struct _PrefsCommon
        gboolean show_other_header;
        GSList *disphdr_list;
 
+       gboolean attach_desc;
+
        /* MIME viewer */
        gchar *mime_image_viewer;
        gchar *mime_audio_player;
+       gchar *mime_open_cmd;
 
+       GList *mime_open_cmd_history;
+
+#if USE_GPGME
        /* Privacy */
-       gboolean default_encrypt;
-       gboolean default_sign;
        gboolean auto_check_signatures;
        gboolean gpg_signature_popup;
+       gboolean store_passphrase;
+       gint store_passphrase_timeout;
        gboolean passphrase_grab;
-       gchar *default_signkey;
        gboolean gpg_warning;
+#endif /* USE_GPGME */
 
        /* Interface */
        gboolean sep_folder;
        gboolean sep_msg;
        gboolean emulate_emacs;
+       gboolean show_msg_with_cursor_key;
        gboolean open_unread_on_enter;
+       gboolean mark_as_read_on_new_window;
+       gboolean open_on_delete;
        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;
        NextUnreadMsgDialogShow next_unread_msg_dialog;
        gboolean add_address_by_click;
-
-       gboolean confirm_on_exit;
-       gboolean clean_on_exit;
-       gboolean ask_on_clean;
-       gboolean warn_queued_on_exit;
-       gboolean return_receipt;
+       gchar *pixmap_theme_path;
 
        /* Other */
        gchar *uri_cmd;
        gchar *print_cmd;
        gchar *ext_editor_cmd;
+
+        gboolean cliplog;
+        guint loglength;
+
+        gboolean confirm_on_exit;
+       gboolean clean_on_exit;
+       gboolean ask_on_clean;
+       gboolean warn_queued_on_exit;
+#if 0
+#ifdef USE_OPENSSL
+       gboolean ssl_ask_unknown_valid;
+#endif
+#endif
+
+       /* Memory cache*/
+       gint cache_max_mem_usage;
+       gint cache_min_keep_time;
+       
+       /* boolean for work offline 
+          stored here for use in inc.c */
+       gboolean work_offline;
+       
+       gint summary_quicksearch_type;
+       gint color_new;
 };
 
 extern PrefsCommon prefs_common;
 
+void prefs_common_init         ();
 void prefs_common_read_config  (void);
 void prefs_common_save_config  (void);
 void prefs_common_open         (void);
-
-void prefs_summary_display_item_set    (void);
+PrefsCommon *prefs_common_get  (void);
 
 #endif /* __PREFS_COMMON_H__ */