diff --git a/examples/qtconcurrent/imagescaling/doc/images/imagescaling.webp b/examples/qtconcurrent/imagescaling/doc/images/imagescaling.webp new file mode 100644 index 00000000000..56999faaa70 Binary files /dev/null and b/examples/qtconcurrent/imagescaling/doc/images/imagescaling.webp differ diff --git a/examples/qtconcurrent/imagescaling/doc/images/imagescaling_example.png b/examples/qtconcurrent/imagescaling/doc/images/imagescaling_example.png deleted file mode 100644 index a3860e19745..00000000000 Binary files a/examples/qtconcurrent/imagescaling/doc/images/imagescaling_example.png and /dev/null differ diff --git a/examples/qtconcurrent/imagescaling/doc/src/qtconcurrent-imagescaling.qdoc b/examples/qtconcurrent/imagescaling/doc/src/qtconcurrent-imagescaling.qdoc index f6455c67af5..d5008019ee2 100644 --- a/examples/qtconcurrent/imagescaling/doc/src/qtconcurrent-imagescaling.qdoc +++ b/examples/qtconcurrent/imagescaling/doc/src/qtconcurrent-imagescaling.qdoc @@ -3,15 +3,17 @@ /*! \example imagescaling - \title Image Scaling Example - \brief Demonstrates how to asynchronously download and scale images. + \meta tags {widgets, threads, network} + \title Image Scaling \ingroup qtconcurrentexamples - \image imagescaling_example.png + \brief Demonstrates how to asynchronously download and scale images. This example shows how to use the QFuture and QPromise classes to download a collection of images from the network and scale them, without blocking the UI. - The application consists of the the following steps: + \image imagescaling.webp + + The application consists of the following steps: \list 1 \li Download images form the list of URLs specified by the user. @@ -148,4 +150,6 @@ The rest of the code is straightforward, you can check the example project for more details. + + \include examples-run.qdocinc */ diff --git a/examples/qtconcurrent/imagescaling/imagescaling.cpp b/examples/qtconcurrent/imagescaling/imagescaling.cpp index 4b19012c043..d674ddd0851 100644 --- a/examples/qtconcurrent/imagescaling/imagescaling.cpp +++ b/examples/qtconcurrent/imagescaling/imagescaling.cpp @@ -4,14 +4,12 @@ #include "downloaddialog.h" #include - -#include +#include #include Images::Images(QWidget *parent) : QWidget(parent), downloadDialog(new DownloadDialog(this)) { - setWindowTitle(tr("Image downloading and scaling example")); resize(800, 600); addUrlsButton = new QPushButton(tr("Add URLs")); @@ -90,7 +88,7 @@ void Images::process() // Abort all pending requests abortDownload(); }) - .onFailed([this](const std::exception& ex) { + .onFailed([this](const std::exception &ex) { updateStatus(tr(ex.what())); }); //! [6] @@ -117,7 +115,7 @@ QFuture Images::download(const QList &urls) //! [9] //! [10] - for (auto url : urls) { + for (const auto &url : urls) { QSharedPointer reply(qnam.get(QNetworkRequest(url))); replies.push_back(reply); //! [10] @@ -142,10 +140,10 @@ QFuture Images::download(const QList &urls) promise->finish(); } //! [12] - }).onFailed([=] (QNetworkReply::NetworkError error) { + }).onFailed([promise] (QNetworkReply::NetworkError error) { promise->setException(std::make_exception_ptr(error)); promise->finish(); - }).onFailed([=] { + }).onFailed([promise] { const auto ex = std::make_exception_ptr( std::runtime_error("Unknown error occurred while downloading.")); promise->setException(ex); @@ -164,7 +162,7 @@ QList Images::scaled() const { QList scaled; const auto data = downloadFuture.results(); - for (auto imgData : data) { + for (const auto &imgData : data) { QImage image; image.loadFromData(imgData); if (image.isNull()) diff --git a/examples/qtconcurrent/imagescaling/main.cpp b/examples/qtconcurrent/imagescaling/main.cpp index c7e30df34cf..67b543a9616 100644 --- a/examples/qtconcurrent/imagescaling/main.cpp +++ b/examples/qtconcurrent/imagescaling/main.cpp @@ -1,15 +1,16 @@ // Copyright (C) 2016 The Qt Company Ltd. // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause -#include -#include - #include "imagescaling.h" +#include int main(int argc, char *argv[]) { QApplication app(argc,argv); + app.setOrganizationName("QtProject"); + app.setApplicationName(QObject::tr("Image Downloading and Scaling")); Images imageView; + imageView.setWindowTitle(QObject::tr("Image Downloading and Scaling")); imageView.show(); return app.exec();