#include <widgets/modest-isearch-view.h>
#include <widgets/modest-ui-constants.h>
#include <modest-icon-names.h>
+#include <tny-camel-bs-mime-part.h>
+#include <modest-runtime.h>
/* FIXNE: we should have no maemo-deps in widgets/ */
#ifndef MODEST_TOOLKIT_GTK
/* link click management */
gchar *last_url;
+
+ gboolean has_blocked_bs_images;
};
#define MODEST_GTKHTML_MSG_VIEW_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE((o), \
priv = MODEST_GTKHTML_MSG_VIEW_GET_PRIVATE(obj);
+ priv->has_blocked_bs_images = FALSE;
+
priv->idle_changes_count = 0;
priv->idle_readjust_scroll_id = 0;
priv->idle_resize_children_id = 0;
/* The message could have not been downloaded yet */
if (priv->msg) {
modest_mime_part_view_set_view_images (MODEST_MIME_PART_VIEW (priv->body_view), TRUE);
+ priv->has_blocked_bs_images = FALSE;
part = tny_mime_part_view_get_part (TNY_MIME_PART_VIEW (priv->body_view));
if (part) {
tny_mime_part_view_set_part (TNY_MIME_PART_VIEW (priv->body_view), part);
{
ModestGtkhtmlMsgViewPrivate *priv = MODEST_GTKHTML_MSG_VIEW_GET_PRIVATE (self);
- return (modest_mime_part_view_has_external_images (MODEST_MIME_PART_VIEW (priv->body_view)) &&
+ return ((modest_mime_part_view_has_external_images (MODEST_MIME_PART_VIEW (priv->body_view)) ||
+ (priv->has_blocked_bs_images)) &&
!modest_mime_part_view_get_view_images (MODEST_MIME_PART_VIEW (priv->body_view)));
}
if (part_cid && strcmp (cid, part_cid) == 0)
break;
+ if (part_cid && part_cid[0] == '<') {
+ const gchar *end;
+ end = g_strrstr_len (part_cid, -1, ">");
+
+ if (end && strncmp (part_cid + 1, cid, end - part_cid - 1) == 0)
+ break;
+ }
+
if (tny_mime_part_content_type_is (part, "multipart/related")) {
TnyList *related_parts = TNY_LIST (tny_simple_list_new ());
TnyIterator *related_iter = NULL;
} else {
return FALSE;
}
+ } else if (TNY_IS_CAMEL_BS_MIME_PART (part) &&
+ !tny_camel_bs_mime_part_is_fetched (TNY_CAMEL_BS_MIME_PART (part))){
+ if (!modest_mime_part_view_get_view_images (MODEST_MIME_PART_VIEW (priv->body_view)) ||
+ !tny_device_is_online (modest_runtime_get_device ())) {
+ priv->has_blocked_bs_images = TRUE;
+ tny_stream_close (stream);
+ return TRUE;
+ }
}
tny_mime_part_decode_to_stream ((TnyMimePart*)part, stream, NULL);
g_return_if_fail (self);
priv = MODEST_GTKHTML_MSG_VIEW_GET_PRIVATE(self);
+ priv->has_blocked_bs_images = FALSE;
modest_mail_header_view_set_loading (MODEST_MAIL_HEADER_VIEW (priv->mail_header_view), FALSE);
gtk_widget_set_no_show_all (priv->mail_header_view, FALSE);
modest_mime_part_view_set_view_images (MODEST_MIME_PART_VIEW (priv->body_view), FALSE);
}
priv = MODEST_GTKHTML_MSG_VIEW_GET_PRIVATE(self);
+ priv->has_blocked_bs_images = FALSE;
modest_mail_header_view_set_loading (MODEST_MAIL_HEADER_VIEW (priv->mail_header_view), TRUE);
gtk_widget_set_no_show_all (priv->mail_header_view, FALSE);
modest_mime_part_view_set_view_images (MODEST_MIME_PART_VIEW (priv->body_view), FALSE);