evolution-data-server r8996 - branches/camel-db-summary/camel



Author: sragavan
Date: Tue Jun 17 15:56:21 2008
New Revision: 8996
URL: http://svn.gnome.org/viewvc/evolution-data-server?rev=8996&view=rev

Log:
Rewrite unmatched folder loading.


Modified:
   branches/camel-db-summary/camel/camel-vee-store.c

Modified: branches/camel-db-summary/camel/camel-vee-store.c
==============================================================================
--- branches/camel-db-summary/camel/camel-vee-store.c	(original)
+++ branches/camel-db-summary/camel/camel-vee-store.c	Tue Jun 17 15:56:21 2008
@@ -48,6 +48,7 @@
 static void camel_vee_store_class_init (CamelVeeStoreClass *klass);
 static void camel_vee_store_init       (CamelVeeStore *obj);
 static void camel_vee_store_finalise   (CamelObject *obj);
+static void construct (CamelService *service, CamelSession *session, CamelProvider *provider, CamelURL *url, CamelException *ex);
 
 static CamelStoreClass *camel_vee_store_parent;
 
@@ -82,7 +83,8 @@
 	store_class->delete_folder = vee_delete_folder;
 	store_class->get_folder_info = vee_get_folder_info;
 	store_class->free_folder_info = camel_store_free_folder_info_full;
-
+	((CamelServiceClass *)store_class)->construct = construct;
+	
 	store_class->sync = vee_sync;
 	store_class->get_trash = vee_get_trash;
 	store_class->get_junk = vee_get_junk;
@@ -96,12 +98,23 @@
 	/* we dont want a vtrash/vjunk on this one */
 	store->flags &= ~(CAMEL_STORE_VTRASH | CAMEL_STORE_VJUNK);	
 
+
+}
+
+static void
+construct (CamelService *service, CamelSession *session, CamelProvider *provider, CamelURL *url, CamelException *ex)
+{
+	 CamelStore *store = (CamelStore *)service;
+	 CamelVeeStore *obj = (CamelVeeStore *)service;
+	 
+	 ((CamelServiceClass *) camel_vee_store_parent)->construct(service, session, provider, url, ex);
+	 
 	/* Set up unmatched folder */
 	obj->unmatched_uids = g_hash_table_new (g_str_hash, g_str_equal);
 	obj->folder_unmatched = (CamelVeeFolder *)camel_object_new (camel_vee_folder_get_type ());
 	camel_vee_folder_construct (obj->folder_unmatched, store, CAMEL_UNMATCHED_NAME, _("Unmatched"), CAMEL_STORE_FOLDER_PRIVATE);
+	camel_db_create_vfolder (store->cdb, _("Unmatched"), NULL);
 }
-
 static void
 cvs_free_unmatched(void *key, void *value, void *data)
 {



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