Commit Graph

11 Commits

Author SHA1 Message Date
Jarek Kobus
f84199f8b7 Solutions: Long live Solutions!
Short live Tasking in Solutions!

Add src/libs/solutions/README.md with the motivation and hints.

Move TaskTree and Barrier from Utils into Tasking object lib,
the first solution in Solutions project.

Tasking: Some more work is still required for adapting auto and
manual tests. Currently they use Async task, which stayed in Utils.
For Qt purposed we most probably need to have a clone of
Async task inside the Tasking namespace that is more Qt-like
(no Utils::FutureSynchronizer, no priority field,
global QThreadPool instead of a custom one for Creator).

Change-Id: I5d10a2d68170ffa467d8c299be5995b9aa4f8f77
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
Reviewed-by: hjk <hjk@qt.io>
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
2023-05-17 06:29:03 +00:00
Jarek Kobus
97a66067bb TaskTree: Prepare for de-utils-ization - part 2
Move TaskTree into Tasking namespace.
Move Tasking namespace out of Utils namespace.

Change-Id: Ib4c1d7f54f1808517e54768dfa27209c33517b61
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: hjk <hjk@qt.io>
2023-05-12 08:09:19 +00:00
Jarek Kobus
565c56cd4a TaskProgress: Make is possible to set id for associated future progress
Change-Id: I9e3e2038289a3e2f38030deb3e63dd69babb69ce
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2023-01-27 10:35:06 +00:00
Jarek Kobus
ef065b8807 TaskProgress: Add setAutoStopOnCancel() property
By default it's true. When turned off task progress just
emits canceled() signal and leaves the further handling to the user.

Change-Id: Ice4456ac5ead5ca45712d1eb2c988302b273760c
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2023-01-27 10:34:57 +00:00
Kai Köhne
56baf8c058 Remove GPL-3.0+ from license identifiers
Since we also license under GPL-3.0 WITH Qt-GPL-exception-1.0,
this applies only to a hypothetical newer version of GPL, that doesn't
exist yet. If such a version emerges, we can still decide to relicense...

While at it, replace (deprecated) GPL-3.0 with more explicit GPL-3.0-only

Change was done by running

  find . -type f -exec perl -pi -e "s/LicenseRef-Qt-Commercial OR GPL-3.0\+ OR GPL-3.0 WITH Qt-GPL-exception-1.0/LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0/g" {} \;

Change-Id: I5097e6ce8d10233993ee30d7e25120e2659eb10b
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2023-01-06 11:15:13 +00:00
Jarek Kobus
4e58ffcd13 Task/ProcessProgress: Delete private data on destruction
Change-Id: I81787984ff8dbb541f88922c90e51a68184c392b
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2023-01-05 14:49:01 +00:00
Jarek Kobus
b009eff301 TaskProgress: Add setHalfLifeTimePerTask()
Make it possible to specify expected half-life time per task.
Make TaskProgress more fluent (50 Hz).
Use exponential interpolation for TaskProgress.
Set 30 seconds half-life time for UpdateInfoPlugin.

Change-Id: I1b8a147f259caf6a11fbe06afd8cfe6d4606bb02
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: hjk <hjk@qt.io>
2022-12-06 06:45:12 +00:00
Jarek Kobus
23f53dcbda MathUtils: Add tangential interpolation
Reuse it in TaskProgress and in ProgressTimer.
Rename MathUtils::interpolate() into interpolateLinear()

Change-Id: Iff4cda1e3b8782cd26277ec75046ca5526be92c0
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2022-11-28 10:07:30 +00:00
Jarek Kobus
bcdfe1cedc TaskProgress: Add missing features needed by UpdateInfoPlugin
Change-Id: Iabfbebd07699fbe45da6007347ed45517d593cfd
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
2022-11-25 12:49:19 +00:00
Jarek Kobus
d90b1946d4 TaskProgress: Improve fluency of progress
Change-Id: I8efb0242c035223bb52cb2684a30b57f44b489f2
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2022-11-25 12:49:14 +00:00
Jarek Kobus
5d4667e682 Introduce TaskProgress
It's responsible for showing progress of the running task tree.
It's able to cancel the running task tree automatically after
pressing a small 'x' indicator on progress panel.
In this case TaskTree::stop() method is being called.

Change-Id: Ia1b3d88de74571e3e56f431b1a31755492ad4aa2
Reviewed-by: hjk <hjk@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
2022-11-18 15:52:10 +00:00