feat: fast hash checker

This commit is contained in:
semenov
2025-09-23 09:23:04 +03:00
parent c9c62d22c0
commit 60c3d6244e
13 changed files with 17266 additions and 17077 deletions

34
Core/fasthashcalculator.h Normal file
View File

@@ -0,0 +1,34 @@
#ifndef FASTHASHCALCULATOR_H
#define FASTHASHCALCULATOR_H
#include <QHash>
#include <QMutex>
#include <QObject>
#include <QFile>
#include <QDirIterator>
#include <Data/FileData.h>
#include "tools.h"
class FastHashCalculator : public QObject
{
Q_OBJECT
public:
explicit FastHashCalculator(QObject *parent = nullptr);
void calculateHashes(const QString& path, const QString& ignoreName);
QList<FileData> *getHashList() const;
signals:
void finished();
private:
QByteArray calculateFileHashOptimized(const QString &filePath);
void calculateSingleHash(const QString &filePath);
QList<FileData>* hashList;
QMutex _mutex;
quint64 currentSize;
};
#endif // FASTHASHCALCULATOR_H