diff options
Diffstat (limited to 'framework/src/domain/mime/partmodel.cpp')
-rw-r--r-- | framework/src/domain/mime/partmodel.cpp | 52 |
1 files changed, 28 insertions, 24 deletions
diff --git a/framework/src/domain/mime/partmodel.cpp b/framework/src/domain/mime/partmodel.cpp index bf11b52d..c4e002b7 100644 --- a/framework/src/domain/mime/partmodel.cpp +++ b/framework/src/domain/mime/partmodel.cpp | |||
@@ -139,6 +139,32 @@ static QString addCss(const QString &s) | |||
139 | return header + s + QStringLiteral("</body></html>"); | 139 | return header + s + QStringLiteral("</body></html>"); |
140 | } | 140 | } |
141 | 141 | ||
142 | |||
143 | SignatureInfo *signatureInfo(MimeTreeParser::MessagePart *messagePart) | ||
144 | { | ||
145 | auto signatureInfo = new SignatureInfo; | ||
146 | const auto signatureParts = messagePart->signatures(); | ||
147 | if (signatureParts.size() > 1) { | ||
148 | qWarning() << "Can't deal with more than one signature"; | ||
149 | } | ||
150 | for (const auto &p : signatureParts) { | ||
151 | signatureInfo->keyId = p->partMetaData()->keyId; | ||
152 | signatureInfo->keyMissing = p->partMetaData()->sigSummary & GpgME::Signature::KeyMissing; | ||
153 | signatureInfo->keyExpired = p->partMetaData()->sigSummary & GpgME::Signature::KeyExpired; | ||
154 | signatureInfo->keyRevoked = p->partMetaData()->sigSummary & GpgME::Signature::KeyRevoked; | ||
155 | signatureInfo->sigExpired = p->partMetaData()->sigSummary & GpgME::Signature::SigExpired; | ||
156 | signatureInfo->crlMissing = p->partMetaData()->sigSummary & GpgME::Signature::CrlMissing; | ||
157 | signatureInfo->crlTooOld = p->partMetaData()->sigSummary & GpgME::Signature::CrlTooOld; | ||
158 | signatureInfo->signer = p->partMetaData()->signer; | ||
159 | signatureInfo->signClass = p->partMetaData()->signClass; | ||
160 | signatureInfo->signerMailAddresses = p->partMetaData()->signerMailAddresses; | ||
161 | signatureInfo->signatureIsGood = p->partMetaData()->isGoodSignature; | ||
162 | signatureInfo->keyIsTrusted = p->partMetaData()->keyTrust & GpgME::Signature::Full || | ||
163 | p->partMetaData()->keyTrust & GpgME::Signature::Ultimate; | ||
164 | } | ||
165 | return signatureInfo; | ||
166 | } | ||
167 | |||
142 | QVariant PartModel::data(const QModelIndex &index, int role) const | 168 | QVariant PartModel::data(const QModelIndex &index, int role) const |
143 | { | 169 | { |
144 | if (!index.isValid()) { | 170 | if (!index.isValid()) { |
@@ -236,30 +262,8 @@ QVariant PartModel::data(const QModelIndex &index, int role) const | |||
236 | //No info | 262 | //No info |
237 | return "unknown"; | 263 | return "unknown"; |
238 | } | 264 | } |
239 | case SignatureDetails: { | 265 | case SignatureDetails: |
240 | auto signatureInfo = new SignatureInfo; | 266 | return QVariant::fromValue(signatureInfo(messagePart)); |
241 | |||
242 | const auto signatureParts = messagePart->signatures(); | ||
243 | if (signatureParts.size() > 1) { | ||
244 | qWarning() << "Can't deal with more than one signature"; | ||
245 | } | ||
246 | for (const auto &p : signatureParts) { | ||
247 | signatureInfo->mKeyId = p->partMetaData()->keyId; | ||
248 | signatureInfo->mKeyMissing = p->partMetaData()->sigSummary & GpgME::Signature::KeyMissing; | ||
249 | signatureInfo->mKeyExpired = p->partMetaData()->sigSummary & GpgME::Signature::KeyExpired; | ||
250 | signatureInfo->mKeyRevoked = p->partMetaData()->sigSummary & GpgME::Signature::KeyRevoked; | ||
251 | signatureInfo->mSigExpired = p->partMetaData()->sigSummary & GpgME::Signature::SigExpired; | ||
252 | signatureInfo->mCrlMissing = p->partMetaData()->sigSummary & GpgME::Signature::CrlMissing; | ||
253 | signatureInfo->mCrlTooOld = p->partMetaData()->sigSummary & GpgME::Signature::CrlTooOld; | ||
254 | signatureInfo->mSigner = p->partMetaData()->signer; | ||
255 | signatureInfo->mSignClass = p->partMetaData()->signClass; | ||
256 | signatureInfo->mSignerMailAddresses = p->partMetaData()->signerMailAddresses; | ||
257 | signatureInfo->mSignatureIsGood = p->partMetaData()->isGoodSignature; | ||
258 | signatureInfo->mKeyIsTrusted = p->partMetaData()->keyTrust & GpgME::Signature::Full || | ||
259 | p->partMetaData()->keyTrust & GpgME::Signature::Ultimate; | ||
260 | } | ||
261 | return QVariant::fromValue(signatureInfo); | ||
262 | } | ||
263 | case ErrorType: | 267 | case ErrorType: |
264 | return messagePart->error(); | 268 | return messagePart->error(); |
265 | case ErrorString: { | 269 | case ErrorString: { |