add filtering conditions message greater than, smaller than, and exactly matching...
[claws.git] / src / prefs_folder_item.h
1 /*
2  * Sylpheed -- a GTK+ based, lightweight, and fast e-mail client
3  * Copyright (C) 1999-2001 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 2 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, write to the Free Software
17  * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
18  */
19
20 #ifndef PREFS_FOLDER_ITEM_H
21
22 #define PREFS_FOLDER_ITEM_H
23
24 #include "folder.h"
25 #include <glib.h>
26 #include <sys/types.h>
27 #include <regex.h>
28
29 struct _PrefsFolderItem {
30         gchar * directory;
31
32         gboolean sort_by_number;
33         gboolean sort_by_size;
34         gboolean sort_by_date;
35         gboolean sort_by_from;
36         gboolean sort_by_subject;
37         gboolean sort_by_score;
38
39         gboolean sort_descending;
40
41         gboolean enable_thread;
42
43         gint kill_score;
44         gint important_score;
45
46         GSList * scoring;
47         GSList * processing;
48
49         gboolean request_return_receipt;
50         gboolean enable_default_to;
51         gchar *default_to;
52         gboolean enable_simplify_subject;
53         gchar *simplify_subject_regexp;
54         regex_t *simplify_subject_preg;
55         gboolean enable_folder_chmod;
56         gint folder_chmod;
57         gboolean enable_default_account;
58         gint default_account;
59         gboolean save_copy_to_folder;
60 };
61
62 typedef struct _PrefsFolderItem PrefsFolderItem;
63
64 /* CLAWS: due a messed up circular header references using 
65  * void *. but this is *REALLY* a folderview */ 
66 void prefs_folder_item_create (void *folderview, FolderItem *item); 
67
68 void prefs_folder_item_read_config(FolderItem * item);
69 void prefs_folder_item_save_config(FolderItem * item);
70 void prefs_folder_item_set_config(FolderItem * item,
71                                   int sort_type, gint sort_mode);
72 PrefsFolderItem * prefs_folder_item_new(void);
73 void prefs_folder_item_free(PrefsFolderItem * prefs);
74 gint prefs_folder_item_get_sort_type(FolderItem * item);
75 gint prefs_folder_item_get_sort_mode(FolderItem * item);
76
77 #endif