Statistics
| Revision:

root / src / prefs_common.h @ 122

History | View | Annotate | Download (5 kB)

1
/*
2
 * Sylpheed -- a GTK+ based, lightweight, and fast e-mail client
3
 * Copyright (C) 1999-2005 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 "summaryview.h"
31
#include "codeconv.h"
32
#include "textview.h"
33
34
typedef struct _PrefsCommon        PrefsCommon;
35
36
typedef enum {
37
        RECV_DIALOG_ALWAYS,
38
        RECV_DIALOG_MANUAL,
39
        RECV_DIALOG_NEVER
40
} RecvDialogMode;
41
42
typedef enum {
43
        CTE_AUTO,
44
        CTE_BASE64,
45
        CTE_QUOTED_PRINTABLE,
46
        CTE_8BIT
47
} TransferEncodingMethod;
48
49
struct _PrefsCommon
50
{
51
        /* Receive */
52
        gboolean use_extinc;
53
        gchar *extinc_cmd;
54
        gboolean inc_local;
55
        gboolean filter_on_inc;
56
        gchar *spool_path;
57
        gboolean scan_all_after_inc;
58
        gboolean autochk_newmail;
59
        gint autochk_itv;
60
        gboolean chk_on_startup;
61
        gint max_articles;
62
63
        /* Send */
64
        gboolean use_extsend;
65
        gchar *extsend_cmd;
66
        gboolean savemsg;
67
        gchar *outgoing_charset;
68
        TransferEncodingMethod encoding_method;
69
70
        gboolean allow_jisx0201_kana;
71
72
        /* Compose */
73
        gboolean auto_sig;
74
        gchar *sig_sep;
75
        gint undolevels;
76
        gint linewrap_len;
77
        gboolean linewrap_quote;
78
        gboolean autowrap;
79
        gboolean linewrap_at_send;
80
        gboolean auto_exteditor;
81
        gboolean reply_account_autosel;
82
        gboolean default_reply_list;
83
        gboolean show_ruler;
84
85
        /* Quote */
86
        gboolean reply_with_quote;
87
        gchar *quotemark;
88
        gchar *quotefmt;
89
        gchar *fw_quotemark;
90
        gchar *fw_quotefmt;
91
92
        /* Display */
93
        gchar *textfont;
94
95
        gboolean trans_hdr;
96
        gboolean display_folder_unread;
97
        gint ng_abbrev_len;
98
99
        gboolean swap_from;
100
        gboolean expand_thread;
101
        gchar *date_format;
102
103
        gboolean enable_hscrollbar;
104
        gboolean bold_unread;
105
        gboolean enable_thread;
106
107
        ToolbarStyle toolbar_style;
108
        gboolean show_statusbar;
109
110
        gint folderview_vscrollbar_policy;
111
112
        /* Summary columns visibility, position and size */
113
        gboolean summary_col_visible[N_SUMMARY_COLS];
114
        gint summary_col_pos[N_SUMMARY_COLS];
115
        gint summary_col_size[N_SUMMARY_COLS];
116
117
        /* Widget visibility, position and size */
118
        gint folderwin_x;
119
        gint folderwin_y;
120
        gint folderview_width;
121
        gint folderview_height;
122
        gboolean folderview_visible;
123
124
        gint folder_col_folder;
125
        gint folder_col_new;
126
        gint folder_col_unread;
127
        gint folder_col_total;
128
129
        gint summaryview_width;
130
        gint summaryview_height;
131
132
        gint main_msgwin_x;
133
        gint main_msgwin_y;
134
        gint msgview_width;
135
        gint msgview_height;
136
        gboolean msgview_visible;
137
138
        gint mainview_x;
139
        gint mainview_y;
140
        gint mainview_width;
141
        gint mainview_height;
142
        gint mainwin_x;
143
        gint mainwin_y;
144
        gint mainwin_width;
145
        gint mainwin_height;
146
147
        gint msgwin_width;
148
        gint msgwin_height;
149
150
        gint sourcewin_width;
151
        gint sourcewin_height;
152
153
        gint compose_width;
154
        gint compose_height;
155
156
        /* Message */
157
        gboolean enable_color;
158
        gint quote_level1_col;
159
        gint quote_level2_col;
160
        gint quote_level3_col;
161
        gint uri_col;
162
        gushort sig_col;
163
        gboolean recycle_quote_colors;
164
        gboolean conv_mb_alnum;
165
        gboolean display_header_pane;
166
        gboolean display_header;
167
        gint line_space;
168
        gboolean enable_smooth_scroll;
169
        gint scroll_step;
170
        gboolean scroll_halfpage;
171
172
        gboolean resize_image;
173
        gboolean inline_image;
174
175
        gchar *force_charset;
176
177
        gboolean show_other_header;
178
        GSList *disphdr_list;
179
180
        /* MIME viewer */
181
        gchar *mime_image_viewer;
182
        gchar *mime_audio_player;
183
        gchar *mime_open_cmd;
184
185
        GList *mime_open_cmd_history;
186
187
#if USE_GPGME
188
        /* Privacy */
189
        gboolean auto_check_signatures;
190
        gboolean gpg_signature_popup;
191
        gboolean store_passphrase;
192
        gint store_passphrase_timeout;
193
        gboolean passphrase_grab;
194
        gboolean gpg_warning;
195
#endif /* USE_GPGME */
196
197
        /* Interface */
198
        gboolean sep_folder;
199
        gboolean sep_msg;
200
        gboolean emulate_emacs;
201
        gboolean always_show_msg;
202
        gboolean open_unread_on_enter;
203
        gboolean mark_as_read_on_new_window;
204
        gboolean open_inbox_on_inc;
205
        gboolean immediate_exec;
206
        RecvDialogMode recv_dialog_mode;
207
        gboolean close_recv_dialog;
208
        gboolean no_recv_err_panel;
209
        gboolean add_address_by_click;
210
211
        /* Other */
212
        gchar *uri_cmd;
213
        gchar *print_cmd;
214
        gchar *ext_editor_cmd;
215
216
        gboolean confirm_on_exit;
217
        gboolean clean_on_exit;
218
        gboolean ask_on_clean;
219
        gboolean warn_queued_on_exit;
220
221
        gint io_timeout_secs;
222
223
        gint logwin_line_limit;
224
225
        /* Filtering */
226
        GSList *fltlist;
227
228
        /* Actions */
229
        GSList *actions_list;
230
231
        /* Online / Offline */
232
        gboolean online_mode;
233
};
234
235
extern PrefsCommon prefs_common;
236
237
void prefs_common_read_config        (void);
238
void prefs_common_write_config        (void);
239
void prefs_common_open                (void);
240
241
void prefs_quote_description        (void);
242
243
#endif /* __PREFS_COMMON_H__ */