o Fix display of t/p parts when using the smart attachment strategy:
They're now also shown inline if they have no filename associated with them.
Together, they fix display of multi-part text messages, such as Simon Josefsson's nice example mail, which has a tradition of having it's display being broken in KMail ;-)
svn path=/trunk/kdepim/; revision=223610
- Draw a nice frame around text attachments. The frame header contains the attachments name and the description. The name is an active URL which can be used the same way as the URL next to attachment icons, e. g. to easily save the attachment.
Some details:
kmreaderwin.*:
- Move the code which saves a message part to a temporary file from KMReaderWin::writePartIcon to a separate function KMReaderWin::writeMessagePartToTempFile.
- Change the HTML code which is generated for attachment icons resp. embedded images.
- Add note about improved threading to the list of new features.
- Change style for frame around embedded RFC822 attachments (why was the right border hidden??) and add style for frame around embedded text attachments.
objecttreeparser.cpp:
- replace !curNode->isAttachment() with curNode->hasContentDispositionInline() where appropriate
- fix the logic for displaying text message parts; a text message part is displayed inline if
- it's the first text part
- the attachment strategy is "inlined"
- the attachment strategy is "smart" and the cont. disp. of the msg part is "inline"
- we show only one mime part (i.e. the user selected some msg part in the mime tree viewer)
- draw frame around embedded text (non html) attachments, I should probably do the same for embedded text/html attachments
Backport will follow later.
svn path=/trunk/kdepim/; revision=213729
Some details:
partmetadata.h: PartMetaData gets an additional flag 'technicalProblem' which indicates technical problems during de/encryption, signing, signature verification
kmreaderwin.cpp: Add code to handle the new technicalProblem flag in writeSigstatHeader.
objecttreeparser.*:
- removed foundMatchingCryptPlug; instead kernel->cryptPlugList()->findForLibName() is used directly
- removed showMessageAndSetData; instead the messages are now creates directly in the code since they are too different
- get rid of the crypt plug error message boxes and instead generate error messages which are shown in the message status frames.
Probably most of the changed lines only got a different indention depth because some big if statements where removed.
svn path=/trunk/kdepim/; revision=212384
Fixes Simon Josefsson's nice test mail "Text with many charsets splitted into many MIME parts", except for the message parts where Qt doesn't have a text codec for (apparently):
charset=iso-2022-7bit
charset=devanagari
charset=lao
charset=thai-tis620
charset=tibetan
charset=viscii
svn path=/trunk/kdepim/; revision=208295
KHtmlPartHtmlWriter, which therefore becomes a QObject.
Add a new HtmlWriter::reset() method that KHtmlPartHtmlWriter
uses to stop it's timer and empty the html queue.
Don't delete mHtmlWriter in KMReaderWin dtor anymore, but rely on QObjects
destroying it's parents.
svn path=/trunk/kdepim/; revision=201105
- make most members non-static
- store the KMReaderWin to act on as member instead of passing it
down to every function.
- Fix callers of ObjectTreeParser::parseObjectTree() to instantiate
an ObjectTreeParser object first.
svn path=/trunk/kdenetwork/kmail/; revision=198872
- moved PartMetaData from kmreaderwin.cpp to partmetadata.h
- moved static methods KMReaderWin::{insertAndParseNewChildNode,
parseObjectTree,writeOpaqueOrMultipartSignedData} to a new class
KMail::ObjectTreeParser. KMReaderWin still has those methods, but
they just call the ObjectTreeParser ones.
svn path=/trunk/kdenetwork/kmail/; revision=197869