Merge branch 'master' of ssh://git.claws-mail.org/home/git/claws
[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         gint config_version;
44
45         int enable_processing; /* at start-up */
46         int enable_processing_when_opening;
47         GSList * processing;
48
49         int newmailcheck;
50         int offlinesync;
51         int offlinesync_days;
52         int remove_old_bodies;
53         HTMLPromoteType promote_html_part;
54
55         gboolean request_return_receipt;
56         gboolean enable_default_to;
57         gchar *default_to;
58         gboolean enable_default_reply_to;
59         gchar *default_reply_to;
60         gboolean enable_default_cc;
61         gchar *default_cc;
62         gboolean enable_default_bcc;
63         gchar *default_bcc;
64         gboolean enable_default_replyto;
65         gchar *default_replyto;
66         gboolean enable_simplify_subject;
67         gchar *simplify_subject_regexp;
68         gboolean enable_folder_chmod;
69         gint folder_chmod;
70         gboolean enable_default_account;
71         gint default_account;
72
73         gboolean enable_default_dictionary;
74         gchar *default_dictionary;
75         gboolean enable_default_alt_dictionary;
76         gchar *default_alt_dictionary;
77         SignOrEncryptType always_sign;
78         SignOrEncryptType always_encrypt;
79         gboolean save_copy_to_folder;
80         gulong color;
81
82         gboolean compose_with_format;
83         gchar *compose_override_from_format;
84         gchar *compose_subject_format;
85         gchar *compose_body_format;
86         gboolean reply_with_format;
87         gchar *reply_quotemark;
88         gchar *reply_override_from_format;
89         gchar *reply_body_format;
90         gboolean forward_with_format;
91         gchar *forward_quotemark;
92         gchar *forward_override_from_format;
93         gchar *forward_body_format;
94 };
95
96 void folder_item_prefs_read_config(FolderItem * item);
97 void folder_item_prefs_save_config(FolderItem * item);
98 void folder_item_prefs_save_config_recursive(FolderItem * item);
99 void folder_prefs_save_config_recursive(Folder *folder);
100 FolderItemPrefs *folder_item_prefs_new(void);
101 void folder_item_prefs_free(FolderItemPrefs * prefs);
102 void folder_item_prefs_copy_prefs(FolderItem * src, FolderItem * dest);
103
104 #endif /* FOLDER_ITEM_PREFS_H */