Re: [evolution-patches] IMAP namespace pollution.




This patch wont be accepted, you need to implement a proper distinction between virtual 'junk' and 'trash' folders and real ones.  It goes much deeper than just not showing a virtual folder for either.

i.e. if the client deletes a message it must either just be deleted, or physically moved to a trash folder (pop quiz - how do you know what it is called?  you can't, without more configuration).

You then need to add enough configuration options to implement it, which may impact on the ui, etc.

On Wed, 2005-03-16 at 18:01 +0000, David Woodhouse wrote:
I have folders on my IMAP server named 'Trash' and 'Junk'. Yet Evolution
pollutes the IMAP server's namespace and prevents me from accessing
them, instead of putting its own vFolders somewhere less obtrusive. It
should be sufficient just to let the user turn those off.

I've left them defaulting to on, but I'm not sure that's the correct
setting -- certainly for a naĩve user like my father I'd want them
turned off to avoid confusion. He _thinks_ he knows how mail folders on
the IMAP server work; these folders are strange and confusing to him and
should be elsewhere if they exist at all.

--- evolution-data-server-1.2.0/camel/providers/imap/camel-imap-provider.c~	2005-03-16 08:44:11.000000000 -0700
+++ evolution-data-server-1.2.0/camel/providers/imap/camel-imap-provider.c	2005-03-16 10:12:13.000000000 -0700
@@ -64,9 +64,13 @@ CamelProviderConfEntry imap_conf_entries
 	  N_("Namespace") },
 	{ CAMEL_PROVIDER_CONF_SECTION_END },
 	{ CAMEL_PROVIDER_CONF_SECTION_START, "general", NULL, N_("Options") },
+	{ CAMEL_PROVIDER_CONF_CHECKBOX, "display_trash", NULL,
+	  N_("Display Trash folder"), "1" },
+	{ CAMEL_PROVIDER_CONF_CHECKBOX, "display_junk", NULL,
+	  N_("Display Junk folder"), "1" },
 	{ CAMEL_PROVIDER_CONF_CHECKBOX, "filter", NULL,
 	  N_("_Apply filters to new messages in INBOX on this server"), "0" },
-	{ CAMEL_PROVIDER_CONF_CHECKBOX, "filter_junk", NULL,
+	{ CAMEL_PROVIDER_CONF_CHECKBOX, "filter_junk", "display_junk",
 	  N_("Check new messages for _Junk contents"), "0" },
 	{ CAMEL_PROVIDER_CONF_CHECKBOX, "filter_junk_inbox", "filter_junk",
 	  N_("Only check for Junk messa_ges in the INBOX folder"), "0" },
--- evolution-data-server-1.2.0/camel/providers/imap/camel-imap-store.c~	2005-03-16 08:44:11.000000000 -0700
+++ evolution-data-server-1.2.0/camel/providers/imap/camel-imap-store.c	2005-03-16 10:06:08.000000000 -0700
@@ -277,6 +277,11 @@ construct (CamelService *service, CamelS
 	if (camel_url_get_param (url, "filter_junk_inbox"))
 		imap_store->parameters |= IMAP_PARAM_FILTER_JUNK_INBOX;
 
+	if (!camel_url_get_param (url, "display_trash"))
+		store->flags &= ~CAMEL_STORE_VTRASH;
+	if (!camel_url_get_param (url, "display_junk"))
+		store->flags &= ~CAMEL_STORE_VJUNK;
+
 	/* setup/load the store summary */
 	tmp = alloca(strlen(imap_store->storage_path)+32);
 	sprintf(tmp, "%s/.ev-store-summary", imap_store->storage_path);




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