summaryrefslogtreecommitdiffstats
path: root/examples/qtconcurrent/progressdialog
diff options
context:
space:
mode:
authorDennis Oberst <[email protected]>2023-02-16 18:14:38 +0100
committerQt Cherry-pick Bot <[email protected]>2023-03-21 12:55:33 +0000
commite453de0c0b8787ae672f77f9922e9960bc9fe0b7 (patch)
tree440089db09dd4027f8891cb665f500d66bebabd6 /examples/qtconcurrent/progressdialog
parent6ea0d5756553df37042e1560efa01eb2857e31be (diff)
Example: rename progressdialog to primecounter and modernize it
The previous example finished way too quickly and provided no real value in regards to API understanding. Previously, QtConcurrent::map was used, which was also used in other examples. We are now using QtConcurrent::filterReduce to demonstrate other functionality. Task-number: QTBUG-111165 Change-Id: Ibd6eb119d0711cddfe8b211d460e9d67d6ce95c3 Reviewed-by: MÃ¥rten Nordheim <[email protected]> Reviewed-by: Ivan Solovev <[email protected]> (cherry picked from commit 8352756d27e5657390b6e87f45e0c0bae6b7784e) Reviewed-by: Qt Cherry-pick Bot <[email protected]>
Diffstat (limited to 'examples/qtconcurrent/progressdialog')
-rw-r--r--examples/qtconcurrent/progressdialog/CMakeLists.txt37
-rw-r--r--examples/qtconcurrent/progressdialog/doc/images/qtconcurrent-progressdialog.pngbin4608 -> 0 bytes
-rw-r--r--examples/qtconcurrent/progressdialog/doc/src/qtconcurrent-progressdialog.qdoc14
-rw-r--r--examples/qtconcurrent/progressdialog/main.cpp53
-rw-r--r--examples/qtconcurrent/progressdialog/progressdialog.pro7
5 files changed, 0 insertions, 111 deletions
diff --git a/examples/qtconcurrent/progressdialog/CMakeLists.txt b/examples/qtconcurrent/progressdialog/CMakeLists.txt
deleted file mode 100644
index 5609572d95b..00000000000
--- a/examples/qtconcurrent/progressdialog/CMakeLists.txt
+++ /dev/null
@@ -1,37 +0,0 @@
-# Copyright (C) 2022 The Qt Company Ltd.
-# SPDX-License-Identifier: BSD-3-Clause
-
-cmake_minimum_required(VERSION 3.16)
-project(progressdialog LANGUAGES CXX)
-
-if(NOT DEFINED INSTALL_EXAMPLESDIR)
- set(INSTALL_EXAMPLESDIR "examples")
-endif()
-
-set(INSTALL_EXAMPLEDIR "${INSTALL_EXAMPLESDIR}/qtconcurrent/progressdialog")
-
-find_package(Qt6 REQUIRED COMPONENTS Concurrent Core Gui Widgets)
-
-qt_standard_project_setup()
-
-qt_add_executable(progressdialog
- main.cpp
-)
-
-set_target_properties(progressdialog PROPERTIES
- WIN32_EXECUTABLE FALSE
- MACOSX_BUNDLE TRUE
-)
-
-target_link_libraries(progressdialog PRIVATE
- Qt6::Concurrent
- Qt6::Core
- Qt6::Gui
- Qt6::Widgets
-)
-
-install(TARGETS progressdialog
- RUNTIME DESTINATION "${INSTALL_EXAMPLEDIR}"
- BUNDLE DESTINATION "${INSTALL_EXAMPLEDIR}"
- LIBRARY DESTINATION "${INSTALL_EXAMPLEDIR}"
-)
diff --git a/examples/qtconcurrent/progressdialog/doc/images/qtconcurrent-progressdialog.png b/examples/qtconcurrent/progressdialog/doc/images/qtconcurrent-progressdialog.png
deleted file mode 100644
index 2e8b7735ad3..00000000000
--- a/examples/qtconcurrent/progressdialog/doc/images/qtconcurrent-progressdialog.png
+++ /dev/null
Binary files differ
diff --git a/examples/qtconcurrent/progressdialog/doc/src/qtconcurrent-progressdialog.qdoc b/examples/qtconcurrent/progressdialog/doc/src/qtconcurrent-progressdialog.qdoc
deleted file mode 100644
index 103dbda8bac..00000000000
--- a/examples/qtconcurrent/progressdialog/doc/src/qtconcurrent-progressdialog.qdoc
+++ /dev/null
@@ -1,14 +0,0 @@
-// Copyright (C) 2016 The Qt Company Ltd.
-// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GFDL-1.3-no-invariants-only
-
-/*!
- \example progressdialog
- \title QtConcurrent Progress Dialog Example
- \brief Demonstrates how to monitor the progress of the active processes.
- \ingroup qtconcurrentexamples
-
- The QtConcurrent Progress Dialog example shows how to use the
- QFutureWatcher class to monitor the progress of a long-running operation.
-
- \image qtconcurrent-progressdialog.png
-*/
diff --git a/examples/qtconcurrent/progressdialog/main.cpp b/examples/qtconcurrent/progressdialog/main.cpp
deleted file mode 100644
index 702f59e910d..00000000000
--- a/examples/qtconcurrent/progressdialog/main.cpp
+++ /dev/null
@@ -1,53 +0,0 @@
-// Copyright (C) 2016 The Qt Company Ltd.
-// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause
-
-#include <QtWidgets>
-#include <QtConcurrent>
-
-#include <functional>
-
-using namespace QtConcurrent;
-
-int main(int argc, char **argv)
-{
- QApplication app(argc, argv);
-
- const int iterations = 20;
-
- // Prepare the list.
- QList<int> list;
- for (int i = 0; i < iterations; ++i)
- list.append(i);
-
- // Create a progress dialog.
- QProgressDialog dialog;
- dialog.setLabelText(QString("Progressing using %1 thread(s)...").arg(QThread::idealThreadCount()));
-
- // Create a QFutureWatcher and connect signals and slots.
- QFutureWatcher<void> futureWatcher;
- QObject::connect(&futureWatcher, &QFutureWatcher<void>::finished, &dialog, &QProgressDialog::reset);
- QObject::connect(&dialog, &QProgressDialog::canceled, &futureWatcher, &QFutureWatcher<void>::cancel);
- QObject::connect(&futureWatcher, &QFutureWatcher<void>::progressRangeChanged, &dialog, &QProgressDialog::setRange);
- QObject::connect(&futureWatcher, &QFutureWatcher<void>::progressValueChanged, &dialog, &QProgressDialog::setValue);
-
- // Our function to compute
- std::function<void(int&)> spin = [](int &iteration) {
- const int work = 1000 * 1000 * 40;
- volatile int v = 0;
- for (int j = 0; j < work; ++j)
- ++v;
-
- qDebug() << "iteration" << iteration << "in thread" << QThread::currentThreadId();
- };
-
- // Start the computation.
- futureWatcher.setFuture(QtConcurrent::map(list, spin));
-
- // Display the dialog and start the event loop.
- dialog.exec();
-
- futureWatcher.waitForFinished();
-
- // Query the future to check if was canceled.
- qDebug() << "Canceled?" << futureWatcher.future().isCanceled();
-}
diff --git a/examples/qtconcurrent/progressdialog/progressdialog.pro b/examples/qtconcurrent/progressdialog/progressdialog.pro
deleted file mode 100644
index 8a5b3aabb77..00000000000
--- a/examples/qtconcurrent/progressdialog/progressdialog.pro
+++ /dev/null
@@ -1,7 +0,0 @@
-QT += concurrent widgets
-CONFIG += console
-
-SOURCES += main.cpp
-
-target.path = $$[QT_INSTALL_EXAMPLES]/qtconcurrent/progressdialog
-INSTALLS += target