X-Git-Url: http://git.maemo.org/git/?p=modest;a=blobdiff_plain;f=src%2Fmodest-utils.c;h=4447e5ef3dd34d7d5d976e3f7b1c3da89d7c64a9;hp=5f934c15c1575fa89597211ef69f7c15e2be7aa1;hb=601c3222c5fe3a42a573e4cdaa708369898cfadc;hpb=059f215cec94c21c941a925b521f6c4bef640550 diff --git a/src/modest-utils.c b/src/modest-utils.c index 5f934c1..4447e5e 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,12 +838,12 @@ 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"); } parts = g_strsplit (env_list, ":", 0); - gchar *path1; + gchar *path1 = NULL; const gchar* path2 = MODEST_MCC_MAPPING; if (translated) @@ -1042,7 +1044,7 @@ modest_utils_fill_country_model (GtkTreeModel *model, gint *locale_mcc) if (mcc == previous_mcc || g_hash_table_lookup (country_hash, country)) { - g_message ("already seen: '%s' %d", country, mcc); + g_debug ("already seen: '%s' %d", country, mcc); continue; } previous_mcc = mcc; @@ -1139,3 +1141,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); + } +}