fix invalid cast runtime warning
[claws.git] / src / folder_item_prefs.h
1 /*
2  * Sylpheed -- a GTK+ based, lightweight, and fast e-mail client
3  * Copyright (C) 1999-2012 Hiroyuki Yamamoto and the Claws Mail team
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 3 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, see <http://www.gnu.org/licenses/>.
17  * 
18  */
19
20 #ifndef FOLDER_ITEM_PREFS_H
21 #define FOLDER_ITEM_PREFS_H
22
23 #include <glib.h>
24 #include <sys/types.h>
25
26 typedef struct _FolderItemPrefs FolderItemPrefs;
27
28 #include "folder.h"
29 typedef enum {
30         HTML_PROMOTE_DEFAULT=0,
31         HTML_PROMOTE_NEVER,
32         HTML_PROMOTE_ALWAYS
33 } HTMLPromoteType;
34 typedef enum {
35         SIGN_OR_ENCRYPT_DEFAULT=0,
36         SIGN_OR_ENCRYPT_NEVER,
37         SIGN_OR_ENCRYPT_ALWAYS
38 } SignOrEncryptType;
39
40 struct _FolderItemPrefs {
41         gchar * directory;
42
43         int enable_processing; /* at start-up */
44         int enable_processing_when_opening;
45         GSList * processing;
46
47         int newmailcheck;
48         int offlinesync;
49         int offlinesync_days;
50         int remove_old_bodies;
51         HTMLPromoteType promote_html_part;
52
53         gboolean request_return_receipt;
54         gboolean enable_default_to;
55         gchar *default_to;
56         gboolean enable_default_reply_to;
57         gchar *default_reply_to;
58         gboolean enable_default_cc;
59         gchar *default_cc;
60         gboolean enable_default_bcc;
61         gchar *default_bcc;
62         gboolean enable_default_replyto;
63         gchar *default_replyto;
64         gboolean enable_simplify_subject;
65         gchar *simplify_subject_regexp;
66         gboolean enable_folder_chmod;
67         gint folder_chmod;
68         gboolean enable_default_account;
69         gint default_account;
70
71         gboolean enable_default_dictionary;
72         gchar *default_dictionary;
73         gboolean enable_default_alt_dictionary;
74         gchar *default_alt_dictionary;
75         SignOrEncryptType always_sign;
76         SignOrEncryptType always_encrypt;
77         gboolean save_copy_to_folder;
78         guint color;
79
80         gboolean compose_with_format;
81         gchar *compose_override_from_format;
82         gchar *compose_subject_format;
83         gchar *compose_body_format;
84         gboolean reply_with_format;
85         gchar *reply_quotemark;
86         gchar *reply_override_from_format;
87         gchar *reply_body_format;
88         gboolean forward_with_format;
89         gchar *forward_quotemark;
90         gchar *forward_override_from_format;
91         gchar *forward_body_format;
92 };
93
94 void folder_item_prefs_read_config(FolderItem * item);
95 void folder_item_prefs_save_config(FolderItem * item);
96 void folder_item_prefs_save_config_recursive(FolderItem * item);
97 void folder_prefs_save_config_recursive(Folder *folder);
98 FolderItemPrefs *folder_item_prefs_new(void);
99 void folder_item_prefs_free(FolderItemPrefs * prefs);
100 void folder_item_prefs_copy_prefs(FolderItem * src, FolderItem * dest);
101
102 #endif /* FOLDER_ITEM_PREFS_H */