evolution-data-server r9860 - in branches/gnome-2-24: camel/providers/groupwise servers/groupwise



Author: psankar
Date: Fri Jan  2 06:20:21 2009
New Revision: 9860
URL: http://svn.gnome.org/viewvc/evolution-data-server?rev=9860&view=rev

Log:
Groupwise parallel clients and (un)read counts


Modified:
   branches/gnome-2-24/camel/providers/groupwise/ChangeLog
   branches/gnome-2-24/camel/providers/groupwise/camel-groupwise-folder.c
   branches/gnome-2-24/servers/groupwise/ChangeLog
   branches/gnome-2-24/servers/groupwise/e-gw-connection.c

Modified: branches/gnome-2-24/camel/providers/groupwise/camel-groupwise-folder.c
==============================================================================
--- branches/gnome-2-24/camel/providers/groupwise/camel-groupwise-folder.c	(original)
+++ branches/gnome-2-24/camel/providers/groupwise/camel-groupwise-folder.c	Fri Jan  2 06:20:21 2009
@@ -1200,10 +1200,6 @@
 		if (gw_store->current_folder != folder) {
 			gw_store->current_folder = folder;
 		}
-
-		if (list) {
-			gw_update_cache (folder, list, ex, FALSE);
-		}
 		
 		if (check_all && !is_proxy) {
 				EGwContainer *container;
@@ -1214,8 +1210,15 @@
 
 				if (camel_folder_summary_count (folder->summary) == e_gw_container_get_total_count (container))
 						check_all = FALSE;
+
+				folder->summary->unread_count = e_gw_container_get_unread_count (container);
+				folder->summary->visible_count = e_gw_container_get_total_count (container);
 				g_object_unref (container);
 		}
+
+		if (list) {
+			gw_update_cache (folder, list, ex, FALSE);
+		}
 	}
 
 
@@ -1351,6 +1354,7 @@
 				mi->info.content = camel_folder_summary_content_info_new (folder->summary);
 				mi->info.content->type = camel_content_type_new ("multipart", "mixed");	
 			}
+			mi->info.flags = 0;
 		}
 		
 		rk = e_gw_item_get_recurrence_key (item);
@@ -1365,16 +1369,12 @@
 
 		item_status = e_gw_item_get_item_status (item);
 		if (item_status & E_GW_ITEM_STAT_READ)
-			status_flags |= CAMEL_MESSAGE_SEEN;
+			mi->info.flags |= CAMEL_MESSAGE_SEEN;
 		else 
 			mi->info.flags &= ~CAMEL_MESSAGE_SEEN;
 
 		if (item_status & E_GW_ITEM_STAT_REPLIED)
-			status_flags |= CAMEL_MESSAGE_ANSWERED;
-		if (exists) 
-			mi->info.flags |= status_flags;
-		else 
-			mi->info.flags = status_flags;
+			mi->info.flags |= CAMEL_MESSAGE_ANSWERED;
 
 		priority = e_gw_item_get_priority (item);
 		if (priority && !(g_ascii_strcasecmp (priority,"High"))) {
@@ -1465,6 +1465,7 @@
 			}
 		}
 
+		mi->info.dirty = TRUE;
 		if (exists) {
 			camel_folder_change_info_change_uid (changes, mi->info.uid);
 			camel_message_info_free (pmi);
@@ -1472,12 +1473,7 @@
 			mi->info.uid = camel_pstring_strdup (e_gw_item_get_id(item));
 			mi->info.size = e_gw_item_get_mail_size (item);	
 			mi->info.subject = camel_pstring_strdup(e_gw_item_get_subject(item));
-			mi->info.dirty = TRUE;
 			
-			folder->summary->visible_count ++;
-			if (!(mi->info.flags & CAMEL_MESSAGE_SEEN))
-					folder->summary->unread_count ++;
-
 			camel_folder_summary_add (folder->summary,(CamelMessageInfo *)mi);
 			camel_folder_change_info_add_uid (changes, mi->info.uid);
 			camel_folder_change_info_recent_uid (changes, mi->info.uid);

Modified: branches/gnome-2-24/servers/groupwise/e-gw-connection.c
==============================================================================
--- branches/gnome-2-24/servers/groupwise/e-gw-connection.c	(original)
+++ branches/gnome-2-24/servers/groupwise/e-gw-connection.c	Fri Jan  2 06:20:21 2009
@@ -840,7 +840,7 @@
 		}
 
 		e_gw_message_write_string_parameter (msg, "uid", NULL, uid);
-		e_gw_message_write_string_parameter (msg, "view", NULL, "count");
+		e_gw_message_write_string_parameter (msg, "view", NULL, "count unreadCount");
 		e_gw_message_write_footer (msg);
 
 		/* send message to server */
@@ -2772,7 +2772,7 @@
 
 	if (buffer && buf_length && atoi (buf_length) > 0) {
 		gsize len = atoi (buf_length) ;
-		*attachment = g_base64_decode (buffer,&len) ;
+		*attachment = (char *) g_base64_decode (buffer,&len) ;
 		*attach_length = len ;
 	} else {
 		*attachment = NULL;



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