[evolution/wip/gsettings] Replace camel_store_folder_uri_equal() with e_mail_folder_uri_equal().



commit 59958c9906eade7264d8564e5448c2b1bea2503d
Author: Matthew Barnes <mbarnes redhat com>
Date:   Tue May 3 07:06:10 2011 -0400

    Replace camel_store_folder_uri_equal() with e_mail_folder_uri_equal().

 mail/em-folder-tree-model.c |    7 +++-
 mail/em-utils.c             |   82 +++++++++++++++++++++++--------------------
 mail/mail-vfolder.c         |   65 ++++++++++++++++++++--------------
 3 files changed, 87 insertions(+), 67 deletions(-)
---
diff --git a/mail/em-folder-tree-model.c b/mail/em-folder-tree-model.c
index 7a7a5f8..072f5e4 100644
--- a/mail/em-folder-tree-model.c
+++ b/mail/em-folder-tree-model.c
@@ -46,6 +46,7 @@
 #include "em-folder-utils.h"
 #include "em-event.h"
 
+#include "e-mail-folder-utils.h"
 #include "e-mail-local.h"
 #include "e-mail-store.h"
 #include "shell/e-shell.h"
@@ -738,13 +739,15 @@ em_folder_tree_model_set_folder_info (EMFolderTreeModel *model,
 	if (si->account && (flags & CAMEL_FOLDER_TYPE_MASK) == 0) {
 		if (!is_drafts && si->account->drafts_folder_uri) {
 			gchar *curi = em_uri_to_camel (si->account->drafts_folder_uri);
-			is_drafts = camel_store_folder_uri_equal (si->store, fi->uri, curi);
+			is_drafts = e_mail_folder_uri_equal (
+				CAMEL_SESSION (session), fi->uri, curi);
 			g_free (curi);
 		}
 
 		if (si->account->sent_folder_uri) {
 			gchar *curi = em_uri_to_camel (si->account->sent_folder_uri);
-			if (camel_store_folder_uri_equal (si->store, fi->uri, curi)) {
+			if (e_mail_folder_uri_equal (
+				CAMEL_SESSION (session), fi->uri, curi)) {
 				add_flags = CAMEL_FOLDER_TYPE_SENT;
 			}
 			g_free (curi);
diff --git a/mail/em-utils.c b/mail/em-utils.c
index 13b55ed..ecd787c 100644
--- a/mail/em-utils.c
+++ b/mail/em-utils.c
@@ -70,6 +70,7 @@
 #include "em-utils.h"
 #include "em-composer-utils.h"
 #include "em-format-quote.h"
+#include "e-mail-folder-utils.h"
 #include "e-mail-local.h"
 #include "e-mail-session.h"
 
@@ -230,7 +231,7 @@ em_utils_check_user_can_send_mail (void)
 
 	account_list = e_get_account_list ();
 
-	if (e_list_length ((EList *) account_list) == 0)
+	if (e_list_length (E_LIST (account_list)) == 0)
 		return FALSE;
 
 	if (!(account = e_get_default_account ()))
@@ -1003,11 +1004,12 @@ gboolean
 em_utils_folder_is_templates (CamelFolder *folder, const gchar *uri)
 {
 	CamelFolder *local_templates_folder;
-	CamelStore *parent_store;
+	CamelSession *session;
+	CamelStore *store;
 	EAccountList *account_list;
 	EAccount *account;
 	EIterator *iterator;
-	gint is = FALSE;
+	gint is_templates = FALSE;
 	gchar *templates_uri;
 
 	local_templates_folder =
@@ -1019,21 +1021,20 @@ em_utils_folder_is_templates (CamelFolder *folder, const gchar *uri)
 	if (folder == NULL || uri == NULL)
 		return FALSE;
 
-	parent_store = camel_folder_get_parent_store (folder);
+	store = camel_folder_get_parent_store (folder);
+	session = camel_service_get_session (CAMEL_SERVICE (store));
 
 	account_list = e_get_account_list ();
 	iterator = e_list_get_iterator (E_LIST (account_list));
 
-	while (e_iterator_is_valid (iterator)) {
+	while (!is_templates && e_iterator_is_valid (iterator)) {
 		account = (EAccount *)e_iterator_get (iterator);
 
 		if (account->templates_folder_uri) {
-			templates_uri = em_uri_to_camel (account->templates_folder_uri);
-			if (camel_store_folder_uri_equal (parent_store, templates_uri, uri)) {
-				g_free (templates_uri);
-				is = TRUE;
-				break;
-			}
+			templates_uri = em_uri_to_camel (
+				account->templates_folder_uri);
+			is_templates = e_mail_folder_uri_equal (
+				session, templates_uri, uri);
 			g_free (templates_uri);
 		}
 
@@ -1042,7 +1043,7 @@ em_utils_folder_is_templates (CamelFolder *folder, const gchar *uri)
 
 	g_object_unref (iterator);
 
-	return is;
+	return is_templates;
 }
 
 /**
@@ -1058,11 +1059,12 @@ gboolean
 em_utils_folder_is_drafts (CamelFolder *folder, const gchar *uri)
 {
 	CamelFolder *local_drafts_folder;
-	CamelStore *parent_store;
+	CamelSession *session;
+	CamelStore *store;
 	EAccountList *account_list;
 	EAccount *account;
 	EIterator *iterator;
-	gint is = FALSE;
+	gint is_drafts = FALSE;
 	gchar *drafts_uri;
 
 	local_drafts_folder =
@@ -1074,21 +1076,20 @@ em_utils_folder_is_drafts (CamelFolder *folder, const gchar *uri)
 	if (folder == NULL || uri == NULL)
 		return FALSE;
 
-	parent_store = camel_folder_get_parent_store (folder);
+	store = camel_folder_get_parent_store (folder);
+	session = camel_service_get_session (CAMEL_SERVICE (store));
 
 	account_list = e_get_account_list ();
 	iterator = e_list_get_iterator (E_LIST (account_list));
 
-	while (e_iterator_is_valid (iterator)) {
+	while (!is_drafts && e_iterator_is_valid (iterator)) {
 		account = (EAccount *)e_iterator_get (iterator);
 
 		if (account->drafts_folder_uri) {
-			drafts_uri = em_uri_to_camel (account->drafts_folder_uri);
-			if (camel_store_folder_uri_equal (parent_store, drafts_uri, uri)) {
-				g_free (drafts_uri);
-				is = TRUE;
-				break;
-			}
+			drafts_uri = em_uri_to_camel (
+				account->drafts_folder_uri);
+			is_drafts = e_mail_folder_uri_equal (
+				session, drafts_uri, uri);
 			g_free (drafts_uri);
 		}
 
@@ -1097,7 +1098,7 @@ em_utils_folder_is_drafts (CamelFolder *folder, const gchar *uri)
 
 	g_object_unref (iterator);
 
-	return is;
+	return is_drafts;
 }
 
 /**
@@ -1113,14 +1114,16 @@ gboolean
 em_utils_folder_is_sent (CamelFolder *folder, const gchar *uri)
 {
 	CamelFolder *local_sent_folder;
-	CamelStore *parent_store;
+	CamelSession *session;
+	CamelStore *store;
 	EAccountList *account_list;
 	EAccount *account;
 	EIterator *iterator;
-	gint is = FALSE;
+	gint is_sent = FALSE;
 	gchar *sent_uri;
 
-	local_sent_folder = e_mail_local_get_folder (E_MAIL_LOCAL_FOLDER_SENT);
+	local_sent_folder =
+		e_mail_local_get_folder (E_MAIL_LOCAL_FOLDER_SENT);
 
 	if (folder == local_sent_folder)
 		return TRUE;
@@ -1128,21 +1131,20 @@ em_utils_folder_is_sent (CamelFolder *folder, const gchar *uri)
 	if (folder == NULL || uri == NULL)
 		return FALSE;
 
-	parent_store = camel_folder_get_parent_store (folder);
+	store = camel_folder_get_parent_store (folder);
+	session = camel_service_get_session (CAMEL_SERVICE (store));
 
 	account_list = e_get_account_list ();
 	iterator = e_list_get_iterator (E_LIST (account_list));
 
-	while (e_iterator_is_valid (iterator)) {
+	while (!is_sent && e_iterator_is_valid (iterator)) {
 		account = (EAccount *)e_iterator_get (iterator);
 
 		if (account->sent_folder_uri) {
-			sent_uri = em_uri_to_camel (account->sent_folder_uri);
-			if (camel_store_folder_uri_equal (parent_store, sent_uri, uri)) {
-				g_free (sent_uri);
-				is = TRUE;
-				break;
-			}
+			sent_uri = em_uri_to_camel (
+				account->sent_folder_uri);
+			is_sent = e_mail_folder_uri_equal (
+				session, sent_uri, uri);
 			g_free (sent_uri);
 		}
 
@@ -1151,7 +1153,7 @@ em_utils_folder_is_sent (CamelFolder *folder, const gchar *uri)
 
 	g_object_unref (iterator);
 
-	return is;
+	return is_sent;
 }
 
 /**
@@ -1167,6 +1169,8 @@ gboolean
 em_utils_folder_is_outbox (CamelFolder *folder, const gchar *uri)
 {
 	CamelFolder *local_outbox_folder;
+	CamelSession *session;
+	CamelStore *store;
 	const gchar *local_outbox_folder_uri;
 
 	local_outbox_folder =
@@ -1180,9 +1184,11 @@ em_utils_folder_is_outbox (CamelFolder *folder, const gchar *uri)
 	if (uri == NULL)
 		return FALSE;
 
-	return camel_store_folder_uri_equal (
-		camel_folder_get_parent_store (local_outbox_folder),
-		local_outbox_folder_uri, uri);
+	store = camel_folder_get_parent_store (local_outbox_folder);
+	session = camel_service_get_session (CAMEL_SERVICE (store));
+
+	return e_mail_folder_uri_equal (
+		session, local_outbox_folder_uri, uri);
 }
 
 /* ********************************************************************** */
diff --git a/mail/mail-vfolder.c b/mail/mail-vfolder.c
index aa13589..0f98528 100644
--- a/mail/mail-vfolder.c
+++ b/mail/mail-vfolder.c
@@ -35,6 +35,7 @@
 
 #include "e-mail-backend.h"
 #include "e-mail-session.h"
+#include "e-mail-folder-utils.h"
 #include "em-folder-tree-model.h"
 #include "em-utils.h"
 #include "em-vfolder-context.h"
@@ -333,10 +334,12 @@ vfolder_adduri (EMailSession *session,
 /* ********************************************************************** */
 
 static GList *
-mv_find_folder (GList *l, CamelStore *store, const gchar *uri)
+mv_find_folder (GList *l, EMailSession *session, const gchar *uri)
 {
+	CamelSession *camel_session = CAMEL_SESSION (session);
+
 	while (l) {
-		if (camel_store_folder_uri_equal (store, l->data, uri))
+		if (e_mail_folder_uri_equal (camel_session, l->data, uri))
 			break;
 		l = l->next;
 	}
@@ -345,11 +348,12 @@ mv_find_folder (GList *l, CamelStore *store, const gchar *uri)
 
 /* uri is a camel uri */
 static gint
-uri_is_ignore (CamelStore *store, const gchar *uri)
+uri_is_ignore (EMailSession *session, const gchar *uri)
 {
 	EAccountList *accounts;
 	EAccount *account;
 	EIterator *iter;
+	CamelSession *camel_session;
 	const gchar *local_drafts_uri;
 	const gchar *local_outbox_uri;
 	const gchar *local_sent_uri;
@@ -359,17 +363,16 @@ uri_is_ignore (CamelStore *store, const gchar *uri)
 	local_outbox_uri = e_mail_local_get_folder_uri (E_MAIL_LOCAL_FOLDER_OUTBOX);
 	local_sent_uri = e_mail_local_get_folder_uri (E_MAIL_LOCAL_FOLDER_SENT);
 
-	d(printf("checking '%s' against:\n  %s\n  %s\n  %s\n", uri,
-		local_outbox_uri,
-		local_sent_uri,
-		local_drafts_uri));
+	camel_session = CAMEL_SESSION (session);
 
-	found = camel_store_folder_uri_equal (store, local_outbox_uri, uri)
-		|| camel_store_folder_uri_equal (store, local_sent_uri, uri)
-		|| camel_store_folder_uri_equal (store, local_drafts_uri, uri);
+	if (e_mail_folder_uri_equal (camel_session, local_outbox_uri, uri))
+		return TRUE;
 
-	if (found)
-		return found;
+	if (e_mail_folder_uri_equal (camel_session, local_sent_uri, uri))
+		return TRUE;
+
+	if (e_mail_folder_uri_equal (camel_session, local_drafts_uri, uri))
+		return TRUE;
 
 	accounts = e_get_account_list ();
 	iter = e_list_get_iterator ((EList *) accounts);
@@ -381,14 +384,16 @@ uri_is_ignore (CamelStore *store, const gchar *uri)
 		d(printf("checking sent_folder_uri '%s' == '%s'\n",
 			 account->sent_folder_uri ? account->sent_folder_uri : "empty", uri));
 
-		if (account->sent_folder_uri) {
+		if (account->sent_folder_uri != NULL) {
 			curi = em_uri_to_camel (account->sent_folder_uri);
-			found = camel_store_folder_uri_equal (store, uri, curi);
+			found = e_mail_folder_uri_equal (
+				camel_session, uri, curi);
 			g_free (curi);
 		}
-		if (!found && account->drafts_folder_uri) {
+		if (!found && account->drafts_folder_uri != NULL) {
 			curi = em_uri_to_camel (account->drafts_folder_uri);
-			found = camel_store_folder_uri_equal (store, uri, curi);
+			found = e_mail_folder_uri_equal (
+				camel_session, uri, curi);
 			g_free (curi);
 		}
 
@@ -481,7 +486,7 @@ mail_vfolder_add_uri (EMailSession *session,
 
 	g_return_if_fail (mail_in_main_thread ());
 
-	is_ignore = uri_is_ignore (store, curi);
+	is_ignore = uri_is_ignore (session, curi);
 
 	G_LOCK (vfolder);
 
@@ -492,12 +497,12 @@ mail_vfolder_add_uri (EMailSession *session,
 		is_ignore = TRUE;
 	} else if (remove) {
 		if (remote) {
-			if ((link = mv_find_folder (source_folders_remote, store, curi)) != NULL) {
+			if ((link = mv_find_folder (source_folders_remote, session, curi)) != NULL) {
 				g_free (link->data);
 				source_folders_remote = g_list_remove_link (source_folders_remote, link);
 			}
 		} else {
-			if ((link = mv_find_folder (source_folders_local, store, curi)) != NULL) {
+			if ((link = mv_find_folder (source_folders_local, session, curi)) != NULL) {
 				g_free (link->data);
 				source_folders_local = g_list_remove_link (source_folders_local, link);
 			}
@@ -505,10 +510,10 @@ mail_vfolder_add_uri (EMailSession *session,
 	} else if (!is_ignore) {
 		/* we ignore drafts/sent/outbox here */
 		if (remote) {
-			if (mv_find_folder (source_folders_remote, store, curi) == NULL)
+			if (mv_find_folder (source_folders_remote, session, curi) == NULL)
 				source_folders_remote = g_list_prepend (source_folders_remote, g_strdup (curi));
 		} else {
-			if (mv_find_folder (source_folders_local, store, curi) == NULL)
+			if (mv_find_folder (source_folders_local, session, curi) == NULL)
 				source_folders_local = g_list_prepend (source_folders_local, g_strdup (curi));
 		}
 	}
@@ -538,8 +543,8 @@ mail_vfolder_add_uri (EMailSession *session,
 				(EMVFolderRule *)rule, source))) {
 			gchar *csource;
 			csource = em_uri_to_camel (source);
-			found = camel_store_folder_uri_equal (store, curi, csource);
-			d(printf(found?" '%s' == '%s'?\n":" '%s' != '%s'\n", curi, csource));
+			found = e_mail_folder_uri_equal (
+				CAMEL_SESSION (session), curi, csource);
 			g_free (csource);
 		}
 
@@ -622,6 +627,7 @@ mail_vfolder_delete_uri (EMailBackend *backend,
                          const gchar *curi)
 {
 	EFilterRule *rule;
+	EMailSession *session;
 	const gchar *source;
 	CamelVeeFolder *vf;
 	GString *changed;
@@ -642,6 +648,8 @@ mail_vfolder_delete_uri (EMailBackend *backend,
 
 	g_return_if_fail (mail_in_main_thread ());
 
+	session = e_mail_backend_get_session (backend);
+
 	changed_count = 0;
 	changed = g_string_new ("");
 
@@ -665,7 +673,7 @@ mail_vfolder_delete_uri (EMailBackend *backend,
 
 			/* Remove all sources that match, ignore changed events though
 			   because the adduri call above does the work async */
-			if (camel_store_folder_uri_equal (store, curi, csource)) {
+			if (e_mail_folder_uri_equal (CAMEL_SESSION (session), curi, csource)) {
 				vf = g_hash_table_lookup (vfolder_hash, rule->name);
 				if (!vf) {
 					g_warning ("vf is NULL for %s\n", rule->name);
@@ -694,12 +702,12 @@ mail_vfolder_delete_uri (EMailBackend *backend,
 	}
 
 done:
-	if ((link = mv_find_folder (source_folders_remote, store, curi)) != NULL) {
+	if ((link = mv_find_folder (source_folders_remote, session, curi)) != NULL) {
 		g_free (link->data);
 		source_folders_remote = g_list_remove_link (source_folders_remote, link);
 	}
 
-	if ((link = mv_find_folder (source_folders_local, store, curi)) != NULL) {
+	if ((link = mv_find_folder (source_folders_local, session, curi)) != NULL) {
 		g_free (link->data);
 		source_folders_local = g_list_remove_link (source_folders_local, link);
 	}
@@ -743,6 +751,7 @@ mail_vfolder_rename_uri (CamelStore *store, const gchar *cfrom, const gchar *cto
 	EFilterRule *rule;
 	const gchar *source;
 	CamelVeeFolder *vf;
+	CamelSession *session;
 	gint changed = 0;
 	gchar *from, *to;
 
@@ -753,6 +762,8 @@ mail_vfolder_rename_uri (CamelStore *store, const gchar *cfrom, const gchar *cto
 
 	g_return_if_fail (mail_in_main_thread ());
 
+	session = camel_service_get_session (CAMEL_SERVICE (store));
+
 	from = em_uri_from_camel (cfrom);
 	to = em_uri_from_camel (cto);
 
@@ -767,7 +778,7 @@ mail_vfolder_rename_uri (CamelStore *store, const gchar *cfrom, const gchar *cto
 
 			/* Remove all sources that match, ignore changed events though
 			   because the adduri call above does the work async */
-			if (camel_store_folder_uri_equal (store, cfrom, csource)) {
+			if (e_mail_folder_uri_equal (session, cfrom, csource)) {
 				vf = g_hash_table_lookup (vfolder_hash, rule->name);
 				if (!vf) {
 					g_warning ("vf is NULL for %s\n", rule->name);



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