summaryrefslogtreecommitdiff
path: root/libsylph/prefs_common.h
diff options
context:
space:
mode:
authorSimeon Simeonov2018-02-26 11:23:00 +0100
committerSimeon Simeonov2018-02-26 11:23:00 +0100
commit0b3cbf57875fd692e4ba0b336fefa4bee1ed00dc (patch)
treeaf916a30553c78ce9d4f2d8658656a175c5b6921 /libsylph/prefs_common.h
Initial commit for sylpheed 3.7.0
Diffstat (limited to 'libsylph/prefs_common.h')
-rw-r--r--libsylph/prefs_common.h375
1 files changed, 375 insertions, 0 deletions
diff --git a/libsylph/prefs_common.h b/libsylph/prefs_common.h
new file mode 100644
index 0000000..ba9ddb5
--- /dev/null
+++ b/libsylph/prefs_common.h
@@ -0,0 +1,375 @@
1/*
2 * LibSylph -- E-Mail client library
3 * Copyright (C) 1999-2017 Hiroyuki Yamamoto
4 *
5 * This library is free software; you can redistribute it and/or
6 * modify it under the terms of the GNU Lesser General Public
7 * License as published by the Free Software Foundation; either
8 * version 2.1 of the License, or (at your option) any later version.
9 *
10 * This library 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 GNU
13 * Lesser General Public License for more details.
14 *
15 * You should have received a copy of the GNU Lesser General Public
16 * License along with this library; if not, write to the Free Software
17 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 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
29typedef struct _PrefsCommon PrefsCommon;
30
31#include "enums.h"
32#include "prefs.h"
33
34typedef enum {
35 RECV_DIALOG_ALWAYS,
36 RECV_DIALOG_MANUAL,
37 RECV_DIALOG_NEVER
38} RecvDialogMode;
39
40typedef enum {
41 CTE_AUTO,
42 CTE_BASE64,
43 CTE_QUOTED_PRINTABLE,
44 CTE_8BIT
45} TransferEncodingMethod;
46
47typedef enum {
48 FENC_MIME,
49 FENC_RFC2231,
50 FENC_NONE
51} MIMEFilenameEncodingMethod;
52
53struct _PrefsCommon
54{
55 /* Receive */
56 gboolean scan_all_after_inc;
57 gboolean autochk_newmail;
58 gint autochk_itv;
59 gboolean chk_on_startup;
60 gboolean enable_newmsg_notify;
61 gchar *newmsg_notify_cmd;
62
63 gboolean inc_local;
64 gboolean filter_on_inc;
65 gchar *spool_path;
66
67 /* Send */
68 gboolean savemsg;
69 gboolean filter_sent;
70 TransferEncodingMethod encoding_method;
71 MIMEFilenameEncodingMethod mime_fencoding_method;
72
73 gboolean check_attach;
74 gchar *check_attach_str;
75 gboolean check_recipients;
76 gchar *check_recp_exclude;
77
78 gboolean allow_jisx0201_kana;
79
80 /* Compose */
81 gboolean auto_sig;
82 gchar *sig_sep;
83 gint undolevels;
84 gint linewrap_len;
85 gboolean linewrap_quote;
86 gboolean autowrap;
87 gboolean auto_exteditor;
88 gboolean enable_autosave;
89 gint autosave_itv;
90 gboolean reply_account_autosel;
91 gboolean default_reply_list;
92 gboolean inherit_recipient_on_self_reply;
93
94 gboolean show_ruler;
95
96 /* Quote */
97 gboolean reply_with_quote;
98 gchar *quotemark;
99 gchar *quotefmt;
100 gchar *fw_quotemark;
101 gchar *fw_quotefmt;
102
103 /* Spelling */
104 gboolean check_spell;
105 gchar *spell_lang;
106
107 /* Display */
108 gchar *textfont;
109
110 gboolean trans_hdr;
111 gboolean display_folder_unread;
112 gboolean display_folder_num_columns;
113 gint ng_abbrev_len;
114
115 gboolean swap_from;
116 gboolean expand_thread;
117 gchar *date_format;
118
119 gboolean enable_rules_hint;
120 gboolean bold_unread;
121
122 gboolean persist_qsearch_filter;
123
124 ToolbarStyle toolbar_style;
125 gboolean show_searchbar;
126 gboolean show_statusbar;
127
128 gchar *main_toolbar_setting;
129 gchar *compose_toolbar_setting;
130
131 LayoutType layout_type;
132
133 /* Summary columns visibility, position and size */
134 gboolean summary_col_visible[N_SUMMARY_COLS];
135 gint summary_col_pos[N_SUMMARY_COLS];
136 gboolean summary_sent_col_visible[N_SUMMARY_COLS];
137 gint summary_sent_col_pos[N_SUMMARY_COLS];
138 gint summary_col_size[N_SUMMARY_COLS];
139
140 /* Widget visibility, position and size */
141 gint folderwin_x;
142 gint folderwin_y;
143 gint folderview_width;
144 gint folderview_height;
145 gboolean folderview_visible;
146
147 gint folder_col_folder;
148 gint folder_col_new;
149 gint folder_col_unread;
150 gint folder_col_total;
151
152 gint summaryview_width;
153 gint summaryview_height;
154 gint summaryview_vwidth;
155 gint summaryview_vheight;
156
157 gint main_msgwin_x;
158 gint main_msgwin_y;
159 gint msgview_width;
160 gint msgview_height;
161 gint msgview_vwidth;
162 gint msgview_vheight;
163 gboolean msgview_visible;
164
165 gint mainview_x;
166 gint mainview_y;
167 gint mainview_width;
168 gint mainview_height;
169 gint mainwin_x;
170 gint mainwin_y;
171 gint mainwin_width;
172 gint mainwin_height;
173
174 gint msgwin_width;
175 gint msgwin_height;
176
177 gboolean mainwin_maximized;
178
179 gint sourcewin_width;
180 gint sourcewin_height;
181
182 gint compose_x;
183 gint compose_y;
184 gint compose_width;
185 gint compose_height;
186
187 gboolean compose_maximized;
188
189 gint addressbook_x;
190 gint addressbook_y;
191 gint addressbook_width;
192 gint addressbook_height;
193
194 /* Message */
195 gboolean enable_color;
196 gint quote_level1_col;
197 gint quote_level2_col;
198 gint quote_level3_col;
199 gint uri_col;
200 gushort sig_col;
201 gboolean recycle_quote_colors;
202 gboolean conv_mb_alnum;
203 gboolean display_header_pane;
204 gboolean display_header;
205 gint line_space;
206 gboolean render_html;
207 gboolean html_only_as_attach;
208 gboolean textview_cursor_visible;
209 gboolean enable_smooth_scroll;
210 gint scroll_step;
211 gboolean scroll_halfpage;
212
213 gboolean resize_image;
214 gboolean inline_image;
215
216 /* Encoding */
217 gchar *force_charset;
218 gchar *default_encoding;
219 gchar *outgoing_charset;
220
221 gboolean show_other_header;
222 GSList *disphdr_list;
223
224 /* MIME viewer */
225 gchar *mime_image_viewer;
226 gchar *mime_audio_player;
227 gchar *mime_open_cmd;
228 gchar *mime_cmd;
229
230 GList *mime_open_cmd_history;
231
232 /* Junk Mail */
233 gboolean enable_junk;
234 gchar *junk_learncmd;
235 gchar *nojunk_learncmd;
236 gchar *junk_classify_cmd;
237 gchar *junk_folder;
238 gboolean filter_junk_on_recv;
239 gboolean filter_junk_before;
240 gboolean delete_junk_on_recv;
241 gboolean mark_junk_as_read;
242
243 /* Privacy */
244 gboolean auto_check_signatures;
245 gboolean gpg_signature_popup;
246 gboolean store_passphrase;
247 gint store_passphrase_timeout;
248 gboolean passphrase_grab;
249 gboolean gpg_warning;
250
251 /* Interface */
252 gboolean sep_folder;
253 gboolean sep_msg;
254 gboolean always_show_msg;
255 gboolean open_unread_on_enter;
256 gboolean remember_last_selected;
257 gboolean mark_as_read_on_new_window;
258 gboolean open_inbox_on_inc;
259 gboolean open_inbox_on_startup;
260 gboolean immediate_exec;
261 gboolean comply_gnome_hig;
262 gboolean show_trayicon;
263 gboolean minimize_to_tray;
264 gboolean toggle_window_on_trayicon_click;
265
266 /* Other */
267 RecvDialogMode recv_dialog_mode;
268 gboolean no_recv_err_panel;
269 gboolean close_recv_dialog;
270
271 gboolean add_address_by_click;
272
273 gboolean confirm_on_exit;
274 gboolean clean_on_exit;
275 gboolean ask_on_clean;
276 gboolean warn_queued_on_exit;
277
278 gint logwin_line_limit;
279
280 /* External commands */
281 gchar *uri_cmd;
282 gchar *ext_editor_cmd;
283
284 gboolean use_print_cmd;
285 gchar *print_cmd;
286
287 gboolean use_extinc;
288 gchar *extinc_cmd;
289 gboolean use_extsend;
290 gchar *extsend_cmd;
291
292 /* Update check */
293 gboolean auto_update_check;
294 gboolean use_http_proxy;
295 gchar *http_proxy_host;
296
297 /* Advanced */
298 gboolean strict_cache_check;
299 gint io_timeout_secs;
300
301 /* Filtering */
302 GSList *fltlist;
303
304 /* deprecated: do not use */
305 GSList *junk_fltlist;
306 GSList *manual_junk_fltlist;
307
308 /* Actions */
309 GSList *actions_list;
310
311 /* Online / Offline */
312 gboolean online_mode;
313
314 /* Append new members here */
315 gboolean folder_col_visible[4]; /* Display */
316 gboolean reply_address_only; /* Compose */
317 gboolean recipients_autoreg; /* Send */
318 gboolean enable_address_completion; /* Compose */
319 gboolean fullauto_completion_mode; /* Compose */
320
321 gchar *user_agent_str;
322
323 gboolean change_account_on_folder_sel; /* Interface */
324 gboolean always_mark_read_on_show_msg; /* Interface */
325
326 gboolean always_add_address_only; /* Compose */
327 gboolean show_send_dialog; /* Send */
328
329 gint addressbook_folder_width;
330 gint addressbook_col_name;
331 gint addressbook_col_addr;
332 gint addressbook_col_rem;
333
334 gchar *prev_open_dir;
335 gchar *prev_save_dir;
336 gchar *prev_folder_dir;
337
338 gboolean enable_newmsg_notify_sound; /* Receive */
339 gchar *newmsg_notify_sound; /* Receive */
340
341 gboolean show_attach_tab; /* Message - Attachment */
342 gboolean show_attached_files_first; /* Message - Attachment */
343 gint attach_toolbutton_pos; /* Message - Attachment */
344
345 gboolean enable_newmsg_notify_window; /* Receive */
346
347 gboolean nofilter_junk_sender_in_book; /* Junk Mail */
348
349 gboolean alt_prefer_html; /* Message */
350
351 gint save_file_type;
352
353 gint notify_window_period; /* Receive */
354
355 gint startup_online_mode; /* Online */
356
357 gint addressbook_col_nickname;
358};
359
360extern PrefsCommon prefs_common;
361
362PrefsCommon *prefs_common_get (void);
363
364PrefParam *prefs_common_get_params (void);
365
366void prefs_common_read_config (void);
367void prefs_common_write_config (void);
368
369/* deprecated */
370void prefs_common_junk_filter_list_set (void);
371
372void prefs_common_junk_folder_rename_path (const gchar *old_path,
373 const gchar *new_path);
374
375#endif /* __PREFS_COMMON_H__ */