Don't call UI functions from helper code

This may seem much more complicated but actually is much cleaner. Add each
thread we start to the list of future results and add a new UI function
that updates the UI once all of the threads have finished.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
This commit is contained in:
Dirk Hohndel 2015-03-10 10:22:34 -07:00
parent 44b55bd1a2
commit 1e3700c11f
4 changed files with 14 additions and 4 deletions

View file

@ -4,6 +4,7 @@
#include "divelist.h"
#include <QtConcurrentMap>
#include <QtConcurrentRun>
#include <QFuture>
#include <QDir>
#include <QCryptographicHash>
#include <mainwindow.h>
@ -53,6 +54,14 @@ SPixmap scaleImages(picturepointer picture)
return ret;
}
void DivePictureModel::updateDivePicturesWhenDone(QList<QFuture<void> > futures)
{
Q_FOREACH (QFuture<void> f, futures) {
f.waitForFinished();
}
updateDivePictures();
}
void DivePictureModel::updateDivePictures()
{
if (numberOfPictures != 0) {