diff options
author | Dirk Hohndel <dirk@hohndel.org> | 2015-03-10 10:22:34 -0700 |
---|---|---|
committer | Dirk Hohndel <dirk@hohndel.org> | 2015-03-10 10:22:34 -0700 |
commit | 1e3700c11fc58801f78ac8fd94a672a7af2238b5 (patch) | |
tree | d1e62e6a2fd687ff0c6b203a57680e1031c44747 /qt-ui/divepicturewidget.cpp | |
parent | 44b55bd1a220531c5d62e8bce01d27392de2dbee (diff) | |
download | subsurface-1e3700c11fc58801f78ac8fd94a672a7af2238b5.tar.gz |
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>
Diffstat (limited to 'qt-ui/divepicturewidget.cpp')
-rw-r--r-- | qt-ui/divepicturewidget.cpp | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/qt-ui/divepicturewidget.cpp b/qt-ui/divepicturewidget.cpp index a0d209b6d..1baceeb7e 100644 --- a/qt-ui/divepicturewidget.cpp +++ b/qt-ui/divepicturewidget.cpp @@ -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) { |