X-Git-Url: http://git.maemo.org/git/?p=modest;a=blobdiff_plain;f=src%2Fmodest-utils.c;h=3080b67b91ac88d6cb3558ea27026486b0d441a5;hp=791d72fc9bdc1203b018929aedc477edfdc7b56e;hb=d4bf1f13cff4590e5a9ad637e4c15fe61d4ba4be;hpb=4db44f57690ed2e6f418a12a2e0eeddf4cf22084 diff --git a/src/modest-utils.c b/src/modest-utils.c index 791d72f..3080b67 100644 --- a/src/modest-utils.c +++ b/src/modest-utils.c @@ -36,10 +36,11 @@ #include #include #include +#include #include #include #include - +#include #include #include "modest-utils.h" #include "modest-platform.h" @@ -742,28 +743,6 @@ modest_utils_get_account_name_from_recipient (const gchar *from_header, gchar ** break; } - from = - modest_account_mgr_get_from_string (mgr, node->data, NULL); - - if (from) { - gchar *from_email = - modest_text_utils_get_email_address (from); - gchar *from_header_email = - modest_text_utils_get_email_address (from_header); - - if (from_email && from_header_email) { - if (!modest_text_utils_utf8_strcmp (from_header_email, from_email, TRUE)) { - account_name = g_strdup (node->data); - g_free (from); - g_free (from_email); - break; - } - } - g_free (from_email); - g_free (from_header_email); - g_free (from); - } - transport_account = modest_account_mgr_get_server_account_name (modest_runtime_get_account_mgr (), (const gchar *) node->data, TNY_ACCOUNT_TYPE_TRANSPORT); @@ -800,6 +779,29 @@ modest_utils_get_account_name_from_recipient (const gchar *from_header, gchar ** } if (mailbox && *mailbox) break; + + from = + modest_account_mgr_get_from_string (mgr, node->data, NULL); + + if (from) { + gchar *from_email = + modest_text_utils_get_email_address (from); + gchar *from_header_email = + modest_text_utils_get_email_address (from_header); + + if (from_email && from_header_email) { + if (!modest_text_utils_utf8_strcmp (from_header_email, from_email, TRUE)) { + account_name = g_strdup (node->data); + g_free (from); + g_free (from_email); + break; + } + } + g_free (from_email); + g_free (from_header_email); + g_free (from); + } + } g_slist_foreach (accounts, (GFunc) g_free, NULL); @@ -836,7 +838,7 @@ modest_utils_open_mcc_mapping_file (gboolean from_lc_messages, gboolean *transla gchar **parts, **node; if (from_lc_messages) { - env_list = getenv ("LC_MESSAGES"); + env_list = setlocale (LC_MESSAGES, NULL); } else { env_list = getenv ("LANG"); } @@ -1129,6 +1131,8 @@ free_notification_data (gpointer data, g_free (notification_data->from); g_free (notification_data->subject); g_free (notification_data->uri); + + g_slice_free (ModestMsgNotificationData, notification_data); } void @@ -1139,3 +1143,27 @@ modest_utils_free_notification_list (GList *notification_list) g_list_foreach (notification_list, free_notification_data, NULL); g_list_free (notification_list); } + +void +modest_utils_flush_send_queue (const gchar *account_id) +{ + TnyTransportAccount *account; + + /* Get the transport account */ + account = (TnyTransportAccount *) + modest_tny_account_store_get_server_account (modest_runtime_get_account_store (), + account_id, + TNY_ACCOUNT_TYPE_TRANSPORT); + if (account) { + ModestMailOperation *wakeup_op; + ModestTnySendQueue *send_queue = modest_runtime_get_send_queue (account, TRUE); + + /* Flush it! */ + wakeup_op = modest_mail_operation_new (NULL); + modest_mail_operation_queue_add (modest_runtime_get_mail_operation_queue (), + wakeup_op); + modest_mail_operation_queue_wakeup (wakeup_op, send_queue); + + g_object_unref (account); + } +}