Autorefresh every N minutes also in GTK.
[modest] / src / modest-tny-account-store.c
index 26543a6..0d1689d 100644 (file)
@@ -62,6 +62,8 @@
 #include <modest-platform.h>
 #include "modest-ui-actions.h"
 #include <widgets/modest-account-settings-dialog.h>
+#include <tny-camel-bs-msg-receive-strategy.h>
+#include <modest-tny-msg.h>
 
 #ifdef MODEST_PLATFORM_MAEMO
 #include <tny-maemo-conic-device.h>
@@ -640,7 +642,7 @@ get_password (TnyAccount *account, const gchar * prompt_not_used, gboolean *canc
                                                                                             server_account_name);
                                /* If the login has ever succeeded then show a specific message */
                                if (username_known)
-                                       msg = _CS ("ecdg_ib_set_password_incorrect");
+                                       msg = _CS_SET_PASSWORD_INCORRECT;
                                else
                                        msg = _("mcen_ib_username_pw_incorrect");
                                if (modest_window_mgr_get_num_windows (modest_runtime_get_window_mgr ()))
@@ -865,6 +867,30 @@ volume_path_is_mounted (const gchar* path)
        return result;
 }
 
+static void _bodies_filter (TnyMsg *msg, TnyList *list)
+{
+       TnyMimePart *html_part, *text_part;
+
+       html_part = modest_tny_msg_find_body_part (msg, TRUE);
+       text_part = modest_tny_msg_find_body_part (msg, FALSE);
+
+       if (text_part && TNY_IS_MIME_PART (text_part) && html_part == text_part) {
+               g_object_unref (text_part);
+               text_part = NULL;
+       }
+
+       if (html_part && TNY_IS_MIME_PART (html_part)) {
+               tny_list_prepend (list, G_OBJECT (html_part));
+               g_object_unref (html_part);
+       }
+
+       if (text_part && TNY_IS_MIME_PART (text_part)) {
+               tny_list_prepend (list, G_OBJECT (text_part));
+               g_object_unref (text_part);
+       }
+}
+
+
 ModestTnyAccountStore*
 modest_tny_account_store_new (ModestAccountMgr *account_mgr,
                              TnyDevice *device)
@@ -875,10 +901,14 @@ modest_tny_account_store_new (ModestAccountMgr *account_mgr,
        TnyLockable *lockable;
        GnomeVFSVolumeMonitor* monitor = NULL;
        gboolean auto_update;
+       const gchar *mmc_path = NULL;
 
        g_return_val_if_fail (account_mgr, NULL);
        g_return_val_if_fail (device, NULL);
 
+       tny_camel_bs_msg_receive_strategy_set_global_bodies_filter (
+               (TnyCamelBsMsgReceiveStrategyBodiesFilter) _bodies_filter);
+
        obj  = G_OBJECT(g_object_new(MODEST_TYPE_TNY_ACCOUNT_STORE, NULL));
        priv = MODEST_TNY_ACCOUNT_STORE_GET_PRIVATE(obj);
 
@@ -950,7 +980,8 @@ modest_tny_account_store_new (ModestAccountMgr *account_mgr,
                add_connection_specific_transport_accounts (MODEST_TNY_ACCOUNT_STORE(obj));
 
        /* This is a singleton, so it does not need to be unrefed. */
-       if (volume_path_is_mounted (g_getenv (MODEST_MMC1_VOLUMEPATH_ENV))) {
+       mmc_path = g_getenv (MODEST_MMC1_VOLUMEPATH_ENV);
+       if (mmc_path && volume_path_is_mounted (mmc_path)) {
                /* It is mounted: */
                add_mmc_account (MODEST_TNY_ACCOUNT_STORE (obj), FALSE /* don't emit the insert signal. */);
        }