summaryrefslogtreecommitdiff
path: root/src/camel/providers/local/camel-local-folder.c
diff options
context:
space:
mode:
authorMilan Crha <mcrha@redhat.com>2016-11-10 14:20:52 +0100
committerMilan Crha <mcrha@redhat.com>2016-11-10 14:20:52 +0100
commit517204d3e39a8c9385f523a280870e6b67727e1d (patch)
tree2738a5893b27bea6a39b837b2ea9f677a041fa99 /src/camel/providers/local/camel-local-folder.c
parent0623c82034e58042c14fffea247fd4052ad50d1f (diff)
downloadevolution-data-server-517204d3e39a8c9385f523a280870e6b67727e1d.tar.gz
Bug 772947 - Global junk test option doesn't respect account settings
Diffstat (limited to 'src/camel/providers/local/camel-local-folder.c')
-rw-r--r--src/camel/providers/local/camel-local-folder.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/src/camel/providers/local/camel-local-folder.c b/src/camel/providers/local/camel-local-folder.c
index 1b451aaa5..e978aa1b1 100644
--- a/src/camel/providers/local/camel-local-folder.c
+++ b/src/camel/providers/local/camel-local-folder.c
@@ -544,6 +544,7 @@ camel_local_folder_construct (CamelLocalFolder *lf,
CamelStore *parent_store;
const gchar *full_name;
gboolean need_summary_check;
+ gboolean filter_all = FALSE, filter_junk = TRUE;
folder = CAMEL_FOLDER (lf);
full_name = camel_folder_get_full_name (folder);
@@ -555,12 +556,21 @@ camel_local_folder_construct (CamelLocalFolder *lf,
local_settings = CAMEL_LOCAL_SETTINGS (settings);
lf->base_path = camel_local_settings_dup_path (local_settings);
+ filter_all = camel_local_settings_get_filter_all (local_settings);
+ filter_junk = camel_local_settings_get_filter_junk (local_settings);
g_object_unref (settings);
ls = CAMEL_LOCAL_STORE (parent_store);
need_summary_check = camel_local_store_get_need_summary_check (ls);
+ filter_junk = filter_junk || camel_local_store_is_main_store (CAMEL_LOCAL_STORE (parent_store));
+ if (filter_all || filter_junk) {
+ camel_folder_set_flags (folder, camel_folder_get_flags (folder) |
+ (filter_all ? CAMEL_FOLDER_FILTER_RECENT : 0) |
+ (filter_junk ? CAMEL_FOLDER_FILTER_JUNK : 0));
+ }
+
lf->folder_path = camel_local_store_get_full_path (ls, full_name);
lf->index_path = camel_local_store_get_meta_path (ls, full_name, ".ibex");
statepath = camel_local_store_get_meta_path (ls, full_name, ".cmeta");