diff options
author | Berthold Stoeger <bstoeger@mail.tuwien.ac.at> | 2020-02-06 22:18:42 +0100 |
---|---|---|
committer | Dirk Hohndel <dirk@hohndel.org> | 2020-02-09 12:13:18 -0800 |
commit | 5b302235f4a7c3a5c8bf1bc6404171ebef1b321c (patch) | |
tree | 176f6bbcd91f85e156769e88b0af312da28e37d1 /backend-shared | |
parent | 2cea115ddb7528d9e6dd1bf918ebf5c670b82479 (diff) | |
download | subsurface-5b302235f4a7c3a5c8bf1bc6404171ebef1b321c.tar.gz |
Cleanup: Remove global QFuture from exportFuncs
When exporting dives we show a message. The message is closed when
the export is finished. This is coordinated by a QFuture. Instead
of keeping a global QFuture in the export-code, pass it around
as a local variable.
This is supported according to Qt's documentation:
"QFuture is a lightweight reference counted class that can be
passed by value." and the source code indicates the same.
Not only does this remove a global, it also makes the code
more flexible: Now we could show one notification per export,
for example.
Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
Diffstat (limited to 'backend-shared')
-rw-r--r-- | backend-shared/exportfuncs.cpp | 4 | ||||
-rw-r--r-- | backend-shared/exportfuncs.h | 3 |
2 files changed, 3 insertions, 4 deletions
diff --git a/backend-shared/exportfuncs.cpp b/backend-shared/exportfuncs.cpp index 839c0bf1d..eea20ef5b 100644 --- a/backend-shared/exportfuncs.cpp +++ b/backend-shared/exportfuncs.cpp @@ -311,8 +311,8 @@ std::vector<const dive_site *> exportFuncs::getDiveSitesToExport(bool selectedOn return res; } -void exportFuncs::exportUsingStyleSheet(QString filename, bool doExport, int units, +QFuture<int> exportFuncs::exportUsingStyleSheet(QString filename, bool doExport, int units, QString stylesheet, bool anonymize) { - future = QtConcurrent::run(export_dives_xslt, filename.toUtf8(), doExport, units, stylesheet.toUtf8(), anonymize); + return QtConcurrent::run(export_dives_xslt, filename.toUtf8(), doExport, units, stylesheet.toUtf8(), anonymize); } diff --git a/backend-shared/exportfuncs.h b/backend-shared/exportfuncs.h index a378e152d..530cde7e0 100644 --- a/backend-shared/exportfuncs.h +++ b/backend-shared/exportfuncs.h @@ -16,9 +16,8 @@ public: void export_TeX(const char *filename, const bool selected_only, bool plain); void export_depths(const char *filename, const bool selected_only); std::vector<const dive_site *> getDiveSitesToExport(bool selectedOnly); - void exportUsingStyleSheet(QString filename, bool doExport, int units, + QFuture<int> exportUsingStyleSheet(QString filename, bool doExport, int units, QString stylesheet, bool anonymize); - QFuture<int> future; // prepareDivesForUploadDiveLog // prepareDivesForUploadDiveShare |