diff options
Diffstat (limited to 'framework/src/domain/mime/mimetreeparser/messagepart.cpp')
-rw-r--r-- | framework/src/domain/mime/mimetreeparser/messagepart.cpp | 28 |
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 | ||
315 | KMMsgEncryptionState MessagePart::encryptionState() const | ||
316 | { | ||
317 | if (!encryptions().isEmpty()) { | ||
318 | return KMMsgFullyEncrypted; | ||
319 | } | ||
320 | return KMMsgNotEncrypted; | ||
321 | } | ||
322 | |||
323 | KMMsgSignatureState MessagePart::signatureState() const | ||
324 | { | ||
325 | if (!signatures().isEmpty()) { | ||
326 | return KMMsgFullySigned; | ||
327 | } | ||
328 | return KMMsgNotSigned; | ||
329 | } | ||
330 | |||
315 | void MessagePart::bindLifetime(KMime::Content *node) | 331 | void 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 | ||
348 | TextMessagePart::TextMessagePart(ObjectTreeParser *otp, KMime::Content *node) | 364 | TextMessagePart::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 | ||
446 | KMMsgEncryptionState TextMessagePart::encryptionState() const | 462 | KMMsgEncryptionState TextMessagePart::encryptionState() const |
447 | { | 463 | { |
464 | if (mEncryptionState == KMMsgNotEncrypted) { | ||
465 | return MessagePart::encryptionState(); | ||
466 | } | ||
448 | return mEncryptionState; | 467 | return mEncryptionState; |
449 | } | 468 | } |
450 | 469 | ||
451 | KMMsgSignatureState TextMessagePart::signatureState() const | 470 | KMMsgSignatureState TextMessagePart::signatureState() const |
452 | { | 471 | { |
472 | if (mSignatureState == KMMsgNotSigned) { | ||
473 | return MessagePart::signatureState(); | ||
474 | } | ||
453 | return mSignatureState; | 475 | return mSignatureState; |
454 | } | 476 | } |
455 | 477 | ||