diff options
Diffstat (limited to 'src/common')
-rw-r--r-- | src/common/checksums.cpp | 8 | ||||
-rw-r--r-- | src/common/checksums.h | 5 |
2 files changed, 9 insertions, 4 deletions
diff --git a/src/common/checksums.cpp b/src/common/checksums.cpp index 5cef55bfb..a298e5d2f 100644 --- a/src/common/checksums.cpp +++ b/src/common/checksums.cpp @@ -337,7 +337,7 @@ ComputeChecksum *ValidateChecksumHeader::prepareStart(const QByteArray &checksum if (!parseChecksumHeader(checksumHeader, &_expectedChecksumType, &_expectedChecksum)) { qCWarning(lcChecksums) << "Checksum header malformed:" << checksumHeader; - emit validationFailed(tr("The checksum header is malformed."), ChecksumHeaderMalformed); + emit validationFailed(tr("The checksum header is malformed."), _calculatedChecksumType, _calculatedChecksum, ChecksumHeaderMalformed); return nullptr; } @@ -377,11 +377,13 @@ void ValidateChecksumHeader::slotChecksumCalculated(const QByteArray &checksumTy _calculatedChecksum = checksum; if (checksumType != _expectedChecksumType) { - emit validationFailed(tr("The checksum header contained an unknown checksum type \"%1\"").arg(QString::fromLatin1(_expectedChecksumType)), ChecksumTypeUnknown); + emit validationFailed(tr("The checksum header contained an unknown checksum type \"%1\"").arg(QString::fromLatin1(_expectedChecksumType)), + _calculatedChecksumType, _calculatedChecksum, ChecksumTypeUnknown); return; } if (checksum != _expectedChecksum) { - emit validationFailed(tr(R"(The downloaded file does not match the checksum, it will be resumed. "%1" != "%2")").arg(QString::fromUtf8(_expectedChecksum), QString::fromUtf8(checksum)), ChecksumMismatch); + emit validationFailed(tr(R"(The downloaded file does not match the checksum, it will be resumed. "%1" != "%2")").arg(QString::fromUtf8(_expectedChecksum), QString::fromUtf8(checksum)), + _calculatedChecksumType, _calculatedChecksum, ChecksumMismatch); return; } emit validated(checksumType, checksum); diff --git a/src/common/checksums.h b/src/common/checksums.h index 80716040c..8ade282c7 100644 --- a/src/common/checksums.h +++ b/src/common/checksums.h @@ -146,6 +146,8 @@ public: ChecksumTypeUnknown, ChecksumMismatch, }; + Q_ENUM(FailureReason) + explicit ValidateChecksumHeader(QObject *parent = nullptr); /** @@ -172,7 +174,8 @@ public: signals: void validated(const QByteArray &checksumType, const QByteArray &checksum); - void validationFailed(const QString &errMsg, FailureReason reason); + void validationFailed(const QString &errMsg, const QByteArray &calculatedChecksumType, + const QByteArray &calculatedChecksum, ValidateChecksumHeader::FailureReason reason); private slots: void slotChecksumCalculated(const QByteArray &checksumType, const QByteArray &checksum); |