From 412c2967bb93845e152022aefac70ad93571a288 Mon Sep 17 00:00:00 2001 From: 0 Date: Thu, 20 Sep 2001 21:01:53 +0000 Subject: Register vfolder sources here. 2001-09-20 * mail-tools.c(mail_tool_uri_to_folder): Register vfolder sources here. * folder-browser.c (got_folder): Dont register vfolder sources here. * mail-ops.c (mail_get_folder): Add thread parameter. Fix callers. * mail-vfolder.c (vfolder_setup): Use the 'slow' queue for setting up vfolders. * mail-mt.c (mail_msg_init): Limit the maximum number of threads on the 'new' thread to 10. (mail_msg_init): Create a new queue 'slow' for doing slow operations. svn path=/trunk/; revision=13017 --- mail/mail-vfolder.c | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) (limited to 'mail/mail-vfolder.c') diff --git a/mail/mail-vfolder.c b/mail/mail-vfolder.c index 51740bf30f..c5dec4fb64 100644 --- a/mail/mail-vfolder.c +++ b/mail/mail-vfolder.c @@ -133,6 +133,14 @@ struct _setup_msg { GList *sources_folder; }; +static char * +vfolder_setup_desc(struct _mail_msg *mm, int done) +{ + struct _setup_msg *m = (struct _setup_msg *)mm; + + return g_strdup_printf(_("Setting up vfolder: %s"), m->folder->full_name); +} + static void vfolder_setup_do(struct _mail_msg *mm) { @@ -140,6 +148,8 @@ vfolder_setup_do(struct _mail_msg *mm) GList *l, *list = NULL; CamelFolder *folder; + printf("Setting up vfolder: %s\n", m->folder->full_name); + camel_vee_folder_set_expression((CamelVeeFolder *)m->folder, m->query); l = m->sources_uri; @@ -204,7 +214,7 @@ vfolder_setup_free (struct _mail_msg *mm) } static struct _mail_msg_op vfolder_setup_op = { - NULL, + vfolder_setup_desc, vfolder_setup_do, vfolder_setup_done, vfolder_setup_free, @@ -224,7 +234,7 @@ vfolder_setup(CamelFolder *folder, const char *query, GList *sources_uri, GList m->sources_folder = sources_folder; id = m->msg.seq; - e_thread_put(mail_thread_queued, (EMsg *)m); + e_thread_put(mail_thread_queued_slow, (EMsg *)m); return id; } -- cgit v1.2.3