summaryrefslogtreecommitdiffstats
path: root/framework/src/domain/mime/mimetreeparser/messagepart.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'framework/src/domain/mime/mimetreeparser/messagepart.cpp')
-rw-r--r--framework/src/domain/mime/mimetreeparser/messagepart.cpp28
1 files changed, 25 insertions, 3 deletions
diff --git a/framework/src/domain/mime/mimetreeparser/messagepart.cpp b/framework/src/domain/mime/mimetreeparser/messagepart.cpp
index b4db4016..00abb003 100644
--- a/framework/src/domain/mime/mimetreeparser/messagepart.cpp
+++ b/framework/src/domain/mime/mimetreeparser/messagepart.cpp
@@ -312,6 +312,22 @@ QVector<EncryptedMessagePart*> MessagePart::encryptions() const
312 return list; 312 return list;
313} 313}
314 314
315KMMsgEncryptionState MessagePart::encryptionState() const
316{
317 if (!encryptions().isEmpty()) {
318 return KMMsgFullyEncrypted;
319 }
320 return KMMsgNotEncrypted;
321}
322
323KMMsgSignatureState MessagePart::signatureState() const
324{
325 if (!signatures().isEmpty()) {
326 return KMMsgFullySigned;
327 }
328 return KMMsgNotSigned;
329}
330
315void MessagePart::bindLifetime(KMime::Content *node) 331void MessagePart::bindLifetime(KMime::Content *node)
316{ 332{
317 mNodesToDelete << node; 333 mNodesToDelete << node;
@@ -346,7 +362,9 @@ QString MessagePartList::htmlContent() const
346//-----TextMessageBlock---------------------- 362//-----TextMessageBlock----------------------
347 363
348TextMessagePart::TextMessagePart(ObjectTreeParser *otp, KMime::Content *node) 364TextMessagePart::TextMessagePart(ObjectTreeParser *otp, KMime::Content *node)
349 : MessagePartList(otp, node) 365 : MessagePartList(otp, node),
366 mSignatureState(KMMsgSignatureStateUnknown),
367 mEncryptionState(KMMsgEncryptionStateUnknown)
350{ 368{
351 if (!mNode) { 369 if (!mNode) {
352 qCWarning(MIMETREEPARSER_LOG) << "not a valid node"; 370 qCWarning(MIMETREEPARSER_LOG) << "not a valid node";
@@ -401,7 +419,6 @@ void TextMessagePart::parseContent()
401 mp->bindLifetime(content); 419 mp->bindLifetime(content);
402 mp->setIsEncrypted(true); 420 mp->setIsEncrypted(true);
403 appendSubPart(mp); 421 appendSubPart(mp);
404 continue;
405 } else if (block.type() == ClearsignedBlock) { 422 } else if (block.type() == ClearsignedBlock) {
406 KMime::Content *content = new KMime::Content; 423 KMime::Content *content = new KMime::Content;
407 content->setBody(block.text()); 424 content->setBody(block.text());
@@ -410,7 +427,6 @@ void TextMessagePart::parseContent()
410 mp->bindLifetime(content); 427 mp->bindLifetime(content);
411 mp->setIsSigned(true); 428 mp->setIsSigned(true);
412 appendSubPart(mp); 429 appendSubPart(mp);
413 continue;
414 } else { 430 } else {
415 continue; 431 continue;
416 } 432 }
@@ -445,11 +461,17 @@ void TextMessagePart::parseContent()
445 461
446KMMsgEncryptionState TextMessagePart::encryptionState() const 462KMMsgEncryptionState TextMessagePart::encryptionState() const
447{ 463{
464 if (mEncryptionState == KMMsgNotEncrypted) {
465 return MessagePart::encryptionState();
466 }
448 return mEncryptionState; 467 return mEncryptionState;
449} 468}
450 469
451KMMsgSignatureState TextMessagePart::signatureState() const 470KMMsgSignatureState TextMessagePart::signatureState() const
452{ 471{
472 if (mSignatureState == KMMsgNotSigned) {
473 return MessagePart::signatureState();
474 }
453 return mSignatureState; 475 return mSignatureState;
454} 476}
455 477