root / libsylph / prefs_common.h @ 2164
History | View | Annotate | Download (6.8 kB)
| 1 | /*
|
|---|---|
| 2 | * LibSylph -- E-Mail client library |
| 3 | * Copyright (C) 1999-2009 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 | |
| 29 | typedef struct _PrefsCommon PrefsCommon; |
| 30 | |
| 31 | #include "enums.h" |
| 32 | #include "prefs.h" |
| 33 | |
| 34 | typedef enum { |
| 35 | RECV_DIALOG_ALWAYS, |
| 36 | RECV_DIALOG_MANUAL, |
| 37 | RECV_DIALOG_NEVER |
| 38 | } RecvDialogMode; |
| 39 | |
| 40 | typedef enum { |
| 41 | CTE_AUTO, |
| 42 | CTE_BASE64, |
| 43 | CTE_QUOTED_PRINTABLE, |
| 44 | CTE_8BIT |
| 45 | } TransferEncodingMethod; |
| 46 | |
| 47 | typedef enum { |
| 48 | FENC_MIME, |
| 49 | FENC_RFC2231, |
| 50 | FENC_NONE |
| 51 | } MIMEFilenameEncodingMethod; |
| 52 | |
| 53 | struct _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 | GSList *junk_fltlist; |
| 304 | GSList *manual_junk_fltlist; |
| 305 | |
| 306 | /* Actions */
|
| 307 | GSList *actions_list; |
| 308 | |
| 309 | /* Online / Offline */
|
| 310 | gboolean online_mode; |
| 311 | }; |
| 312 | |
| 313 | extern PrefsCommon prefs_common;
|
| 314 | |
| 315 | PrefsCommon *prefs_common_get (void);
|
| 316 | |
| 317 | PrefParam *prefs_common_get_params (void);
|
| 318 | |
| 319 | void prefs_common_read_config (void); |
| 320 | void prefs_common_write_config (void); |
| 321 | |
| 322 | void prefs_common_junk_filter_list_set (void); |
| 323 | void prefs_common_junk_folder_rename_path (const gchar *old_path, |
| 324 | const gchar *new_path);
|
| 325 | |
| 326 | #endif /* __PREFS_COMMON_H__ */ |