Commit 59958c99 authored by Matthew Barnes's avatar Matthew Barnes Committed by Rodrigo Moya
Browse files

Replace camel_store_folder_uri_equal() with e_mail_folder_uri_equal().

parent b35467f9
......@@ -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);
......
......@@ -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);
}
/* ********************************************************************** */
......
......@@ -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);
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment