aboutsummaryrefslogtreecommitdiffstats
path: root/mail/mail-vfolder.c
diff options
context:
space:
mode:
authorDan Winship <danw@src.gnome.org>2001-01-23 02:47:01 +0800
committerDan Winship <danw@src.gnome.org>2001-01-23 02:47:01 +0800
commitbd1a57fc80b824adef52020b9b45b7810f1dad35 (patch)
treed936baf0a82e939faf4c4839a882828c07df048b /mail/mail-vfolder.c
parentdb881ae0e321f66915a9dfb9aa5b3394c05a6c71 (diff)
downloadgsoc2013-evolution-bd1a57fc80b824adef52020b9b45b7810f1dad35.tar.gz
gsoc2013-evolution-bd1a57fc80b824adef52020b9b45b7810f1dad35.tar.zst
gsoc2013-evolution-bd1a57fc80b824adef52020b9b45b7810f1dad35.zip
Function to add a store/storage mapping. (add_storage): Use it.
* component-factory.c (mail_hash_storage): Function to add a store/storage mapping. (add_storage): Use it. * mail-vfolder.c (vfolder_uri_to_folder): Use the vfolder name rather than the string "mbox" (which wasn't ever used for anything) in the vfolder URL. (Combined with the CamelVeeFolder change, this makes camel_folder_get_name() return a pretty name for vfolders now.) Call mail_hash_storage() to record the CamelVeeStore/vfolder_storage mapping. (Ideally, there'd only be a single CamelVeeStore... this is just a quick hack.) vfolders now display their unread count once you've looked at them once. svn path=/trunk/; revision=7712
Diffstat (limited to 'mail/mail-vfolder.c')
-rw-r--r--mail/mail-vfolder.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/mail/mail-vfolder.c b/mail/mail-vfolder.c
index 64e92cd072..fb06a8479a 100644
--- a/mail/mail-vfolder.c
+++ b/mail/mail-vfolder.c
@@ -21,6 +21,7 @@
#include "mail-vfolder.h"
#include "mail-tools.h"
#include "mail-autofilter.h"
+#include "mail.h"
#include "camel/camel.h"
@@ -194,11 +195,14 @@ vfolder_uri_to_folder(const char *uri, CamelException *ex)
rule = (VfolderRule *)rule_context_find_rule((RuleContext *)context, info->name, NULL);
storeuri = g_strdup_printf("vfolder:%s/vfolder/%s", evolution_dir, info->name);
- foldername = g_strdup_printf("mbox?%s", info->query);
+ foldername = g_strdup_printf("%s?%s", info->name, info->query);
/* we dont have indexing on vfolders */
folder = mail_tool_get_folder_from_urlname (storeuri, foldername, CAMEL_STORE_FOLDER_CREATE, ex);
+ bonobo_object_ref (BONOBO_OBJECT (vfolder_storage));
+ mail_hash_storage ((CamelService *)folder->parent_store, vfolder_storage);
+
sourceuri = NULL;
sources = 0;
while ( (sourceuri = vfolder_rule_next_source(rule, sourceuri)) ) {