mirror of
https://github.com/subsurface/subsurface.git
synced 2025-02-19 22:16:15 +00:00
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:
parent
44b55bd1a2
commit
1e3700c11f
4 changed files with 14 additions and 4 deletions
|
@ -327,14 +327,15 @@ void MainWindow::on_actionHash_images_triggered()
|
|||
dialog.setLabelText(QFileDialog::Accept, tr("Scan"));
|
||||
dialog.setLabelText(QFileDialog::Reject, tr("Cancel"));
|
||||
QStringList dirnames;
|
||||
QList<QFuture<void> > futures;
|
||||
if (dialog.exec())
|
||||
dirnames = dialog.selectedFiles();
|
||||
if (dirnames.isEmpty())
|
||||
return;
|
||||
foreach (QString dir, dirnames) {
|
||||
QtConcurrent::run(learnImages, QDir(dir), 10, false);
|
||||
futures << QtConcurrent::run(learnImages, QDir(dir), 10, false);
|
||||
}
|
||||
|
||||
DivePictureModel::instance()->updateDivePicturesWhenDone(futures);
|
||||
}
|
||||
|
||||
ProfileWidget2 *MainWindow::graphics() const
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue