Re: [Fwd: [evolution-patches] Patch for bug 311063 (mail)]



Ok, I closed 311063 as invalid and opened a new one:
   http://bugzilla.gnome.org/show_bug.cgi?id=317466

Attached patch fixes the problem by not showing the location-pick dialog for search folders therefore not allowing nested search folders and removing the confusion between search and regular folders.

Please review.

Thanks.

Parthasarathi Susarla wrote:
You can create search folders inside search folders. And that is more
important. Cheers,
partha
On Wed, 2005-09-28 at 12:13 -0700, Carsten Guenther wrote:
OK, I now know where the confusion is coming from. It never occurred
to me that you can create a search folder inside a real folder. Should
this be allowed? I find this very confusing, given that there is no
way to change the location of a search folder afterwards and that the
only way to specify a location is to right-click on "Search Folders".
IMHO all search folders should be listed at the top-level under
"Search Folders". I think this is still a bug (at least a big UI
issue) and my proposed patch would fix this.

Carsten

Carsten Guenther wrote:
Sigh. This is so obvious I cannot understand your statement! Maybe
you just don't care but please take a minute and my bug report
again, very very carefully, look at the screenshots and try to
reproduce the steps I described in there. Or maybe someone else can,
I think a second opinion is helpful here.

Not Zed wrote:
I said on the bug that it isn't a bug.

I have nothing further to add.

? 311063.diff
? Evolution-Mail-common.c
? Evolution-Mail-skels.c
? Evolution-Mail-stubs.c
? Evolution-Mail.h
? evolution-mail-2.4.schemas
? mail.error
? default/zh_CN/Makefile
? default/zh_CN/Makefile.in
Index: em-folder-utils.c
===================================================================
RCS file: /cvs/gnome/evolution/mail/em-folder-utils.c,v
retrieving revision 1.6
diff -u -p -r1.6 em-folder-utils.c
--- em-folder-utils.c	10 Aug 2005 02:04:31 -0000	1.6
+++ em-folder-utils.c	6 Sep 2005 22:20:34 -0000
@@ -700,18 +700,8 @@ emfu_popup_new_folder_response (EMFolder
 		return;
 	}
 
-	/* HACK: we need to create vfolders using the vfolder editor */
-	if (CAMEL_IS_VEE_STORE(store)) {
-		EMVFolderRule *rule;
-
-		rule = em_vfolder_rule_new();
-		filter_rule_set_name((FilterRule *)rule, path);
-		vfolder_gui_add_rule(rule);
-		gtk_widget_destroy((GtkWidget *)emfs);
-	} else {
-		g_object_ref (emfs);
-		emfu_create_folder_real (si->store, path, new_folder_created_cb, emfs);
-	}
+	g_object_ref (emfs);
+	emfu_create_folder_real (si->store, path, new_folder_created_cb, emfs);
 
 	camel_object_unref (store);
 	camel_exception_clear (&ex);
@@ -723,13 +713,19 @@ em_folder_utils_create_folder (CamelFold
 	EMFolderTree *folder_tree;
 	EMFolderTreeModel *model;
 	GtkWidget *dialog;
+	EMVFolderRule *rule;
 
-	model = mail_component_peek_tree_model (mail_component_peek ());
-	folder_tree = (EMFolderTree *) em_folder_tree_new_with_model (model);
+	if (g_str_has_prefix (folderinfo->uri, "vfolder:")) {
+		rule = em_vfolder_rule_new();
+		vfolder_gui_add_rule(rule);
+	} else {
+		model = mail_component_peek_tree_model (mail_component_peek ());
+		folder_tree = (EMFolderTree *) em_folder_tree_new_with_model (model);
 	
-	dialog = em_folder_selector_create_new (folder_tree, 0, _("Create folder"), _("Specify where to create the folder:"));
-	if (folderinfo != NULL)
-		em_folder_selector_set_selected ((EMFolderSelector *) dialog, folderinfo->uri);
-	g_signal_connect (dialog, "response", G_CALLBACK (emfu_popup_new_folder_response), folder_tree);
-	gtk_widget_show (dialog);
+		dialog = em_folder_selector_create_new (folder_tree, 0, _("Create folder"), _("Specify where to create the folder:"));
+		if (folderinfo != NULL)
+			em_folder_selector_set_selected ((EMFolderSelector *) dialog, folderinfo->uri);
+		g_signal_connect (dialog, "response", G_CALLBACK (emfu_popup_new_folder_response), folder_tree);
+		gtk_widget_show (dialog);
+	}
 }



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