diff options
-rw-r--r-- | src/core/FileWatcher.cpp | 24 |
1 files changed, 14 insertions, 10 deletions
diff --git a/src/core/FileWatcher.cpp b/src/core/FileWatcher.cpp index 82328832f..0d1def31a 100644 --- a/src/core/FileWatcher.cpp +++ b/src/core/FileWatcher.cpp @@ -18,7 +18,9 @@ #include "FileWatcher.h" +#include "core/AsyncTask.h" #include "core/Clock.h" + #include <QCryptographicHash> #include <QFileInfo> @@ -134,17 +136,19 @@ void FileWatcher::checkFileChecksum() QByteArray FileWatcher::calculateChecksum() { - QFile file(m_filePath); - if (file.open(QFile::ReadOnly)) { - QCryptographicHash hash(QCryptographicHash::Sha256); - if (m_fileChecksumSizeBytes > 0) { - hash.addData(file.read(m_fileChecksumSizeBytes)); - } else { - hash.addData(&file); + return AsyncTask::runAndWaitForFuture([this]() -> QByteArray { + QFile file(m_filePath); + if (file.open(QFile::ReadOnly)) { + QCryptographicHash hash(QCryptographicHash::Sha256); + if (m_fileChecksumSizeBytes > 0) { + hash.addData(file.read(m_fileChecksumSizeBytes)); + } else { + hash.addData(&file); + } + return hash.result(); } - return hash.result(); - } - return {}; + return {}; + }); } BulkFileWatcher::BulkFileWatcher(QObject* parent) |