Revision: 7179
http://svn.sourceforge.net/mahogany/?rev=7179&view=rev
Author: vadz
Date: 2006-12-23 14:42:58 -0800 (Sat, 23 Dec 2006)
Log Message:
-----------
hack to use HTML viewer for multipart/related messages with HTML and image parts
Modified Paths:
--------------
trunk/M/src/classes/MessageView.cpp
Modified: trunk/M/src/classes/MessageView.cpp
===================================================================
--- trunk/M/src/classes/MessageView.cpp 2006-12-22 15:52:47 UTC (rev 7178)
+++ trunk/M/src/classes/MessageView.cpp 2006-12-23 22:42:58 UTC (rev 7179)
@@ -2492,7 +2492,10 @@
{
PartContent_Text = 0x01,
PartContent_Image = 0x02,
- PartContent_HTML = 0x04
+ PartContent_HTML = 0x04,
+
+ // this one is set when we have images only used by HTML part of the message
+ PartContent_HTMLImage = 0x08
};
int
@@ -2515,12 +2518,30 @@
case MimeType::MULTIPART:
{
+ // the automatic viewer determination logic is the same for
+ // multipart/alternative and multipart/mixed and we don't really
+ // support anything else for now (except multipart/related which
+ // is accounted for below)
for ( const MimePart *partChild = mimepart->GetNested();
partChild;
partChild = partChild->GetNext() )
{
contents |= DeterminePartContent(partChild);
}
+
+ if ( type.GetSubType() == _T("RELATED") )
+ {
+ // this is, of course, just a particular cas but a very
+ // common one so we handle the situation when we have
+ // multipart/related with an HTML part and an image part
+ // specially: this almost certainly means that the images can
+ // be seen *only* when HTML is viewed
+ if ( (contents & PartContent_HTML) &&
+ (contents & PartContent_Image) )
+ {
+ contents |= PartContent_HTMLImage;
+ }
+ }
}
break;
@@ -2567,9 +2588,13 @@
if ( contents & PartContent_HTML )
{
// use HTML viewer when the user prefers HTML to plain text or when there
- // is nothing but HTML
+ // is nothing but HTML or when we have images embedded in HTML (so they
+ // won't be shown if we don't use the HTML viewer) and we do want to see
+ // images inline
if ( m_ProfileValues.preferHTML ||
- (!(contents & PartContent_Text) && m_ProfileValues.allowHTML) )
+ (!(contents & PartContent_Text) && m_ProfileValues.allowHTML) ||
+ ((contents & PartContent_HTMLImage) &&
+ m_ProfileValues.allowImages) )
{
viewerName = _T("HtmlViewer");
}
This was sent by the SourceForge.net collaborative development platform, the
world's largest Open Source development site.
-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys - and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
_______________________________________________
Mahogany-cvsupdates mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/mahogany-cvsupdates