}
}
+void File::updateHashProgress(int percent)
+{
+ emit statusUpdate(Hashing, InProgress, percent);
+}
+
void File::startHashing()
{
qDebug() << "startHashing";
hashResult = Hash::instance()->hashFile(m_file);
connect(hashResult, SIGNAL(resultReady()), this, SLOT(finishHashing()));
+ connect(hashResult, SIGNAL(progress(int)), this, SLOT(updateHashProgress(int)));
updateStatus(Hashing, InProgress);
}
bool markWatched();
signals:
- void statusUpdate(AniDBUdpClient::File::Action action, AniDBUdpClient::File::ActionState state);
+ void statusUpdate(AniDBUdpClient::File::Action action, AniDBUdpClient::File::ActionState state, int percent = 0);
void finished();
private slots:
void work();
void workOnFinished(AniDBUdpClient::File::Action action, AniDBUdpClient::File::ActionState actionState);
+ void updateHashProgress(int percent);
+
private:
void startHashing();
{
int filePercent = (read * 100) / total;
emit fileProgress(filePercent);
+ emit fileQueue.first()->progress(filePercent);
int totalPercent = ((hashedFileSize + read) * 100) / totalFileSize;
emit progress(totalPercent);
signals:
void resultReady();
+ void progress(int percent);
private:
void setHash(const QByteArray &hash);