From ad60ca84eea1e3a89b18293d101cb44e7041c9cd Mon Sep 17 00:00:00 2001 From: Gehad elrobey Date: Fri, 30 Jan 2015 21:42:33 +0200 Subject: Export the XSLT based exports in a new thread. The XSLT based exports can consume long time while applying the xml format. This time can make the GUI unresponsive. Simply call the export functions in a new Thread. Signed-off-by: Gehad elrobey Signed-off-by: Dirk Hohndel --- qt-ui/divelogexportdialog.cpp | 3 ++- qt-ui/divelogexportdialog.h | 2 ++ 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/qt-ui/divelogexportdialog.cpp b/qt-ui/divelogexportdialog.cpp index cb7d6a02e..aff0265de 100644 --- a/qt-ui/divelogexportdialog.cpp +++ b/qt-ui/divelogexportdialog.cpp @@ -1,6 +1,7 @@ #include #include #include +#include #include "divelogexportdialog.h" #include "diveshareexportdialog.h" @@ -310,7 +311,7 @@ void DiveLogExportDialog::on_buttonBox_accepted() settings.endGroup(); // the non XSLT exports are called directly above, the XSLT based ons are called here if (!stylesheet.isEmpty()) - export_dives_xslt(filename.toUtf8(), ui->exportSelected->isChecked(), ui->CSVUnits_2->currentIndex(), stylesheet.toUtf8()); + future = QtConcurrent::run(export_dives_xslt, filename.toUtf8(), ui->exportSelected->isChecked(), ui->CSVUnits_2->currentIndex(), stylesheet.toUtf8()); } } diff --git a/qt-ui/divelogexportdialog.h b/qt-ui/divelogexportdialog.h index 0a603ced6..14f8f4539 100644 --- a/qt-ui/divelogexportdialog.h +++ b/qt-ui/divelogexportdialog.h @@ -3,6 +3,7 @@ #include #include +#include #include "helpers.h" #include "statistics.h" @@ -27,6 +28,7 @@ slots: void on_exportGroup_buttonClicked(QAbstractButton *); private: + QFuture future; Ui::DiveLogExportDialog *ui; void showExplanation(); void exportHtmlInit(const QString &filename); -- cgit v1.2.3-70-g09d2