From 4e28a24af3cf272ce685b52a7679ecdab8f99569 Mon Sep 17 00:00:00 2001 From: Klaas Freitag Date: Thu, 21 May 2015 14:30:21 +0200 Subject: [PATCH] Let checksumType() read the config to destinguish checksum type. --- src/libsync/transmissionchecksumvalidator.cpp | 24 ++++++++++--------- 1 file changed, 13 insertions(+), 11 deletions(-) diff --git a/src/libsync/transmissionchecksumvalidator.cpp b/src/libsync/transmissionchecksumvalidator.cpp index b01f9e09a5..8d1fdb9521 100644 --- a/src/libsync/transmissionchecksumvalidator.cpp +++ b/src/libsync/transmissionchecksumvalidator.cpp @@ -34,13 +34,7 @@ void TransmissionChecksumValidator::setChecksumType( const QByteArray& type ) _checksumType = type; } -QString TransmissionChecksumValidator::checksumType() -{ - return _checksumType; -} - - -void TransmissionChecksumValidator::uploadValidation( SyncFileItem *item ) +QString TransmissionChecksumValidator::checksumType() const { QString checksumType = _checksumType; if( checksumType.isEmpty() ) { @@ -48,26 +42,34 @@ void TransmissionChecksumValidator::uploadValidation( SyncFileItem *item ) checksumType = cfg.transmissionChecksum(); } - if( checksumType.isEmpty() || !item ) { + return checksumType; +} + +void TransmissionChecksumValidator::uploadValidation( SyncFileItem *item ) +{ + const QString csType = checksumType(); + + if( csType.isEmpty() || !item ) { // if there is no checksum defined, continue to upload emit validated(); } else { _item = item; // Calculate the checksum in a different thread first. + connect( &_watcher, SIGNAL(finished()), this, SLOT(slotUploadChecksumCalculated())); - if( checksumType == checkSumMD5C ) { + if( csType == checkSumMD5C ) { item->_checksum = checkSumMD5C; item->_checksum += ":"; _watcher.setFuture(QtConcurrent::run(FileSystem::calcMd5, _filePath)); - } else if( checksumType == checkSumSHA1C ) { + } else if( csType == checkSumSHA1C ) { item->_checksum = checkSumSHA1C; item->_checksum += ":"; _watcher.setFuture(QtConcurrent::run( FileSystem::calcSha1, _filePath)); } #ifdef ZLIB_FOUND - else if( checksumType == checkSumAdlerC) { + else if( csType == checkSumAdlerC) { item->_checksum = checkSumAdlerC; item->_checksum += ":"; _watcher.setFuture(QtConcurrent::run(FileSystem::calcAdler32, _filePath));