From f579563b058cfc099ebf858b2ef096d5e61bda92 Mon Sep 17 00:00:00 2001 From: Milan Crha Date: Mon, 26 Sep 2011 12:13:20 +0200 Subject: Bug #656473 - Store server folder cache in user's cache directory --- mail/e-mail-session.c | 17 ++++++++++++++++- mail/e-mail-session.h | 1 + 2 files changed, 17 insertions(+), 1 deletion(-) (limited to 'mail') diff --git a/mail/e-mail-session.c b/mail/e-mail-session.c index 7addaece4a..7ed8720e75 100644 --- a/mail/e-mail-session.c +++ b/mail/e-mail-session.c @@ -101,6 +101,7 @@ enum { }; static gchar *mail_data_dir; +static gchar *mail_cache_dir; static gchar *mail_config_dir; #if 0 @@ -1220,12 +1221,16 @@ EMailSession * e_mail_session_new (void) { const gchar *user_data_dir; + const gchar *user_cache_dir; user_data_dir = mail_session_get_data_dir (); + user_cache_dir = mail_session_get_cache_dir (); return g_object_new ( E_TYPE_MAIL_SESSION, - "user-data-dir", user_data_dir, NULL); + "user-data-dir", user_data_dir, + "user-cache-dir", user_cache_dir, + NULL); } MailFolderCache * @@ -1600,6 +1605,16 @@ mail_session_get_data_dir (void) return mail_data_dir; } +const gchar * +mail_session_get_cache_dir (void) +{ + if (G_UNLIKELY (mail_cache_dir == NULL)) + mail_cache_dir = g_build_filename ( + e_get_user_cache_dir (), "mail", NULL); + + return mail_cache_dir; +} + const gchar * mail_session_get_config_dir (void) { diff --git a/mail/e-mail-session.h b/mail/e-mail-session.h index 653404ca7a..165b335a19 100644 --- a/mail/e-mail-session.h +++ b/mail/e-mail-session.h @@ -116,6 +116,7 @@ CamelFolder * e_mail_session_uri_to_folder_finish void mail_session_flush_filter_log (EMailSession *session); const gchar * mail_session_get_data_dir (void); +const gchar * mail_session_get_cache_dir (void); const gchar * mail_session_get_config_dir (void); G_END_DECLS -- cgit