Fix for http://bugzilla.gnome.org/show_bug.cgi?id=329734

"Veerapuram Varadhan" <[email protected]>
Newsgroups gmane.comp.gnome.evolution.patches
Message-ID <[email protected]>
Hi,

Find attached a patch that fixes
http://bugzilla.gnome.org/show_bug.cgi?id=329734

Actually, this patch is derived from the patch by Ranjan Somani
(http://mail.gnome.org/archives/evolution-patches/2006-February/msg00054.html
), but, with little tweaks.

Let me know your comments.

Thanks,

V. Varadhan

_______________________________________________
Evolution-patches mailing list
[email protected]
http://mail.gnome.org/mailman/listinfo/evolution-patches
fix-329734.diff (text/plain, 3.2 KB)
? crash-fix.fix
? fix-329734.diff
? mail.error
Index: ChangeLog
===================================================================
RCS file: /cvs/gnome/evolution/mail/ChangeLog,v
retrieving revision 1.3806
diff -u -p -r1.3806 ChangeLog
--- ChangeLog	20 Feb 2006 16:01:00 -0000	1.3806
+++ ChangeLog	20 Feb 2006 19:16:47 -0000
@@ -1,3 +1,11 @@
+2006-02-20  Veerapuram Varadhan <[email protected]>
+
+	** Fixes bug #329734
+
+	* em-folder-properties.c (emfp_dialog_got_folder): Fetch both
+	VISIBLE and DELETED count from the folder and adjust it according
+	before showing it in the properties dialog w.r.t user preferences.
+	
 2006-02-20  Srinivasa Ragavan <[email protected]>
 
 	** Fixes bug #322160 and committed for PRSuman.
Index: em-folder-properties.c
===================================================================
RCS file: /cvs/gnome/evolution/mail/em-folder-properties.c,v
retrieving revision 1.11
diff -u -p -r1.11 em-folder-properties.c
--- em-folder-properties.c	2 Jan 2006 11:16:00 -0000	1.11
+++ em-folder-properties.c	20 Feb 2006 19:16:47 -0000
@@ -38,7 +38,11 @@
 #include <gtk/gtktogglebutton.h>
 #include <gtk/gtkvbox.h>
 
+#include <gconf/gconf-client.h>
+
+#include <camel/camel-store.h>
 #include <camel/camel-folder.h>
+#include <camel/camel-vtrash-folder.h>
 #include <camel/camel-vee-folder.h>
 #include <libgnome/gnome-i18n.h>
 
@@ -49,6 +53,7 @@
 #include "mail-ops.h"
 #include "mail-mt.h"
 #include "mail-vfolder.h"
+#include "mail-config.h"
 
 struct _prop_data {
 	void *object;
@@ -226,23 +231,45 @@ emfp_dialog_got_folder (char *uri, Camel
 	GtkWidget *dialog, *w;
 	struct _prop_data *prop_data;
 	GSList *l;
-	gint32 count, i;
+	gint32 count, i,deleted;
 	EMConfig *ec;
 	EMConfigTargetFolder *target;
 	CamelArgGetV *arggetv;
 	CamelArgV *argv;
+	gboolean hide_deleted;
+	GConfClient *gconf;
+	CamelStore *store;
 
 	if (folder == NULL)
 		return;
 
+	store = folder->parent_store;
+
 	prop_data = g_malloc0 (sizeof (*prop_data));
 	prop_data->object = folder;
 	camel_object_ref (folder);
 
+	/*
+	  Get number of VISIBLE and DELETED messages, instead of TOTAL messages.  VISIBLE+DELETED 
+	   gives the correct count that matches the label below the Send & Receive button
+	*/
 	camel_object_get (folder, NULL, CAMEL_FOLDER_PROPERTIES, &prop_data->properties, CAMEL_FOLDER_NAME, &prop_data->name,
-			  CAMEL_FOLDER_TOTAL, &prop_data->total, CAMEL_FOLDER_UNREAD, &prop_data->unread, NULL);
+			  CAMEL_FOLDER_VISIBLE, &prop_data->total, CAMEL_FOLDER_UNREAD, &prop_data->unread, CAMEL_FOLDER_DELETED, &deleted, NULL);
+	
+	gconf = mail_config_get_gconf_client ();
+	hide_deleted = !gconf_client_get_bool(gconf, "/apps/evolution/mail/display/show_deleted", NULL);
+
+	/* 
+	   Do the calculation only for those accounts that support VTRASHes */
+	 */
+	if (store->flags & CAMEL_STORE_VTRASH) {
+		if (CAMEL_IS_VTRASH_FOLDER (folder))
+			prop_data->total += deleted;
+		else if (!hide_deleted && deleted > 0)
+			prop_data->total += deleted;
+	}
 
-	if (folder->parent_store == mail_component_peek_local_store(NULL)
+	if (store == mail_component_peek_local_store(NULL)
 	    && (!strcmp(prop_data->name, "Drafts")
 		|| !strcmp(prop_data->name, "Inbox")
 		|| !strcmp(prop_data->name, "Outbox")
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.