[evolution-data-server] Use the new base directory functions.



commit 6b3281bdd495206dec6c6e6b361fbfdbaa6dc560
Author: Matthew Barnes <mbarnes redhat com>
Date:   Thu Jul 8 18:12:01 2010 -0400

    Use the new base directory functions.
    
    Put an end to hard-coding "$HOME/.evolution".

 .../backends/groupwise/e-book-backend-groupwise.c  |   10 ++-
 addressbook/backends/ldap/e-book-backend-ldap.c    |    6 +-
 addressbook/libebook/e-book.c                      |    8 +-
 addressbook/libedata-book/e-book-backend-cache.c   |   23 ++---
 .../libedata-book/e-book-backend-db-cache.c        |   25 ++---
 calendar/backends/caldav/e-cal-backend-caldav.c    |   14 ++--
 calendar/backends/file/e-cal-backend-file.c        |    6 +-
 .../backends/groupwise/e-cal-backend-groupwise.c   |   32 +++----
 calendar/libecal/e-cal.c                           |  110 +++++++++----------
 calendar/libedata-cal/e-cal-backend-cache.c        |   22 ++---
 calendar/libedata-cal/e-cal-backend-store.c        |   21 ++--
 calendar/tests/ecal/test-ecal.c                    |   40 +++++--
 .../libedataserverui/tmpl/e-source-combo-box.sgml  |    1 +
 libedataserver/e-categories.c                      |    8 +-
 14 files changed, 162 insertions(+), 164 deletions(-)
---
diff --git a/addressbook/backends/groupwise/e-book-backend-groupwise.c b/addressbook/backends/groupwise/e-book-backend-groupwise.c
index 2b01c46..8e66a84 100644
--- a/addressbook/backends/groupwise/e-book-backend-groupwise.c
+++ b/addressbook/backends/groupwise/e-book-backend-groupwise.c
@@ -3504,11 +3504,15 @@ e_book_backend_groupwise_load_source (EBookBackend           *backend,
 	}
 
 	g_free (priv->summary_file_name);
-	tmp = g_build_filename (g_get_home_dir(), ".evolution/addressbook" , uri, priv->book_name, NULL);
-        priv->summary_file_name = g_strconcat (tmp, ".summary", NULL);
+	tmp = g_build_filename (
+		e_get_user_data_dir (), "addressbook",
+		uri, priv->book_name, NULL);
+	priv->summary_file_name = g_strconcat (tmp, ".summary", NULL);
 	g_free (tmp);
 
-	dirname = g_build_filename (g_get_home_dir(), ".evolution/cache/addressbook", uri, priv->book_name, NULL);
+	dirname = g_build_filename (
+		g_get_user_cache_dir (), "addressbook",
+		uri, priv->book_name, NULL);
 	filename = g_build_filename (dirname, "cache.db", NULL);
 
 	db_error = e_db3_utils_maybe_recover (filename);
diff --git a/addressbook/backends/ldap/e-book-backend-ldap.c b/addressbook/backends/ldap/e-book-backend-ldap.c
index 1a90b97..b804e87 100644
--- a/addressbook/backends/ldap/e-book-backend-ldap.c
+++ b/addressbook/backends/ldap/e-book-backend-ldap.c
@@ -877,10 +877,8 @@ e_book_backend_ldap_connect (EBookBackendLDAP *bl)
 
 #ifdef SUNLDAP
 	if (bl->priv->use_tls != E_BOOK_BACKEND_LDAP_TLS_NO) {
-		gchar *evolution_dir_path =
-			g_build_path ("/", g_get_home_dir (), ".evolution", NULL);
-		ldap_flag = ldapssl_client_init (evolution_dir_path, NULL);
-		g_free (evolution_dir_path);
+		const gchar *user_data_dir = e_get_user_data_dir ();
+		ldap_flag = ldapssl_client_init (user_data_dir, NULL);
 	}
 #endif
 
diff --git a/addressbook/libebook/e-book.c b/addressbook/libebook/e-book.c
index ac7f94a..c2a13e2 100644
--- a/addressbook/libebook/e-book.c
+++ b/addressbook/libebook/e-book.c
@@ -27,6 +27,7 @@
 #include <glib/gi18n-lib.h>
 #include <dbus/dbus-glib.h>
 #include <dbus/dbus-glib-lowlevel.h>
+#include <libedataserver/e-data-server-util.h>
 #include "e-book.h"
 #include "e-error.h"
 #include "e-contact.h"
@@ -2410,11 +2411,12 @@ e_book_new_system_addressbook (GError **error)
 	ESource *system_source = NULL;
 	EBook *book;
 	gchar *uri, *filename;
+	const gchar *user_data_dir;
 	struct check_system_data csd;
 
-	filename = g_build_filename (g_get_home_dir(),
-				     ".evolution/addressbook/local/system",
-				     NULL);
+	user_data_dir = e_get_user_data_dir ();
+	filename = g_build_filename (
+		user_data_dir, "addressbook", "local", "system", NULL);
 	uri = g_filename_to_uri (filename, NULL, NULL);
 	g_free (filename);
 
diff --git a/addressbook/libedata-book/e-book-backend-cache.c b/addressbook/libedata-book/e-book-backend-cache.c
index 54df53a..7f7dffc 100644
--- a/addressbook/libedata-book/e-book-backend-cache.c
+++ b/addressbook/libedata-book/e-book-backend-cache.c
@@ -24,6 +24,7 @@
 #endif
 
 #include <string.h>
+#include <libedataserver/e-data-server-util.h>
 #include "e-book-backend-cache.h"
 #include "e-book-backend-sexp.h"
 
@@ -44,24 +45,18 @@ static GObjectClass *parent_class = NULL;
 static gchar *
 get_filename_from_uri (const gchar *uri)
 {
+	const gchar *user_cache_dir;
 	gchar *mangled_uri, *filename;
-	gint i;
-
-	/* mangle the URI to not contain invalid characters */
-	mangled_uri = g_strdup (uri);
-	for (i = 0; i < strlen (mangled_uri); i++) {
-		switch (mangled_uri[i]) {
-		case ':' :
-		case '/' :
-			mangled_uri[i] = '_';
-		}
-	}
 
-	/* generate the file name */
-	filename = g_build_filename (g_get_home_dir (), ".evolution/cache/addressbook",
-				     mangled_uri, "cache.xml", NULL);
+	user_cache_dir = e_get_user_cache_dir ();
+
+	/* Mangle the URI to not contain invalid characters. */
+	mangled_uri = g_strdelimit (g_strdup (uri), ":/", '_');
+
+	filename = g_build_filename (
+		user_cache_dir, "addressbook",
+		mangled_uri, "cache.xml", NULL);
 
-	/* free memory */
 	g_free (mangled_uri);
 
 	return filename;
diff --git a/addressbook/libedata-book/e-book-backend-db-cache.c b/addressbook/libedata-book/e-book-backend-db-cache.c
index 28c2caf..ee02c4f 100644
--- a/addressbook/libedata-book/e-book-backend-db-cache.c
+++ b/addressbook/libedata-book/e-book-backend-db-cache.c
@@ -24,6 +24,7 @@
 #endif
 
 #include <string.h>
+#include <libedataserver/e-data-server-util.h>
 #include "e-book-backend-db-cache.h"
 #include "e-book-backend.h"
 #include "e-book-backend-sexp.h"
@@ -40,24 +41,18 @@ string_to_dbt(const gchar *str, DBT *dbt)
 static gchar *
 get_filename_from_uri (const gchar *uri)
 {
+	const gchar *user_cache_dir;
 	gchar *mangled_uri, *filename;
-	gint i;
-
-	/* mangle the URI to not contain invalid characters */
-	mangled_uri = g_strdup (uri);
-	for (i = 0; i < strlen (mangled_uri); i++) {
-		switch (mangled_uri[i]) {
-		case ':' :
-		case '/' :
-			mangled_uri[i] = '_';
-		}
-	}
 
-	/* generate the file name */
-	filename = g_build_filename (g_get_home_dir (), ".evolution/cache/addressbook",
-				     mangled_uri, "cache.db", NULL);
+	user_cache_dir = e_get_user_cache_dir ();
+
+	/* Mangle the URI to not contain invalid characters. */
+	mangled_uri = g_strdelimit (g_strdup (uri), ":/", '_');
+
+	filename = g_build_filename (
+		user_cache_dir, "addressbook",
+		mangled_uri, "cache.db", NULL);
 
-	/* free memory */
 	g_free (mangled_uri);
 
 	return filename;
diff --git a/calendar/backends/caldav/e-cal-backend-caldav.c b/calendar/backends/caldav/e-cal-backend-caldav.c
index 41c898d..9830c39 100644
--- a/calendar/backends/caldav/e-cal-backend-caldav.c
+++ b/calendar/backends/caldav/e-cal-backend-caldav.c
@@ -28,8 +28,9 @@
 #include <gconf/gconf-client.h>
 #include <glib/gstdio.h>
 #include <glib/gi18n-lib.h>
-#include "libedataserver/e-xml-hash-utils.h"
-#include "libedataserver/e-proxy.h"
+#include <libedataserver/e-data-server-util.h>
+#include <libedataserver/e-xml-hash-utils.h>
+#include <libedataserver/e-proxy.h>
 #include <libecal/e-cal-recur.h>
 #include <libecal/e-cal-util.h>
 #include <libecal/e-cal-time-util.h>
@@ -2133,6 +2134,7 @@ initialize_backend (ECalBackendCalDAV *cbdav)
 	gsize                     len;
 	const gchar              *refresh;
 	const gchar              *stype;
+	const gchar              *user_cache_dir;
 	gchar                    *filename;
 	gchar                    *mangled_uri;
 
@@ -2253,11 +2255,9 @@ initialize_backend (ECalBackendCalDAV *cbdav)
 	}
 
 	/* Set the local attachment store */
-	mangled_uri = g_strdup (uri);
-	mangled_uri = g_strdelimit (mangled_uri, ":/", '_');
-	filename = g_build_filename (g_get_home_dir (),
-			".evolution", "cache", stype,
-			mangled_uri, NULL);
+	user_cache_dir = e_get_user_cache_dir ();
+	mangled_uri = g_strdelimit (g_strdup (uri), ":/", '_');
+	filename = g_build_filename (user_cache_dir, stype, mangled_uri, NULL);
 	g_free (mangled_uri);
 	if (priv->local_attachments_store)
 		g_free (priv->local_attachments_store);
diff --git a/calendar/backends/file/e-cal-backend-file.c b/calendar/backends/file/e-cal-backend-file.c
index 9742971..f40d0d2 100644
--- a/calendar/backends/file/e-cal-backend-file.c
+++ b/calendar/backends/file/e-cal-backend-file.c
@@ -2717,13 +2717,15 @@ fetch_attachments (ECalBackendSync *backend, ECalComponent *comp)
 	gchar  *attach_store;
 	gchar *dest_url, *dest_file;
 	gint fd;
+	const gchar *user_data_dir;
 	const gchar *uid;
 
 	e_cal_component_get_attachment_list (comp, &attach_list);
 	e_cal_component_get_uid (comp, &uid);
 	/*FIXME  get the uri rather than computing the path */
-	attach_store = g_build_filename (g_get_home_dir (),
-			".evolution/calendar/local/system", NULL);
+	user_data_dir = e_get_user_data_dir ();
+	attach_store = g_build_filename (
+		user_data_dir, "calendar", "local", "system", NULL);
 
 	for (l = attach_list; l; l = l->next) {
 		gchar *sfname = (gchar *)l->data;
diff --git a/calendar/backends/groupwise/e-cal-backend-groupwise.c b/calendar/backends/groupwise/e-cal-backend-groupwise.c
index a98e2b0..9350a33 100644
--- a/calendar/backends/groupwise/e-cal-backend-groupwise.c
+++ b/calendar/backends/groupwise/e-cal-backend-groupwise.c
@@ -33,8 +33,9 @@
 #include <unistd.h>
 #include <glib/gstdio.h>
 #include <glib/gi18n-lib.h>
-#include "libedataserver/e-xml-hash-utils.h"
-#include "libedataserver/e-url.h"
+#include <libedataserver/e-data-server-util.h>
+#include <libedataserver/e-xml-hash-utils.h>
+#include <libedataserver/e-url.h>
 #include <libedata-cal/e-cal-backend-cache.h>
 #include <libedata-cal/e-cal-backend-file-store.h>
 #include <libedata-cal/e-cal-backend-util.h>
@@ -1332,9 +1333,9 @@ e_cal_backend_groupwise_open (ECalBackendSync *backend, EDataCal *cal, gboolean
 	ECalBackendSyncStatus status;
 	ECalSourceType source_type;
 	const gchar *source = NULL;
+	const gchar *user_cache_dir;
 	gchar *filename;
 	gchar *mangled_uri;
-	gint i;
 
 	cbgw = E_CAL_BACKEND_GROUPWISE (backend);
 	priv = cbgw->priv;
@@ -1396,27 +1397,20 @@ e_cal_backend_groupwise_open (ECalBackendSync *backend, EDataCal *cal, gboolean
 	priv->username = g_strdup (username);
 	priv->password = g_strdup (password);
 
-	/* Set the local attachment store*/
+	/* Set the local attachment store. */
 	mangled_uri = g_strdup (e_cal_backend_get_uri (E_CAL_BACKEND (cbgw)));
-	/* mangle the URI to not contain invalid characters */
-	for (i = 0; i < strlen (mangled_uri); i++) {
-		switch (mangled_uri[i]) {
-		case ':' :
-		case '/' :
-			mangled_uri[i] = '_';
-		}
-	}
 
-	filename = g_build_filename (g_get_home_dir (),
-				     ".evolution/cache/", source,
-				     mangled_uri,
-				     NULL);
-	g_free (mangled_uri);
-	if (priv->local_attachments_store)
-		g_free (priv->local_attachments_store);
+	/* Mangle the URI to not contain invalid characters. */
+	g_strdelimit (mangled_uri, ":/", '_');
+
+	user_cache_dir = e_get_user_cache_dir ();
+	filename = g_build_filename (user_cache_dir, source, mangled_uri, NULL);
 
+	g_free (priv->local_attachments_store);
 	priv->local_attachments_store =
 		g_filename_to_uri (filename, NULL, NULL);
+
+	g_free (mangled_uri);
 	g_free (filename);
 
 	/* FIXME: no need to set it online here when we implement the online/offline stuff correctly */
diff --git a/calendar/libecal/e-cal.c b/calendar/libecal/e-cal.c
index d28b2b8..16f9599 100644
--- a/calendar/libecal/e-cal.c
+++ b/calendar/libecal/e-cal.c
@@ -32,6 +32,7 @@
 
 #include <libical/ical.h>
 #include <libedataserver/e-url.h>
+#include <libedataserver/e-data-server-util.h>
 
 #include <dbus/dbus-glib-lowlevel.h>
 #include <dbus/dbus.h>
@@ -730,29 +731,22 @@ static void
 set_local_attachment_store (ECal *ecal)
 {
 	ECalPrivate *priv;
+	const gchar *user_cache_dir;
 	gchar *mangled_uri;
-	gint i;
+
+	user_cache_dir = e_get_user_cache_dir ();
 
 	priv = ecal->priv;
-	mangled_uri = g_strdup (priv->uri);
-	/* mangle the URI to not contain invalid characters */
-	for (i = 0; i < strlen (mangled_uri); i++) {
-		switch (mangled_uri[i]) {
-		case ':' :
-		case '/' :
-			mangled_uri[i] = '_';
-		}
-	}
 
-	/* the file backend uses its uri as the attachment store*/
+	/* Mangle the URI to not contain invalid characters. */
+	mangled_uri = g_strdelimit (g_strdup (priv->uri), ":/", '_');
+
+	/* The file backend uses its uri as the attachment store. */
 	if (g_str_has_prefix (priv->uri, "file://")) {
 		priv->local_attachment_store = g_strdup (priv->uri);
 	} else if (g_str_has_prefix (priv->uri, "groupwise://")) {
-		/* points to the location of the cache*/
-		gchar *filename = g_build_filename (g_get_home_dir (),
-						    ".evolution/cache/calendar",
-						    mangled_uri,
-						    NULL);
+		gchar *filename = g_build_filename (
+			user_cache_dir, "calendar", mangled_uri, NULL);
 		priv->local_attachment_store =
 			g_filename_to_uri (filename, NULL, NULL);
 		g_free (filename);
@@ -765,35 +759,26 @@ set_local_attachment_store (ECal *ecal)
 			g_filename_to_uri (filename, NULL, NULL);
 		g_free (filename);
 	} else if (g_str_has_prefix (priv->uri, "scalix://")) {
-		gchar *filename = g_build_filename (g_get_home_dir (),
-						    ".evolution/cache/scalix",
-						    mangled_uri,
-						    "attach",
-						    NULL);
+		gchar *filename = g_build_filename (
+			user_cache_dir, "scalix", mangled_uri, "attach", NULL);
                 priv->local_attachment_store =
 			g_filename_to_uri (filename, NULL, NULL);
 		g_free (filename);
         } else if (g_str_has_prefix (priv->uri, "google://")) {
-		gchar *filename = g_build_filename (g_get_home_dir (),
-						    ".evolution/cache/calendar",
-						    mangled_uri,
-						    NULL);
+		gchar *filename = g_build_filename (
+			user_cache_dir, "calendar", mangled_uri, NULL);
 		priv->local_attachment_store =
 			g_filename_to_uri (filename, NULL, NULL);
 		g_free (filename);
 	} else if (g_str_has_prefix (priv->uri, "mapi://")) {
-		gchar *filename = g_build_filename (g_get_home_dir (),
-						    ".evolution/cache/calendar",
-						    mangled_uri,
-						    NULL);
+		gchar *filename = g_build_filename (
+			user_cache_dir, "calendar", mangled_uri, NULL);
 		priv->local_attachment_store =
 			g_filename_to_uri (filename, NULL, NULL);
 		g_free (filename);
 	} else if (g_str_has_prefix (priv->uri, "caldav://")) {
-		gchar *filename = g_build_filename (g_get_home_dir (),
-				".evolution/cache/calendar",
-				mangled_uri,
-				NULL);
+		gchar *filename = g_build_filename (
+			user_cache_dir, "calendar", mangled_uri, NULL);
 		priv->local_attachment_store =
 			g_filename_to_uri (filename, NULL, NULL);
 		g_free (filename);
@@ -966,26 +951,29 @@ e_cal_new_from_uri (const gchar *uri, ECalSourceType type)
 /**
  * e_cal_new_system_calendar:
  *
- * Create a calendar client for the system calendar, which should always be present in
- * all Evolution installations. This does not open the calendar itself,
- * for that, #e_cal_open or #e_cal_open_async needs to be called.
+ * Create a calendar client for the system calendar, which should always be
+ * present in all Evolution installations. This does not open the calendar
+ * itself -- for that use e_cal_open() or e_cal_open_async().
  *
- * Returns: A newly-created calendar client, or NULL if the client could
+ * Returns: A newly-created calendar client, or %NULL if the client could
  * not be constructed.
  */
 ECal *
 e_cal_new_system_calendar (void)
 {
 	ECal *ecal;
+	const gchar *user_data_dir;
 	gchar *filename;
 	gchar *uri;
 
-	filename = g_build_filename (g_get_home_dir (),
-				     ".evolution/calendar/local/system",
-				     NULL);
+	user_data_dir = e_get_user_data_dir ();
+	filename = g_build_filename (
+		user_data_dir, "calendar", "local", "system", NULL);
+
 	uri = g_filename_to_uri (filename, NULL, NULL);
-	g_free (filename);
 	ecal = e_cal_new_from_uri (uri, E_CAL_SOURCE_TYPE_EVENT);
+
+	g_free (filename);
 	g_free (uri);
 
 	return ecal;
@@ -994,26 +982,29 @@ e_cal_new_system_calendar (void)
 /**
  * e_cal_new_system_tasks:
  *
- * Create a calendar client for the system task list, which should always be present in
- * all Evolution installations. This does not open the tasks list itself,
- * for that, #e_cal_open or #e_cal_open_async needs to be called.
+ * Create a calendar client for the system task list, which should always
+ * be present in all Evolution installations. This does not open the task
+ * list itself -- for that use e_cal_open() or e_cal_open_async().
  *
- * Returns: A newly-created calendar client, or NULL if the client could
+ * Returns: A newly-created calendar client, or %NULL if the client could
  * not be constructed.
  */
 ECal *
 e_cal_new_system_tasks (void)
 {
 	ECal *ecal;
+	const gchar *user_data_dir;
 	gchar *filename;
 	gchar *uri;
 
-	filename = g_build_filename (g_get_home_dir (),
-				     ".evolution/tasks/local/system",
-				     NULL);
+	user_data_dir = e_get_user_data_dir ();
+	filename = g_build_filename (
+		user_data_dir, "tasks", "local", "system", NULL);
+
 	uri = g_filename_to_uri (filename, NULL, NULL);
-	g_free (filename);
 	ecal = e_cal_new_from_uri (uri, E_CAL_SOURCE_TYPE_TODO);
+
+	g_free (filename);
 	g_free (uri);
 
 	return ecal;
@@ -1022,26 +1013,29 @@ e_cal_new_system_tasks (void)
 /**
  * e_cal_new_system_memos:
  *
- * Create a calendar client for the system memos, which should always be present
- * in all Evolution installations. This does not open the memos itself, for
- * that, #e_cal_open or #e_cal_open_async needs to be called.
+ * Create a calendar client for the system memo list, which should always
+ * be present in all Evolution installations. This does not open the memo
+ * list itself -- for that use e_cal_open() or e_cal_open_async().
  *
- * Returns: A newly-created calendar client, or NULL if the client could
+ * Returns: A newly-created calendar client, or %NULL if the client could
  * not be constructed.
  */
 ECal *
 e_cal_new_system_memos (void)
 {
 	ECal *ecal;
-	gchar *uri;
+	const gchar *user_data_dir;
 	gchar *filename;
+	gchar *uri;
+
+	user_data_dir = e_get_user_data_dir ();
+	filename = g_build_filename (
+		user_data_dir, "memos", "local", "system", NULL);
 
-	filename = g_build_filename (g_get_home_dir (),
-				     ".evolution/memos/local/system",
-				     NULL);
 	uri = g_filename_to_uri (filename, NULL, NULL);
-	g_free (filename);
 	ecal = e_cal_new_from_uri (uri, E_CAL_SOURCE_TYPE_JOURNAL);
+
+	g_free (filename);
 	g_free (uri);
 
 	return ecal;
diff --git a/calendar/libedata-cal/e-cal-backend-cache.c b/calendar/libedata-cal/e-cal-backend-cache.c
index f84e9d4..646c8b2 100644
--- a/calendar/libedata-cal/e-cal-backend-cache.c
+++ b/calendar/libedata-cal/e-cal-backend-cache.c
@@ -27,6 +27,7 @@
 #include <glib.h>
 #include <glib/gstdio.h>
 #include <libecal/e-cal-util.h>
+#include <libedataserver/e-data-server-util.h>
 #include "e-cal-backend-cache.h"
 
 G_DEFINE_TYPE (ECalBackendCache, e_cal_backend_cache, E_TYPE_FILE_CACHE)
@@ -51,7 +52,7 @@ get_filename_from_uri (const gchar *uri, ECalSourceType source_type)
 {
 	gchar *mangled_uri, *filename;
 	const gchar *source = NULL;
-	gint i;
+	const gchar *user_cache_dir;
 
 	switch (source_type) {
 		case E_CAL_SOURCE_TYPE_EVENT :
@@ -61,28 +62,19 @@ get_filename_from_uri (const gchar *uri, ECalSourceType source_type)
 			source = "tasks";
 			break;
 		case E_CAL_SOURCE_TYPE_JOURNAL :
-			source = "journal";
+			source = "memos";
 			break;
 		case E_CAL_SOURCE_TYPE_LAST :
 		default :
 			break;
 	}
 
-	/* mangle the URI to not contain invalid characters */
-	mangled_uri = g_strdup (uri);
-	for (i = 0; i < strlen (mangled_uri); i++) {
-		switch (mangled_uri[i]) {
-		case ':' :
-		case '/' :
-			mangled_uri[i] = '_';
-		}
-	}
+	/* Mangle the URI to not contain invalid characters. */
+	mangled_uri = g_strdelimit (g_strdup (uri), ":/", '_');
 
-	/* generate the file name */
-	filename = g_build_filename (g_get_home_dir (), ".evolution/cache/",
-				source, mangled_uri, "cache.xml", NULL);
+	filename = g_build_filename (
+		user_cache_dir, source, mangled_uri, "cache.xml", NULL);
 
-	/* free memory */
 	g_free (mangled_uri);
 
 	return filename;
diff --git a/calendar/libedata-cal/e-cal-backend-store.c b/calendar/libedata-cal/e-cal-backend-store.c
index cf81e54..00eab78 100644
--- a/calendar/libedata-cal/e-cal-backend-store.c
+++ b/calendar/libedata-cal/e-cal-backend-store.c
@@ -21,6 +21,8 @@
 
 #include "e-cal-backend-store.h"
 
+#include <libedataserver/e-data-server-util.h>
+
 G_DEFINE_TYPE (ECalBackendStore, e_cal_backend_store, G_TYPE_OBJECT)
 
 #define GET_PRIVATE(o) \
@@ -64,19 +66,18 @@ set_store_path (ECalBackendStore *store)
 
 	priv = GET_PRIVATE(store);
 
-	if (priv->uri)
-	{
-		const gchar *component = get_component (priv->source_type);
+	if (priv->uri) {
+		const gchar *component;
+		const gchar *user_cache_dir;
 		gchar *mangled_uri = NULL;
 
-		mangled_uri = g_strdup (priv->uri);
-		mangled_uri = g_strdelimit (mangled_uri, ":/",'_');
-
-		if (priv->path)
-			g_free (priv->path);
+		user_cache_dir = e_get_user_cache_dir ();
+		component = get_component (priv->source_type);
+		mangled_uri = g_strdelimit (g_strdup (priv->uri), ":/", '_');
 
-		priv->path = g_build_filename (g_get_home_dir (), ".evolution/cache/",
-				component, mangled_uri, NULL);
+		g_free (priv->path);
+		priv->path = g_build_filename (
+			user_cache_dir, component, mangled_uri, NULL);
 
 		g_free (mangled_uri);
 	}
diff --git a/calendar/tests/ecal/test-ecal.c b/calendar/tests/ecal/test-ecal.c
index b7ce7ed..1baecab 100644
--- a/calendar/tests/ecal/test-ecal.c
+++ b/calendar/tests/ecal/test-ecal.c
@@ -27,6 +27,7 @@
 #include <libecal/e-cal.h>
 #include <libecal/e-cal-component.h>
 #include <libecal/e-cal-time-util.h>
+#include <libedataserver/e-data-server-util.h>
 #include <libical/ical.h>
 
 /* start_testing_scaffold */
@@ -446,13 +447,18 @@ static const gchar *
 test_new_system_calendar(void)
 {
 	ECal *cal;
-	gchar *uri;
+	const gchar *user_data_dir;
+	gchar *filename;
 	gboolean created;
 
 	cal = e_cal_new_system_calendar ();
-	uri = g_build_filename (g_get_home_dir (), ".evolution", "calendar", "local", "system", "calendar.ics", NULL);
-	created = g_file_test (uri, G_FILE_TEST_EXISTS);
-	g_free (uri);
+
+	user_data_dir = e_get_user_data_dir ();
+	filename = g_build_filename (
+		user_data_dir, "calendar", "local",
+		"system", "calendar.ics", NULL);
+	created = g_file_test (filename, G_FILE_TEST_EXISTS);
+	g_free (filename);
 
 	mu_assert ("Test creation of default system calendar : Failed", created);
 
@@ -463,13 +469,18 @@ static const gchar *
 test_new_system_tasks(void)
 {
 	ECal *cal;
-	gchar *uri;
+	const gchar *user_data_dir;
+	gchar *filename;
 	gboolean created;
 
 	cal = e_cal_new_system_tasks ();
-	uri = g_build_filename (g_get_home_dir (), ".evolution", "tasks", "local", "system", "tasks.ics", NULL);
-	created = g_file_test (uri, G_FILE_TEST_EXISTS);
-	g_free (uri);
+
+	user_data_dir = e_get_user_data_dir ();
+	filename = g_build_filename (
+		user_data_dir, "tasks", "local",
+		"system", "tasks.ics", NULL);
+	created = g_file_test (filename, G_FILE_TEST_EXISTS);
+	g_free (filename);
 
 	mu_assert ("Test creation of default system tasks : Failed", created);
 
@@ -480,13 +491,18 @@ static const gchar *
 test_new_system_memos(void)
 {
 	ECal *cal;
-	gchar *uri;
+	const gchar *user_data_dir;
+	gchar *filename;
 	gboolean created;
 
 	cal = e_cal_new_system_memos ();
-	uri = g_build_filename (g_get_home_dir (), ".evolution", "memos", "local", "system", "journal.ics", NULL);
-	created = g_file_test (uri, G_FILE_TEST_EXISTS);
-	g_free (uri);
+
+	user_data_dir = e_get_user_data_dir ();
+	filename = g_build_filename (
+		user_data_dir, "memos", "local",
+		"system", "journal.ics", NULL);
+	created = g_file_test (filename, G_FILE_TEST_EXISTS);
+	g_free (filename);
 
 	mu_assert ("Test creation of default system memos : Failed", created);
 
diff --git a/docs/reference/libedataserverui/tmpl/e-source-combo-box.sgml b/docs/reference/libedataserverui/tmpl/e-source-combo-box.sgml
index 64de025..8e0cfc0 100644
--- a/docs/reference/libedataserverui/tmpl/e-source-combo-box.sgml
+++ b/docs/reference/libedataserverui/tmpl/e-source-combo-box.sgml
@@ -92,5 +92,6 @@ ESourceComboBox
 
 @source_combo_box: 
 @uid: 
+ Returns: 
 
 
diff --git a/libedataserver/e-categories.c b/libedataserver/e-categories.c
index 4d8ee06..c087d15 100644
--- a/libedataserver/e-categories.c
+++ b/libedataserver/e-categories.c
@@ -22,6 +22,7 @@
 #include <libxml/parser.h>
 #include <glib/gi18n-lib.h>
 #include <gconf/gconf-client.h>
+#include "e-data-server-util.h"
 #include "e-categories.h"
 
 #include "libedataserver-private.h"
@@ -119,8 +120,11 @@ static gboolean changed = FALSE;
 static gchar *
 build_categories_filename (void)
 {
-	return g_build_filename (g_get_home_dir (),
-		".evolution", "categories.xml", NULL);
+	const gchar *user_data_dir;
+
+	user_data_dir = e_get_user_data_dir ();
+
+	return g_build_filename (user_data_dir, "categories.xml", NULL);
 }
 
 static void



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