New method for OAuth2 authentication and receiving of access token from David Fletche...
[claws.git] / src / folder_item_prefs.h
1 /*
2  * Claws Mail -- a GTK based, lightweight, and fast e-mail client
3  * Copyright (C) 1999-2021 the Claws Mail team and 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 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         gboolean skip_on_goto_unread_or_new;
55
56         gboolean request_return_receipt;
57         gboolean enable_default_from;
58         gchar *default_from;
59         gboolean enable_default_to;
60         gchar *default_to;
61         gboolean enable_default_reply_to;
62         gchar *default_reply_to;
63         gboolean enable_default_cc;
64         gchar *default_cc;
65         gboolean enable_default_bcc;
66         gchar *default_bcc;
67         gboolean enable_default_replyto;
68         gchar *default_replyto;
69         gboolean enable_simplify_subject;
70         gchar *simplify_subject_regexp;
71         gboolean enable_folder_chmod;
72         gint folder_chmod;
73         gboolean enable_default_account;
74         gint default_account;
75
76         gboolean enable_default_dictionary;
77         gchar *default_dictionary;
78         gboolean enable_default_alt_dictionary;
79         gchar *default_alt_dictionary;
80         SignOrEncryptType always_sign;
81         SignOrEncryptType always_encrypt;
82         gboolean save_copy_to_folder;
83         GdkRGBA color;
84
85         gboolean compose_with_format;
86         gchar *compose_override_from_format;
87         gchar *compose_subject_format;
88         gchar *compose_body_format;
89         gboolean reply_with_format;
90         gchar *reply_quotemark;
91         gchar *reply_override_from_format;
92         gchar *reply_body_format;
93         gboolean forward_with_format;
94         gchar *forward_quotemark;
95         gchar *forward_override_from_format;
96         gchar *forward_body_format;
97 };
98
99 void folder_item_prefs_read_config(FolderItem * item);
100 void folder_item_prefs_save_config(FolderItem * item);
101 void folder_item_prefs_save_config_recursive(FolderItem * item);
102 void folder_prefs_save_config_recursive(Folder *folder);
103 FolderItemPrefs *folder_item_prefs_new(void);
104 void folder_item_prefs_free(FolderItemPrefs * prefs);
105 void folder_item_prefs_copy_prefs(FolderItem * src, FolderItem * dest);
106
107 #endif /* FOLDER_ITEM_PREFS_H */