separate username/password for SMTP Auth
[claws.git] / src / prefs_common.h
1 /*
2  * Sylpheed -- a GTK+ based, lightweight, and fast e-mail client
3  * Copyright (C) 1999-2001 Hiroyuki Yamamoto
4  *
5  * This program is free software; you can redistribute it and/or modify
6  * it under the terms of the GNU General Public License as published by
7  * the Free Software Foundation; either version 2 of the License, or
8  * (at your option) any later version.
9  *
10  * This program is distributed in the hope that it will be useful,
11  * but WITHOUT ANY WARRANTY; without even the implied warranty of
12  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13  * GNU General Public License for more details.
14  *
15  * You should have received a copy of the GNU General Public License
16  * along with this program; if not, write to the Free Software
17  * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
18  */
19
20 #ifndef __PREFS_COMMON_H__
21 #define __PREFS_COMMON_H__
22
23 #ifdef HAVE_CONFIG_H
24 #  include "config.h"
25 #endif
26
27 #include <glib.h>
28
29 #include "mainwindow.h"
30 #include "codeconv.h"
31 #include "textview.h"
32
33 typedef struct _PrefsCommon     PrefsCommon;
34
35 typedef enum {
36         RECV_DIALOG_ALWAYS,
37         RECV_DIALOG_ACTIVE,
38         RECV_DIALOG_NEVER
39 } RecvDialogMode;
40
41 typedef enum
42 {
43         NEXTUNREADMSGDIALOG_ALWAYS,
44         NEXTUNREADMSGDIALOG_ASSUME_YES,
45         NEXTUNREADMSGDIALOG_ASSUME_NO
46 } NextUnreadMsgDialogShow;
47
48 struct _PrefsCommon
49 {
50         /* Receive */
51         gboolean use_extinc;
52         gchar *extinc_cmd;
53         gboolean inc_local;
54         gboolean filter_on_inc;
55         gchar *spool_path;
56         gboolean scan_all_after_inc;
57         gboolean autochk_newmail;
58         gint autochk_itv;
59         gboolean chk_on_startup;
60         gboolean noerrorpanel;
61         gint max_articles;
62
63         /* Send */
64         gboolean use_extsend;
65         gchar *extsend_cmd;
66         gboolean savemsg;
67         gboolean queue_msg;
68         gchar *outgoing_charset;
69
70         /* Compose */
71         gboolean reply_with_quote;
72         gchar *quotemark;
73         gchar *quotefmt;
74         gboolean auto_sig;
75         gchar *sig_sep;
76         gint linewrap_len;
77         gboolean linewrap_quote;
78         gboolean linewrap_at_send;
79         gboolean auto_exteditor;
80         gboolean reply_account_autosel;
81         gboolean forward_account_autosel;
82         gboolean reedit_account_autosel;
83         gboolean show_ruler;
84         gchar *fw_quotemark;
85         gchar *fw_quotefmt;
86         gboolean forward_as_attachment;
87         gboolean smart_wrapping;
88         gboolean block_cursor;
89 #if USE_PSPELL
90         gboolean enable_pspell;
91         gchar *pspell_path;
92         gchar *dictionary;
93 #endif
94         
95         /* Display */
96         gchar *widgetfont;
97         gchar *textfont;
98         gchar *normalfont;
99         gchar *boldfont;
100         gchar *smallfont;
101         gboolean display_folder_unread;
102         ToolbarStyle toolbar_style;
103         gboolean show_statusbar;
104         gboolean trans_hdr;
105         gboolean enable_thread;
106         gboolean enable_hscrollbar;
107         gboolean expand_thread;
108         gboolean bold_unread;
109         gboolean swap_from;
110         gboolean use_addr_book;
111         gchar *date_format;
112
113         /* Filtering */
114         GSList *fltlist;
115
116         gint kill_score;
117         gint important_score;
118
119         gboolean show_mark;
120         gboolean show_unread;
121         gboolean show_mime;
122         gboolean show_number;
123         gboolean show_score;
124         gboolean show_size;
125         gboolean show_date;
126         gboolean show_from;
127         gboolean show_subject;
128
129         /* Widget size */
130         gint folderview_x;
131         gint folderview_y;
132         gint folderview_width;
133         gint folderview_height;
134         gint folder_col_folder;
135         gint folder_col_new;
136         gint folder_col_unread;
137         gint folder_col_total;
138
139         gint summaryview_width;
140         gint summaryview_height;
141         gint summary_col_mark;
142         gint summary_col_unread;
143         gint summary_col_mime;
144         gint summary_col_number;
145         gint summary_col_size;
146         gint summary_col_date;
147         gint summary_col_from;
148         gint summary_col_subject;
149         gint summary_col_score;
150
151         gint mainview_x;
152         gint mainview_y;
153         gint mainview_width;
154         gint mainview_height;
155         gint mainwin_x;
156         gint mainwin_y;
157         gint mainwin_width;
158         gint mainwin_height;
159
160         gint msgwin_width;
161         gint msgwin_height;
162
163         gint compose_width;
164         gint compose_height;
165
166         /* Message */
167         gboolean enable_color;
168         gint quote_level1_col;
169         gint quote_level2_col;
170         gint quote_level3_col;
171         gint uri_col;
172         gint tgt_folder_col;
173         gushort sig_col;
174         gboolean recycle_quote_colors;
175         gboolean conv_mb_alnum;
176         gboolean display_header_pane;
177         gboolean display_header;
178         gboolean head_space;
179         gint line_space;
180         gboolean enable_smooth_scroll;
181         gint scroll_step;
182         gboolean scroll_halfpage;
183
184         gchar *force_charset;
185
186         gboolean show_other_header;
187         GSList *disphdr_list;
188
189         /* MIME viewer */
190         gchar *mime_image_viewer;
191         gchar *mime_audio_player;
192
193         /* Privacy */
194         gboolean default_encrypt;
195         gboolean ascii_armored;
196         gboolean default_sign;
197         gboolean auto_check_signatures;
198         gboolean gpg_signature_popup;
199         gboolean passphrase_grab;
200         gchar *default_signkey;
201         gboolean gpg_warning;
202
203         /* Interface */
204         gboolean sep_folder;
205         gboolean sep_msg;
206         gboolean emulate_emacs;
207         gboolean open_unread_on_enter;
208         gboolean open_inbox_on_inc;
209         gboolean immediate_exec;
210         RecvDialogMode recv_dialog_mode;
211         NextUnreadMsgDialogShow next_unread_msg_dialog;
212         gboolean add_address_by_click;
213
214         gboolean confirm_on_exit;
215         gboolean clean_on_exit;
216         gboolean ask_on_clean;
217         gboolean warn_queued_on_exit;
218         gboolean return_receipt;
219
220         /* Other */
221         gchar *uri_cmd;
222         gchar *print_cmd;
223         gchar *ext_editor_cmd;
224 };
225
226 extern PrefsCommon prefs_common;
227
228 void prefs_common_read_config   (void);
229 void prefs_common_save_config   (void);
230 void prefs_common_open          (void);
231
232 void prefs_summary_display_item_set     (void);
233
234 #endif /* __PREFS_COMMON_H__ */