From fd67fd43ea2c8e85f13f0f858d36d86f2af10e19 Mon Sep 17 00:00:00 2001 From: Not Zed Date: Wed, 11 Sep 2002 04:27:23 +0000 Subject: Handle file uri's too. 2002-09-11 Not Zed * component-factory.c (configure_folder_popup): Handle file uri's too. * mail-callbacks.c (configure_folder): clear message list before calling configure folder. (local_configure_done): completion callback to reset message list when done. * mail-local.c (mail_local_reconfigure_folder): changed args to accept uri, and done callback. (reconfigure_got_folder): moved code to callback which presents the configure uri once we have the folder. svn path=/trunk/; revision=18039 --- mail/mail-callbacks.c | 29 +++++++++++++++++++++++++---- 1 file changed, 25 insertions(+), 4 deletions(-) (limited to 'mail/mail-callbacks.c') diff --git a/mail/mail-callbacks.c b/mail/mail-callbacks.c index fc5c0f892c..571470ba3c 100644 --- a/mail/mail-callbacks.c +++ b/mail/mail-callbacks.c @@ -3292,6 +3292,23 @@ manage_subscriptions (BonoboUIComponent *uih, void *user_data, const char *path) /******************** End Subscription Dialog ***************************/ +static void +local_configure_done(const char *uri, CamelFolder *folder, void *data) +{ + FolderBrowser *fb = data; + + if (FOLDER_BROWSER_IS_DESTROYED (fb)) { + gtk_object_unref((GtkObject *)fb); + return; + } + + if (folder == NULL) + folder = fb->folder; + + message_list_set_folder(fb->message_list, folder, FALSE); + gtk_object_unref((GtkObject *)fb); +} + void configure_folder (BonoboUIComponent *uih, void *user_data, const char *path) { @@ -3300,10 +3317,14 @@ configure_folder (BonoboUIComponent *uih, void *user_data, const char *path) if (FOLDER_BROWSER_IS_DESTROYED (fb)) return; - if (fb->uri && strncmp (fb->uri, "vfolder:", 8) == 0) { - vfolder_edit_rule (fb->uri); - } else { - mail_local_reconfigure_folder (fb); + if (fb->uri) { + if (strncmp (fb->uri, "vfolder:", 8) == 0) { + vfolder_edit_rule (fb->uri); + } else { + message_list_set_folder(fb->message_list, NULL, FALSE); + gtk_object_ref((GtkObject *)fb); + mail_local_reconfigure_folder(fb->uri, local_configure_done, fb); + } } } -- cgit v1.2.3