From 0d27a627858afb85731bd4fec48a5f47c9f68d0f Mon Sep 17 00:00:00 2001 From: Jeffrey Stedfast Date: Thu, 25 Jul 2002 18:21:15 +0000 Subject: Use mail_tools_folder_to_url(). 2002-07-24 Jeffrey Stedfast * mail-config.c (mail_config_folder_to_safe_url): Use mail_tools_folder_to_url(). * mail-tools.c (mail_tools_folder_to_url): New convenience function to take a CamelFolder and return the URL associated with it. * mail-callbacks.c (composer_get_message): Pass in a 'post' argument so we know whether or not we can ignore a NULL set of recipients. (composer_send_cb): Default send->send to TRUE unless we are in Post-To mode, in which case set send->send to FALSE (since we'll have nothing to send). Also, if we are in Post-To mode, append to the folder the user wants to post to rather than appending to Outbox. (composer_send_queued_cb): Only queue a send thread if send->send is TRUE (ie, the composer was not in Post mode - if it was in Post mode, then the message post has already been saved in the correct folder so there is nothing to do). (post_message): New function to create an empty composer widget in Post mode. (post_reply): New function that calls mail_reply with the new mode of REPLY_POST. (mail_generate_reply): If the mode is REPLY_POST, create a Post composer widget otherwise create a normal composer widget. svn path=/trunk/; revision=17592 --- mail/mail-tools.c | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) (limited to 'mail/mail-tools.c') diff --git a/mail/mail-tools.c b/mail/mail-tools.c index 2b4061ed63..c2e4d33e06 100644 --- a/mail/mail-tools.c +++ b/mail/mail-tools.c @@ -448,3 +448,26 @@ mail_tools_x_evolution_message_parse (char *in, unsigned int inlen, GPtrArray ** return folder; } + + +char * +mail_tools_folder_to_url (CamelFolder *folder) +{ + char *service_url, *url; + const char *full_name; + CamelService *service; + + g_return_val_if_fail (CAMEL_IS_FOLDER (folder), NULL); + + full_name = folder->full_name; + while (*full_name == '/') + full_name++; + + service = (CamelService *) folder->parent_store; + service_url = camel_url_to_string (service->url, CAMEL_URL_HIDE_ALL); + url = g_strdup_printf ("%s%s%s", service_url, service_url[strlen (service_url)-1] != '/' ? "/" : "", + full_name); + g_free (service_url); + + return url; +} -- cgit