Move the static next() implementation from attachmentcollector.cpp to be a public partNode method. Implements iteration in "document order".
Use both to make AttachmentCollector skip the first text part, which would otherwise lead to the reply text being attached to a reply :)
svn path=/trunk/kdepim/; revision=318219
Implement textualContent{,Charset}(), which is was rawReplyString() should have been, if it would do what it's name suggests. Currently includes only the content of the first body text/* body part, but that can be changed, albeit with a hefty price tag for the added complexity.
svn path=/trunk/kdepim/; revision=318183
(better than <foo.h>, especially when systems could have an identity.h somewhere)
A kconfig_update script moves the identities from kmailrc to emailidentities
svn path=/trunk/kdepim/; revision=311347
- Port to the CryptPlug{,Wrapper} in libkleopatra, remove the old CryptPlugWrapper in libkdenetwork.
- Display an import summary for pkcs#7, smime-type=certs-only messages
- Shrink the config dialog page for CryptPlugs: Look, but don't touch.
- Add Tools->Certificate Manager to more easily launch Kleopatra (certmanager).
svn path=/trunk/kdepim/; revision=286575
by using the primary user ID from the key corresponding to the key id (because the signatureUserId() depends on the locale encoding).
And while I'm touching the file, I'll untabify it.
svn path=/trunk/kdepim/; revision=282251
Small cleanup. Get rid of partNode::CryptoType, which wasn't used for anything. Determine the CryptPlug to use for mp/signed by looking at the protocol parameter instead of searching for app/{pgp,pkcs7}-signature children.
(without the CryptPlugFactory)
--and--
candidate_for_3_2_1: Don't interpret application/pkcs7-mime; smime-type=certs-only as a signed message, but show an icon instead (until we have integrated enough of gpgme to be able to show a nice summary of the import as inline HTML).
svn path=/trunk/kdepim/; revision=281273
So make sure that the code is only called when the file is not empty and load this attachment types
by default as the processing code is called anyway.
svn path=/trunk/kdepim/; revision=277110
Don't try to decrypt anything while a popup menu is shown.
The real fix is making the decryption non-blocking. But that'll have to wait till after KDE 3.2.
CCMAIL: 56693-fixed@bugs.kde.org
svn path=/trunk/kdepim/; revision=270269
1. Work around bug in gpgsm or gpgme or cryptplug that leads to the email
addresses being returned as angle-addr's instead of addr-specs for
S/MIME: <mutz@kde.org> instead of mutz@kde.org.
For OpenPGP, this was correct.
2. Don't re-add the angle brackets in case no userid and no name is
returned (which seems to be the case for all OpenPGP-Signatures)
3. Don't try to make an email address out of a DN. The code resulted
in each DN segment being make a (senseless) maito: link that was
nested in the Real Thing, constructed two lines later.
CCMAIL: khz@kde.org
CCMAIL: wk@gnupg.org
svn path=/trunk/kdepim/; revision=260941
- Only return true in ObjectTreeParser::processApplicationMsTnefSubtype if the attachment could really be processed.
svn path=/trunk/kdepim/; revision=256294
- Check for reader window beforehand.
- Move variables to the scope where they belong. Use for instead of while.
- Only return true if the vCal was really processed.
- Remove trailing whitespace.
svn path=/trunk/kdepim/; revision=256287
bodypartformatter.cpp:
- Add classes and factory code for multipart subtypes
objecttreeparser.{h,cpp}:
- Refactor common child handling (normal mp/mixed semantics w/o the
kroupware message hack) into stdChildHandling().
- Make sure the above is used as fallback in every
processMultiPartFooSubtype(), then remove it from
processMultiPartType(), so the latter has the same structure as all
the other processFooType()s had.
- Refactor processMailmanMessage() and isMailmanMessage() from
processTextPlainSubtype().
- in parseObjectTree():
o Get rid of the old switch with all the kdFatal()s in it.
o Use AttachmentStrategy::defaultDisplay()
- remove processMultiPartType()
- simplyfy some processMutliPartFooSubtype() methods by:
o using stdChildHandling()
o introducing guard clauses
svn path=/trunk/kdepim/; revision=255329
not trivial) to BodyPartFormatter, calling back at
ObjectTreeParser::processFooBarSubtype() methods, as for app/* and
text/* before.
o add some triple-hashed comments about suspicious code
o in ObjectTreeParser::parseObjectTree(),
- replace repeated if(node)'s with a guard clause
- replace an occurrence of
if ( a || b ) {
if ( a ) foo; else bar;
}
with (hopefully equivalent :-)
if ( a ) foo; else if ( b ) bar;
- remove unneeded temp. var curNode and s/curNode/node/g;
- use new AttachmentStrategy::defaultDisplay() to get rid of an
else-if-cascade
o kill now unused ObjectTreeParser::processFooType() methods.
o In bodypartformatter.cpp, add the new BodyPartFormatter subclasses
and prepare for a table-driven (as opposed to switch'ing factory
methods.)
svn path=/trunk/kdepim/; revision=252732