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 */
105