aboutsummaryrefslogtreecommitdiffstats
path: root/mail/mail-folder-cache.c
diff options
context:
space:
mode:
authorMatthew Barnes <mbarnes@redhat.com>2010-04-26 20:36:24 +0800
committerMatthew Barnes <mbarnes@redhat.com>2010-04-30 23:30:19 +0800
commitaec33928b7b77fe64b0afdf13b5db126e7f5dfac (patch)
tree04236fce76b859c96dc977741106aa06e28aa977 /mail/mail-folder-cache.c
parent2214b6049d9402f91567d1bea66259b29993ae9f (diff)
downloadgsoc2013-evolution-aec33928b7b77fe64b0afdf13b5db126e7f5dfac.tar
gsoc2013-evolution-aec33928b7b77fe64b0afdf13b5db126e7f5dfac.tar.gz
gsoc2013-evolution-aec33928b7b77fe64b0afdf13b5db126e7f5dfac.tar.bz2
gsoc2013-evolution-aec33928b7b77fe64b0afdf13b5db126e7f5dfac.tar.lz
gsoc2013-evolution-aec33928b7b77fe64b0afdf13b5db126e7f5dfac.tar.xz
gsoc2013-evolution-aec33928b7b77fe64b0afdf13b5db126e7f5dfac.tar.zst
gsoc2013-evolution-aec33928b7b77fe64b0afdf13b5db126e7f5dfac.zip
Adapt to Camel API changes.
Diffstat (limited to 'mail/mail-folder-cache.c')
-rw-r--r--mail/mail-folder-cache.c35
1 files changed, 20 insertions, 15 deletions
diff --git a/mail/mail-folder-cache.c b/mail/mail-folder-cache.c
index 1bc2d61257..2f589529db 100644
--- a/mail/mail-folder-cache.c
+++ b/mail/mail-folder-cache.c
@@ -313,7 +313,7 @@ update_1folder(MailFolderCache *self, struct _folder_info *mfi, gint new, const
if ((deleted = camel_folder_get_deleted_message_count (folder)) > 0)
unread -= deleted;
- camel_object_get (folder, NULL, CAMEL_FOLDER_JUNKED, &junked, NULL);
+ junked = folder->summary->junk_count;
if (junked > 0)
unread -= junked;
@@ -406,17 +406,19 @@ folder_changed (CamelObject *o, gpointer event_data, gpointer user_data)
CamelFolder *local_drafts;
CamelFolder *local_outbox;
CamelFolder *local_sent;
- CamelStore *store = folder->parent_store;
+ CamelStore *parent_store;
CamelMessageInfo *info;
struct _store_info *si;
struct _folder_info *mfi;
+ const gchar *full_name;
gint new = 0;
gint i;
guint32 flags;
gchar *uid = NULL, *sender = NULL, *subject = NULL;
MailFolderCache *self = (MailFolderCache*) user_data;
- d(printf("folder '%s' changed\n", folder->full_name));
+ full_name = camel_folder_get_full_name (folder);
+ parent_store = camel_folder_get_parent_store (folder);
local_drafts = e_mail_local_get_folder (E_MAIL_FOLDER_DRAFTS);
local_outbox = e_mail_local_get_folder (E_MAIL_FOLDER_OUTBOX);
@@ -462,8 +464,8 @@ folder_changed (CamelObject *o, gpointer event_data, gpointer user_data)
g_mutex_lock (self->priv->stores_mutex);
if (self->priv->stores != NULL
- && (si = g_hash_table_lookup(self->priv->stores, store)) != NULL
- && (mfi = g_hash_table_lookup(si->folders, folder->full_name)) != NULL
+ && (si = g_hash_table_lookup(self->priv->stores, parent_store)) != NULL
+ && (mfi = g_hash_table_lookup(si->folders, full_name)) != NULL
&& mfi->folder == folder) {
update_1folder (self, mfi, new, uid, sender, subject, NULL);
}
@@ -478,16 +480,19 @@ static void
folder_finalised(CamelObject *o, gpointer event_data, gpointer user_data)
{
CamelFolder *folder = (CamelFolder *)o;
- CamelStore *store = folder->parent_store;
+ CamelStore *parent_store;
struct _store_info *si;
struct _folder_info *mfi;
MailFolderCache *self = (MailFolderCache*) user_data;
+ const gchar *full_name;
+
+ full_name = camel_folder_get_full_name (folder);
+ parent_store = camel_folder_get_parent_store (folder);
- d(printf("Folder finalised '%s'!\n", ((CamelFolder *)o)->full_name));
g_mutex_lock (self->priv->stores_mutex);
if (self->priv->stores != NULL
- && (si = g_hash_table_lookup(self->priv->stores, store)) != NULL
- && (mfi = g_hash_table_lookup(si->folders, folder->full_name)) != NULL
+ && (si = g_hash_table_lookup(self->priv->stores, parent_store)) != NULL
+ && (mfi = g_hash_table_lookup(si->folders, full_name)) != NULL
&& mfi->folder == folder) {
mfi->folder = NULL;
}
@@ -500,8 +505,6 @@ folder_renamed(CamelObject *o, gpointer event_data, gpointer user_data)
CamelFolder *folder = (CamelFolder *)o;
gchar *old = event_data;
- d(printf("Folder renamed from '%s' to '%s'\n", old, folder->full_name));
-
old = old;
folder = folder;
/* Dont do anything, do it from the store rename event? */
@@ -516,16 +519,18 @@ folder_renamed(CamelObject *o, gpointer event_data, gpointer user_data)
*/
void mail_folder_cache_note_folder(MailFolderCache *self, CamelFolder *folder)
{
- CamelStore *store = folder->parent_store;
+ CamelStore *parent_store;
struct _store_info *si;
struct _folder_info *mfi;
+ const gchar *full_name;
- d(printf("noting folder '%s'\n", folder->full_name));
+ full_name = camel_folder_get_full_name (folder);
+ parent_store = camel_folder_get_parent_store (folder);
g_mutex_lock (self->priv->stores_mutex);
if (self->priv->stores == NULL
- || (si = g_hash_table_lookup(self->priv->stores, store)) == NULL
- || (mfi = g_hash_table_lookup(si->folders, folder->full_name)) == NULL) {
+ || (si = g_hash_table_lookup(self->priv->stores, parent_store)) == NULL
+ || (mfi = g_hash_table_lookup(si->folders, full_name)) == NULL) {
w(g_warning("Noting folder before store initialised"));
g_mutex_unlock (self->priv->stores_mutex);
return;