@@ -150,8 +150,12 @@ void ThreadHandler::createThreads(const int count)
150150 mThreads .last ()->setThreadIndex (i + 1 );
151151 connect (mThreads .last (), &CheckThread::done,
152152 this , &ThreadHandler::threadDone, Qt::QueuedConnection);
153- connect (mThreads .last (), &CheckThread::fileChecked,
154- &mResults , &ThreadResult::fileChecked, Qt::QueuedConnection);
153+ connect (mThreads .last (), &CheckThread::finishCheck,
154+ &mResults , &ThreadResult::finishCheck, Qt::QueuedConnection);
155+ connect (mThreads .last (), &CheckThread::startCheck,
156+ this , &ThreadHandler::startCheck, Qt::QueuedConnection);
157+ connect (mThreads .last (), &CheckThread::finishCheck,
158+ this , &ThreadHandler::finishCheck, Qt::QueuedConnection);
155159 }
156160}
157161
@@ -165,8 +169,12 @@ void ThreadHandler::removeThreads()
165169 }
166170 disconnect (thread, &CheckThread::done,
167171 this , &ThreadHandler::threadDone);
168- disconnect (thread, &CheckThread::fileChecked,
169- &mResults , &ThreadResult::fileChecked);
172+ disconnect (thread, &CheckThread::finishCheck,
173+ &mResults , &ThreadResult::finishCheck);
174+ disconnect (mThreads .last (), &CheckThread::startCheck,
175+ this , &ThreadHandler::startCheck);
176+ disconnect (mThreads .last (), &CheckThread::finishCheck,
177+ this , &ThreadHandler::finishCheck);
170178 delete thread;
171179 }
172180
@@ -318,3 +326,29 @@ void ThreadHandler::setCheckStartTime(QDateTime checkStartTime)
318326{
319327 mCheckStartTime = std::move (checkStartTime);
320328}
329+
330+ void ThreadHandler::startCheck (CheckThread::Details details)
331+ {
332+ mThreadDetails [details.index ] = details;
333+ emit threadDetailsUpdated (buildThreadDetailsText ());
334+ }
335+
336+ void ThreadHandler::finishCheck (CheckThread::Details details)
337+ {
338+ mThreadDetails .erase (details.index );
339+ emit threadDetailsUpdated (buildThreadDetailsText ());
340+ }
341+
342+ QString ThreadHandler::buildThreadDetailsText () const
343+ {
344+ QString result;
345+
346+ for (const auto &details : mThreadDetails ) {
347+ result += QString (" Thread %1 (%2): %3\n " )
348+ .arg (details.second .index )
349+ .arg (details.second .startTime .toString (Qt::TextDate))
350+ .arg (QString::fromStdString (details.second .file ));
351+ }
352+
353+ return result;
354+ }
0 commit comments