[evolution-mapi] Let work "Check for new messages in all folders" as expected



commit b044c9e3d4d1def02c1dde2a011ac1c2d3a27bb3
Author: Milan Crha <mcrha redhat com>
Date:   Thu Jun 24 18:24:57 2010 +0200

    Let work "Check for new messages in all folders" as expected

 src/camel/camel-mapi-store.c |   10 ++++++++++
 1 files changed, 10 insertions(+), 0 deletions(-)
---
diff --git a/src/camel/camel-mapi-store.c b/src/camel/camel-mapi-store.c
index fd79ac1..40f4c32 100644
--- a/src/camel/camel-mapi-store.c
+++ b/src/camel/camel-mapi-store.c
@@ -101,6 +101,8 @@ static gboolean mapi_fid_is_system_folder (CamelMapiStore *mapi_store, const gch
 static void mapi_update_hash_table_type (CamelMapiStore *store, const gchar *full_name, guint *folder_type);
 static CamelFolder *mapi_get_trash (CamelStore *store, CamelException *ex);
 static CamelFolder *mapi_get_junk (CamelStore *store, CamelException *ex);
+static gboolean mapi_can_refresh_folder (CamelStore *store, CamelFolderInfo *info, CamelException *ex);
+
 static void mapi_update_folder_hash_tables (CamelMapiStore *store, const gchar *name, const gchar *fid, const gchar *parent_id);
 guint mapi_folders_hash_table_type_lookup (CamelMapiStore *store, const gchar *name);
 /* static const gchar * mapi_folders_hash_table_name_lookup (CamelMapiStore *store, const gchar *fid, gboolean use_cache); */
@@ -237,6 +239,7 @@ camel_mapi_store_class_init (CamelMapiStoreClass *class)
 	store_class->noop = mapi_noop;
 	store_class->get_trash = mapi_get_trash;
 	store_class->get_junk = mapi_get_junk;
+	store_class->can_refresh_folder = mapi_can_refresh_folder;
 }
 
 /*
@@ -1864,3 +1867,10 @@ mapi_get_junk (CamelStore *store, CamelException *ex)
 {
 	return mapi_get_folder_with_type (store, CAMEL_FOLDER_TYPE_JUNK, ex);
 }
+
+static gboolean
+mapi_can_refresh_folder (CamelStore *store, CamelFolderInfo *info, CamelException *ex)
+{
+	return CAMEL_STORE_CLASS(camel_mapi_store_parent_class)->can_refresh_folder (store, info, ex) ||
+	      (camel_url_get_param (((CamelService *)store)->url, "check_all") != NULL);
+}



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]