From f74a1448947259f52293ba922b64b2b3b8ff726c Mon Sep 17 00:00:00 2001 From: Milan Crha Date: Thu, 15 Oct 2009 21:02:42 +0200 Subject: Bug #322261 - vCalendar replies are sent out using the default account --- mail/em-utils.c | 38 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) (limited to 'mail/em-utils.c') diff --git a/mail/em-utils.c b/mail/em-utils.c index 79b11bc031..6198fbde40 100644 --- a/mail/em-utils.c +++ b/mail/em-utils.c @@ -2254,3 +2254,41 @@ em_utils_url_unescape_amp (const gchar *url) return buff; } + +static EAccount * +guess_account_folder (CamelFolder *folder) +{ + EAccount *account; + gchar *tmp; + + tmp = camel_url_to_string (CAMEL_SERVICE (folder->parent_store)->url, CAMEL_URL_HIDE_ALL); + account = mail_config_get_account_by_source_url (tmp); + g_free (tmp); + + return account; +} + +EAccount * +em_utils_guess_account (CamelMimeMessage *message, CamelFolder *folder) +{ + EAccount *account = NULL; + const gchar *tmp; + + /* check for newsgroup header */ + if (folder + && camel_medium_get_header ((CamelMedium *)message, "Newsgroups") + && (account = guess_account_folder (folder))) + return account; + + /* check for source folder */ + if (folder) + account = guess_account_folder (folder); + + /* then message source */ + if (account == NULL + && (tmp = camel_mime_message_get_source (message))) { + account = mail_config_get_account_by_source_url (tmp); + } + + return account; +} -- cgit v1.2.3