diff options
-rw-r--r-- | mail/ChangeLog | 14 | ||||
-rw-r--r-- | mail/mail-component.c | 2 | ||||
-rw-r--r-- | mail/mail-folder-cache.c | 10 | ||||
-rw-r--r-- | mail/mail-ops.c | 1 | ||||
-rw-r--r-- | mail/mail-tools.c | 5 | ||||
-rw-r--r-- | mail/mail-vfolder.c | 1 |
6 files changed, 27 insertions, 6 deletions
diff --git a/mail/ChangeLog b/mail/ChangeLog index 22a5631ecf..4c866ed8b3 100644 --- a/mail/ChangeLog +++ b/mail/ChangeLog @@ -1,3 +1,17 @@ +2004-05-22 Not Zed <NotZed@Ximian.com> + + ** Another unread count bug, #58814. + + * mail-vfolder.c (context_rule_added): + * mail-tools.c (mail_tool_uri_to_folder): + * mail-component.c (mc_add_local_store_done): don't call mail note + folder anymore, fix up headers. + + * mail-folder-cache.c (store_folder_opened) + (mail_note_store_remove, mail_note_store): handle the new + store:folder_opened signal. Don't need the mail_note_folder hack + anymore, mail_tool_uri_to_folder slowly does less. + 2004-05-21 Not Zed <NotZed@Ximian.com> * mail-mt.c (do_call): add marshaller for p_ppppp call. diff --git a/mail/mail-component.c b/mail/mail-component.c index 4db24e0baf..11ecbb9ca4 100644 --- a/mail/mail-component.c +++ b/mail/mail-component.c @@ -187,10 +187,12 @@ mc_add_local_store_done(CamelStore *store, CamelFolderInfo *info, void *data) /*MailComponent *mc = data;*/ int i; +#if 0 for (i=0;i<sizeof(mc_default_folders)/sizeof(mc_default_folders[0]);i++) { if (mc_default_folders[i].folder) mail_note_folder(mc_default_folders[i].folder); } +#endif } static void diff --git a/mail/mail-folder-cache.c b/mail/mail-folder-cache.c index b43f33e62c..eb8b016d81 100644 --- a/mail/mail-folder-cache.c +++ b/mail/mail-folder-cache.c @@ -529,6 +529,14 @@ store_folder_created(CamelObject *o, void *event_data, void *data) } static void +store_folder_opened(CamelObject *o, void *event_data, void *data) +{ + CamelFolder *folder = event_data; + + mail_note_folder(folder); +} + +static void store_folder_unsubscribed(CamelObject *o, void *event_data, void *data) { struct _store_info *si; @@ -721,6 +729,7 @@ mail_note_store_remove(CamelStore *store) if (si) { g_hash_table_remove(stores, store); + camel_object_unhook_event(store, "folder_opened", store_folder_opened, NULL); camel_object_unhook_event(store, "folder_created", store_folder_created, NULL); camel_object_unhook_event(store, "folder_deleted", store_folder_deleted, NULL); camel_object_unhook_event(store, "folder_renamed", store_folder_renamed, NULL); @@ -897,6 +906,7 @@ mail_note_store(CamelStore *store, CamelOperation *op, g_hash_table_insert(stores, store, si); e_dlist_init(&si->folderinfo_updates); + camel_object_hook_event(store, "folder_opened", store_folder_opened, NULL); camel_object_hook_event(store, "folder_created", store_folder_created, NULL); camel_object_hook_event(store, "folder_deleted", store_folder_deleted, NULL); camel_object_hook_event(store, "folder_renamed", store_folder_renamed, NULL); diff --git a/mail/mail-ops.c b/mail/mail-ops.c index 9e3febcd8d..75879716c9 100644 --- a/mail/mail-ops.c +++ b/mail/mail-ops.c @@ -59,7 +59,6 @@ #include "filter/filter-filter.h" #include "mail-mt.h" -#include "mail-folder-cache.h" #include "em-utils.h" diff --git a/mail/mail-tools.c b/mail/mail-tools.c index 5a6f13d5a4..7050cfdba3 100644 --- a/mail/mail-tools.c +++ b/mail/mail-tools.c @@ -38,6 +38,7 @@ #include <gconf/gconf-client.h> #include <camel/camel-vee-folder.h> +#include <camel/camel-store.h> #include <camel/camel-file-utils.h> #include <camel/camel-movemail.h> @@ -52,7 +53,6 @@ #include "mail-vfolder.h" #include "mail-tools.h" #include "mail-mt.h" -#include "mail-folder-cache.h" #include "em-utils.h" /* **************************************** */ @@ -355,9 +355,6 @@ mail_tool_uri_to_folder (const char *uri, guint32 flags, CamelException *ex) camel_object_unref (store); } - if (folder) - mail_note_folder (folder); - camel_url_free (url); g_free(curi); diff --git a/mail/mail-vfolder.c b/mail/mail-vfolder.c index 14c5bf2ba3..3781e22ae9 100644 --- a/mail/mail-vfolder.c +++ b/mail/mail-vfolder.c @@ -744,7 +744,6 @@ static void context_rule_added(RuleContext *ctx, FilterRule *rule) g_hash_table_insert(vfolder_hash, g_strdup(rule->name), folder); UNLOCK(); - mail_note_folder(folder); rule_changed(rule, folder); } } |