aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/core/renderer
diff options
context:
space:
mode:
authorGravatar Hoa V. DINH <dinh.viet.hoa@gmail.com>2015-06-01 20:41:47 +0900
committerGravatar Hoa V. DINH <dinh.viet.hoa@gmail.com>2015-06-01 20:42:01 +0900
commit4a24d0aa5473db515cab38f28bc6dc1118eaebe0 (patch)
treefe31de191d6318a62142be628d8bd18e9cf2ba0d /src/core/renderer
parent89e257f01052a67a6722e969c8766c24f790ae08 (diff)
Various fixes, made HTMLCleaner public, added URL encoder
Diffstat (limited to 'src/core/renderer')
-rw-r--r--src/core/renderer/MCHTMLRenderer.cpp25
-rw-r--r--src/core/renderer/MCHTMLRendererCallback.cpp4
-rw-r--r--src/core/renderer/MCHTMLRendererCallback.h2
3 files changed, 31 insertions, 0 deletions
diff --git a/src/core/renderer/MCHTMLRenderer.cpp b/src/core/renderer/MCHTMLRenderer.cpp
index 60788d57..e2839610 100644
--- a/src/core/renderer/MCHTMLRenderer.cpp
+++ b/src/core/renderer/MCHTMLRenderer.cpp
@@ -218,6 +218,9 @@ static String * htmlForAbstractMessage(String * folder, AbstractMessage * messag
context.pass = 1;
context.firstAttachment = false;
context.hasTextPart = false;
+
+ htmlCallback->setMixedTextAndAttachmentsModeEnabled(context.hasMixedTextAndAttachments);
+
String * content = htmlForAbstractPart(mainPart, &context);
if (content == NULL)
return NULL;
@@ -274,6 +277,28 @@ static String * htmlForAbstractSinglePart(AbstractPart * part, htmlRendererConte
if (isTextPart(part, context)) {
if (context->pass == 0) {
if (context->state == RENDER_STATE_HAD_ATTACHMENT) {
+#if 0
+ if (part->className()->isEqual(MCSTR("mailcore::IMAPPart"))) {
+ if (mimeType->isEqual(MCSTR("text/plain"))) {
+ Data * data = context->dataCallback->dataForIMAPPart(context->folder, (IMAPPart *) part);
+ if (data != NULL) {
+ if (data->length() == 0) {
+ return NULL;
+ }
+ else if (data->length() == 2) {
+ if (strncmp(data->bytes(), "\r\n", 2) == 0) {
+ return NULL;
+ }
+ }
+ else if (data->length() == 1) {
+ if (strncmp(data->bytes(), "\n", 1) == 0) {
+ return NULL;
+ }
+ }
+ }
+ }
+ }
+#endif
context->state = RENDER_STATE_HAD_ATTACHMENT_THEN_TEXT;
}
return NULL;
diff --git a/src/core/renderer/MCHTMLRendererCallback.cpp b/src/core/renderer/MCHTMLRendererCallback.cpp
index fb492c9e..a3b14341 100644
--- a/src/core/renderer/MCHTMLRendererCallback.cpp
+++ b/src/core/renderer/MCHTMLRendererCallback.cpp
@@ -289,3 +289,7 @@ bool HTMLRendererTemplateCallback::shouldShowPart(AbstractPart * part)
{
return true;
}
+
+void HTMLRendererTemplateCallback::setMixedTextAndAttachmentsModeEnabled(bool enabled)
+{
+}
diff --git a/src/core/renderer/MCHTMLRendererCallback.h b/src/core/renderer/MCHTMLRendererCallback.h
index a12a3e45..4a4fc40f 100644
--- a/src/core/renderer/MCHTMLRendererCallback.h
+++ b/src/core/renderer/MCHTMLRendererCallback.h
@@ -35,6 +35,8 @@ namespace mailcore {
HTMLRendererTemplateCallback();
virtual ~HTMLRendererTemplateCallback();
+ virtual void setMixedTextAndAttachmentsModeEnabled(bool enabled);
+
virtual bool canPreviewPart(AbstractPart * part);
virtual bool shouldShowPart(AbstractPart * part);