#ifndef FASTHASHCALCULATOR_H #define FASTHASHCALCULATOR_H #include #include #include #include #include #include #include "tools.h" class FastHashCalculator : public QObject { Q_OBJECT public: explicit FastHashCalculator(QObject *parent = nullptr); void calculateHashes(const QString& path, const QString& ignoreName); QList *getHashList() const; signals: void sigSendHashInfo(QString fullSize,QString current); void finished(); private: QByteArray calculateFileHashOptimized(const QString &filePath); void calculateSingleHash(const QString &filePath); QList* hashList; QMutex _mutex; QString fullSize; quint64 currentSize; quint64 getDirectorySize(const QString &path); void hashCounterDisplay(quint64 size); }; #endif // FASTHASHCALCULATOR_H