Statistics
| Revision:

root / src / prefs_common.h @ 1

History | View | Annotate | Download (5.09 KB)

1
/*
2
 * Sylpheed -- a GTK+ based, lightweight, and fast e-mail client
3
 * Copyright (C) 1999-2004 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 *widgetfont;
94
        gchar *textfont;
95
        gchar *normalfont;
96
        gchar *boldfont;
97
        gchar *smallfont;
98
        gchar *titlefont;
99

    
100
        gboolean trans_hdr;
101
        gboolean display_folder_unread;
102
        gint ng_abbrev_len;
103

    
104
        gboolean swap_from;
105
        gboolean expand_thread;
106
        gchar *date_format;
107

    
108
        gboolean enable_hscrollbar;
109
        gboolean bold_unread;
110
        gboolean enable_thread;
111

    
112
        ToolbarStyle toolbar_style;
113
        gboolean show_statusbar;
114

    
115
        gint folderview_vscrollbar_policy;
116

    
117
        /* Summary columns visibility, position and size */
118
        gboolean summary_col_visible[N_SUMMARY_COLS];
119
        gint summary_col_pos[N_SUMMARY_COLS];
120
        gint summary_col_size[N_SUMMARY_COLS];
121

    
122
        /* Widget visibility, position and size */
123
        gint folderwin_x;
124
        gint folderwin_y;
125
        gint folderview_width;
126
        gint folderview_height;
127
        gboolean folderview_visible;
128

    
129
        gint folder_col_folder;
130
        gint folder_col_new;
131
        gint folder_col_unread;
132
        gint folder_col_total;
133

    
134
        gint summaryview_width;
135
        gint summaryview_height;
136

    
137
        gint main_msgwin_x;
138
        gint main_msgwin_y;
139
        gint msgview_width;
140
        gint msgview_height;
141
        gboolean msgview_visible;
142

    
143
        gint mainview_x;
144
        gint mainview_y;
145
        gint mainview_width;
146
        gint mainview_height;
147
        gint mainwin_x;
148
        gint mainwin_y;
149
        gint mainwin_width;
150
        gint mainwin_height;
151

    
152
        gint msgwin_width;
153
        gint msgwin_height;
154

    
155
        gint sourcewin_width;
156
        gint sourcewin_height;
157

    
158
        gint compose_width;
159
        gint compose_height;
160

    
161
        /* Message */
162
        gboolean enable_color;
163
        gint quote_level1_col;
164
        gint quote_level2_col;
165
        gint quote_level3_col;
166
        gint uri_col;
167
        gushort sig_col;
168
        gboolean recycle_quote_colors;
169
        gboolean conv_mb_alnum;
170
        gboolean display_header_pane;
171
        gboolean display_header;
172
        gboolean head_space;
173
        gint line_space;
174
        gboolean enable_smooth_scroll;
175
        gint scroll_step;
176
        gboolean scroll_halfpage;
177

    
178
        gboolean resize_image;
179

    
180
        gchar *force_charset;
181

    
182
        gboolean show_other_header;
183
        GSList *disphdr_list;
184

    
185
        /* MIME viewer */
186
        gchar *mime_image_viewer;
187
        gchar *mime_audio_player;
188
        gchar *mime_open_cmd;
189

    
190
        GList *mime_open_cmd_history;
191

    
192
#if USE_GPGME
193
        /* Privacy */
194
        gboolean auto_check_signatures;
195
        gboolean gpg_signature_popup;
196
        gboolean store_passphrase;
197
        gint store_passphrase_timeout;
198
        gboolean passphrase_grab;
199
        gboolean gpg_warning;
200
#endif /* USE_GPGME */
201

    
202
        /* Interface */
203
        gboolean sep_folder;
204
        gboolean sep_msg;
205
        gboolean emulate_emacs;
206
        gboolean always_show_msg;
207
        gboolean open_unread_on_enter;
208
        gboolean mark_as_read_on_new_window;
209
        gboolean open_inbox_on_inc;
210
        gboolean immediate_exec;
211
        RecvDialogMode recv_dialog_mode;
212
        gboolean close_recv_dialog;
213
        gboolean no_recv_err_panel;
214
        gboolean add_address_by_click;
215

    
216
        /* Other */
217
        gchar *uri_cmd;
218
        gchar *print_cmd;
219
        gchar *ext_editor_cmd;
220

    
221
        gboolean confirm_on_exit;
222
        gboolean clean_on_exit;
223
        gboolean ask_on_clean;
224
        gboolean warn_queued_on_exit;
225

    
226
        gint io_timeout_secs;
227

    
228
        /* Filtering */
229
        GSList *fltlist;
230

    
231
        /* Actions */
232
        GSList *actions_list;
233

    
234
        /* Online / Offline */
235
        gboolean online_mode;
236
};
237

    
238
extern PrefsCommon prefs_common;
239

    
240
void prefs_common_read_config        (void);
241
void prefs_common_write_config        (void);
242
void prefs_common_open                (void);
243

    
244
void prefs_quote_description        (void);
245

    
246
#endif /* __PREFS_COMMON_H__ */