3 #include "prefs_folder_item.h"
4 #include "summaryview.h"
7 PrefsFolderItem tmp_prefs;
9 static PrefParam param[] = {
10 {"sort_by_number", "FALSE", &tmp_prefs.sort_by_number, P_BOOL,
12 {"sort_by_size", "FALSE", &tmp_prefs.sort_by_size, P_BOOL,
14 {"sort_by_date", "FALSE", &tmp_prefs.sort_by_date, P_BOOL,
16 {"sort_by_from", "FALSE", &tmp_prefs.sort_by_from, P_BOOL,
18 {"sort_by_subject", "FALSE", &tmp_prefs.sort_by_subject, P_BOOL,
20 {"sort_by_score", "FALSE", &tmp_prefs.sort_by_score, P_BOOL,
22 {"sort_descending", "FALSE", &tmp_prefs.sort_descending, P_BOOL,
24 {"enable_thread", "TRUE", &tmp_prefs.enable_thread, P_BOOL,
26 {"kill_score", "-9999", &tmp_prefs.kill_score, P_INT,
28 {"important_score", "9999", &tmp_prefs.important_score, P_INT,
30 {NULL, NULL, NULL, P_OTHER, NULL, NULL, NULL}
33 void prefs_folder_item_read_config(FolderItem * item)
37 id = folder_item_get_identifier(item);
39 prefs_read_config(param, id, FOLDERITEM_RC);
42 * item->prefs = tmp_prefs;
45 void prefs_folder_item_save_config(FolderItem * item)
49 tmp_prefs = * item->prefs;
51 id = folder_item_get_identifier(item);
53 prefs_save_config(param, id, FOLDERITEM_RC);
57 void prefs_folder_item_set_config(FolderItem * item,
58 int sort_type, gint sort_mode)
60 tmp_prefs = * item->prefs;
62 tmp_prefs.sort_by_number = FALSE;
63 tmp_prefs.sort_by_size = FALSE;
64 tmp_prefs.sort_by_date = FALSE;
65 tmp_prefs.sort_by_from = FALSE;
66 tmp_prefs.sort_by_subject = FALSE;
67 tmp_prefs.sort_by_score = FALSE;
71 tmp_prefs.sort_by_number = TRUE;
74 tmp_prefs.sort_by_size = TRUE;
77 tmp_prefs.sort_by_date = TRUE;
80 tmp_prefs.sort_by_from = TRUE;
83 tmp_prefs.sort_by_subject = TRUE;
86 tmp_prefs.sort_by_score = TRUE;
89 tmp_prefs.sort_descending = (sort_type == GTK_SORT_DESCENDING);
91 * item->prefs = tmp_prefs;
94 PrefsFolderItem * prefs_folder_item_new(void)
96 PrefsFolderItem * prefs;
98 prefs = g_new0(PrefsFolderItem, 1);
100 tmp_prefs.sort_by_number = FALSE;
101 tmp_prefs.sort_by_size = FALSE;
102 tmp_prefs.sort_by_date = FALSE;
103 tmp_prefs.sort_by_from = FALSE;
104 tmp_prefs.sort_by_subject = FALSE;
105 tmp_prefs.sort_by_score = FALSE;
106 tmp_prefs.sort_descending = FALSE;
107 tmp_prefs.kill_score = -9999;
108 tmp_prefs.important_score = 9999;
115 void prefs_folder_item_free(PrefsFolderItem * prefs)
117 if (prefs->scoring != NULL)
118 prefs_scoring_free(prefs->scoring);
122 gint prefs_folder_item_get_sort_mode(FolderItem * item)
124 tmp_prefs = * item->prefs;
126 if (tmp_prefs.sort_by_number)
127 return SORT_BY_NUMBER;
128 if (tmp_prefs.sort_by_size)
130 if (tmp_prefs.sort_by_date)
132 if (tmp_prefs.sort_by_from)
134 if (tmp_prefs.sort_by_subject)
135 return SORT_BY_SUBJECT;
136 if (tmp_prefs.sort_by_score)
137 return SORT_BY_SCORE;
141 gint prefs_folder_item_get_sort_type(FolderItem * item)
143 tmp_prefs = * item->prefs;
145 if (tmp_prefs.sort_descending)
146 return GTK_SORT_DESCENDING;
148 return GTK_SORT_ASCENDING;