findOr(nullopt) returns either a value or a std::nullopt for the first entry
in a container where the predicate returned true.
This makes it easy to write constructs like:
if (auto found = Utils::findOr(container, std::nullopt, [](auto){ ... condition ...}) {
...
}
Change-Id: I6f8f0f9c0d8486c32395123d8c2dcba427887189
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
Python kits will be new in QC13. Do not let the squish tests
fail in case it stumbles over one.
Change-Id: Ic0af56f49321f6d5800d11398d2e73b21c25e51a
Reviewed-by: Robert Löhning <robert.loehning@qt.io>
This reverts commit 12428bf1d6 because it triggers a qassert
in QObject::setParent when the object is a widget.
Change-Id: Ib9b76192f548cd3201fcb78a19ea88ccb5782ba2
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
Tweak the return value of the TimeoutTask instead of nesting
a Group with conditional workflow policy.
Rename TaskWidget::isSuccess() into desiredResult().
Change-Id: I3d6f703427f13e8feb6d6db97c07b8b9f8b261a6
Reviewed-by: hjk <hjk@qt.io>
This addresses the 20th point in the master task below.
Task-number: QTCREATORBUG-28741
Change-Id: I696beda87430fbe637abba8054012fb77516e220
Reviewed-by: hjk <hjk@qt.io>
Rename storage internals.
This addresses the 20th point in the master task below.
Task-number: QTCREATORBUG-28741
Change-Id: I1ed42472060de6180d4665d6504598adb57828fe
Reviewed-by: hjk <hjk@qt.io>
Make the c'tor of the GroupItem taking the TreeStorageBase
public instead.
This addresses the 20th point in the master task below.
Task-number: QTCREATORBUG-28741
Change-Id: I78320ec24b4e4b915ab549135fb93b45c658b9f2
Reviewed-by: hjk <hjk@qt.io>
Make ordering separate for each thread.
Add stress test for it.
Change-Id: Idb42ce2511b18c0e9dd4dcb216ca39b35b5c980e
Reviewed-by: hjk <hjk@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Change the argument of TaskInterface::done() signal
from bool into DoneResult. Make it consistent with
other TaskTree API.
Introduce toDoneResult(bool success) helper.
Change-Id: I7b3041d7c1ed0317c76adbc1fd37448231e85f82
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: hjk <hjk@qt.io>
Avoids
warning C4566: character represented by universal-character-name
'\u23F0' cannot be represented in the current code page (1252)
and the resulting test fail on Windows.
Change-Id: I2bdd43b0648a954faa9e444df79a91027e6e891f
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
This example shows how to separate the business logic of the recipe
from the GUI and how to write a reusable recipe.
It shows how to feed the recipe with the initial data and how to
retrieve the final result from the recipe using onStorageSetup()
and onStorageDone() handlers.
Change-Id: I04c0c0c9bd6cf25ac4e91317e527ad12832e9143
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: hjk <hjk@qt.io>
Qt for MCUs uses several features in the qmlproject files which
are unknown to QDS. It is important that this information does
not get lost when converting to and from the internal JSON
project format, to avoid breaking MCU projects.
The following changes were made:
- Files nodes keep the type (ImageFiles, QmlFiles...)
- Added support for more Files node types used by MCU projects
(ModuleFiles, InterfaceFiles, FontFiles...)
- Files nodes can have child properties
- Added a JSON object to store properties unknown to QDS.
They may be used by Qt for MCUs, and new properties may
be added between versions
- Added support for the MCU.Config and MCU.Module nodes
- Added a test project for MCU. This project is also tested
with Qt for MCUs. Both the original and the converted
project build correctly
- Added instructions for notifying the MCU team before
modifying the MCU test cases to avoid breaking changes.
Fixes: QDS-10774
Task-number: QDS-10969
Change-Id: I0dfd7f3b150a8661fc0398a8a3d575c7e8777ef3
Reviewed-by: Burak Hancerli <burak.hancerli@qt.io>
Reviewed-by: Yasser Grimes <yasser.grimes@qt.io>
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
Reviewed-by: Qt CI Patch Build Bot <ci_patchbuild_bot@qt.io>
Update the way we used to check for mcus
project in McuSupport plugin. The old way
relied on the deployment step which is only
available when the user has already added a
valid QtForMcus package to "Devices->MCU".
The addition of "isQtForMcusProject" in
externaldependenciesinterface.h will be
used in a follow-up patch in
qt-creator/tqtc-plugin-qtquickdesigner
which adds a warning when using .qtbridge
for Mcu project.
Task-number: QDS-10599
Change-Id: Ibf46477a4f0cb4a82a10ac848acec75458bf6c03
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Aleksei German <aleksei.german@qt.io>
Reviewed-by: Yasser Grimes <yasser.grimes@qt.io>
That created a mix of / and \\ while building the path. Qt promises to
build paths that conforms to underlying OS if we always use /.
Amends ffcbbecf27
Change-Id: Iebcb739cc02f0a2d6dd8953943ecfa9cf8fc9aea
Reviewed-by: hjk <hjk@qt.io>
Type annotations were being removed by the reformat action. Write out
the relavant annotations in ast to fix it.
Add exclusion mechanism in tst_qml_reformatter test since it performs
line by line comparison which doesn't fit all reformatting cases.
Introduce char-by-char data tests.
Fixes: QTCREATORBUG-29061
Change-Id: Ia52b51e6d7d938bdec325c4f426b11c722f85f8e
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
findUsingLs did try to enter "." and "..", with especially "." leading
to an endless loop.
findUsingLs also did not correctly concatenate the parent folder
for sub directories.
Change-Id: Ieafad4d4ef38d2fb550ddef1d2edf8183ce8032e
Reviewed-by: hjk <hjk@qt.io>
Instead of using ambiguous bool.
Reuse it in place of OnDone enum in tests.
Change-Id: Ie83e82d9debb88ca19f71ecab40f8ad081293f41
Reviewed-by: hjk <hjk@qt.io>
This addresses the 15th point in the master task below.
Task-number: QTCREATORBUG-28741
Change-Id: I9d449a6ce1538071f300b68b2929bcd437d1bb0f
Reviewed-by: hjk <hjk@qt.io>
Run the same recipe concurrently. Test whether handling the same
storage concurrently works properly.
This addresses the 24th point in the master task below.
Task-number: QTCREATORBUG-28741
Change-Id: Ic3358bef335b96b7dc2b88ad8102c440db5dafbf
Reviewed-by: hjk <hjk@qt.io>
Make it possible to have the same storage instance
placed in different groups.
When the same storage is placed in two nested groups,
implement storage shadowing so that when the inner group
is activated it activates only the innermost storage
and shadows any possible the same storages in parent groups.
Keep placing the same storage twice in one group forbidden.
This functionality is required to implement the task tree loops
(see 3rd point in the master task below).
This addresses the 23th point in the master task below.
Task-number: QTCREATORBUG-28741
Change-Id: Iba00bc32319430136a794974c14a1ab65272eaa9
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: hjk <hjk@qt.io>
Make naming consistent with recent changes.
"Done" is meant to be an event name when the task / group
finishes. "Done" may finish with "Success" or an "Error".
This addresses the 26th point in the task below.
Task-number: QTCREATORBUG-28741
Change-Id: I53ed6905b1c385c398f49e122e8ca60aa3ad0806
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: hjk <hjk@qt.io>
Make naming consistent with recent changes.
"Done" is meant to be an event name when the task / group
finishes. "Done" may finish with "Success" or an "Error".
This addresses the 26th point in the master task below.
Task-number: QTCREATORBUG-28741
Change-Id: Icc882710dc4896626dc9332440aa13a692af54c4
Reviewed-by: hjk <hjk@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
The List element of GroupItem type is a helper for
constructing Group content with an initializer lists.
Since there is no easy way of mixing items and lists of items
inside the initializer list, the List element encloses
the list of children in a single GroupItem element making it
possible to mix the lists of GroupItems with individual
GroupItem elements on a single initializer list.
This addresses the 25th point in the master task below.
Task-number: QTCREATORBUG-28741
Change-Id: I5fa4b76677f5aa7dcf875b9e9a16d86a26d380a7
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: hjk <hjk@qt.io>
The running task tree may cancel automatically some tasks / groups.
Visualize the canceled task / group with cyan color.
Add footer with state legend.
Task-number: QTCREATORBUG-29834
Change-Id: Ie799fa7b803ca3cc5ac21c580c2f86cd41b3242b
Reviewed-by: hjk <hjk@qt.io>