For projects using Qt 5.15 and Qt 6, the deployment settings
file is generated by CMake/qmake and not Qt Creator, so if
such file doesn't exist or it's been generated by Qt Creator,
we can assume the project is not an android app.
This is mainly a workaround for now to avoid a more involved
fix which would need to potentially remove the method
AndroidManager::deploymentSettings() (and it's use cases) which
is used to generate a minimal version of deployment settings
file, which was added some time ago where the build system
CMake and Qt wasn't handling that generation, but now with Qt
5.15 and Qt 6, that shouldn't be a concern of Qt Creator.
Fixes: QTCREATORBUG-27167
Fixes: QTBUG-111334
Task-number: QTCREATORBUG-26888
Change-Id: I15657f3b67acc52c28c92e6af24668f778432a19
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
..especially when entering a path manually. Fixes some
soft asserts regarding the call guard and re-allows to
type a backslash directly to separate path from sub-path
instead of using wild workarounds like adding a dummy
character and adding the backslash before this.
Change-Id: I8cc8aaccf414d0fd9acc03d7c69e10ddd88dbfd9
Reviewed-by: hjk <hjk@qt.io>
Because of adding a default destructor is removing the move construtor
we add default move contructor.
Change-Id: Ic253e3173956389b11c0aa04204ea27f00c0e9b3
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Using a callable makes it possible to omit the commit call. It is now
called by the withDeferredTransaction and withImmediateTransaction
function.
Change-Id: I9b7bfa7e32f269fe8fcba2fe5e1218e73f5846d1
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Vikas Pachdha <vikas.pachdha@qt.io>
Add tests for empty Group with different workflow policies.
Add tests for successful / failing task in a Group with
different workflow policies.
Change-Id: I50129713f836d2146b119ceb73b5ae43abf01639
Reviewed-by: hjk <hjk@qt.io>
... to avoid unnecessary argument splitting.
Also, make a potentially missing access to the settings
more noticeable to the user.
Task-number: QTCREATORBUG-28701
Change-Id: I7b7f7f5f6a68357dbec064516370bacbf00746dc
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
Use logging category qtc.examples instead of a custom
QTC_DEBUG_EXAMPLESMODEL environment variable.
Change-Id: Idbd6d4b29dbd7b9e8c5976eca6efeb232bf7fa5f
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
Remove function overloads, thes are hard to read, to use and to extend.
I'd even argue this should be a plain default ctor and a few setters +
exec(), pretty much like Process::start() nowadays.
Move "decider" magic into a structure that can be filled ad-hoc outside
checkablemessagebox.cpp paving the ground for:
...removing aspect dependency from CheckableMessageBox, Instead, add a
convenience function to BoolAspect. Arguably, the latter is not needed
and could be done on the user side.
Use pointers instead of mutable references for in-out parameter.
Makes the "specialness" visible on the user side.
Pass ICore::settings() centrally as done elsewhere to reduce line noise
on the user side.
Change-Id: Ibb366353d1ea35401723fd05ce05672617a0a8fd
Reviewed-by: Marcus Tillmanns <marcus.tillmanns@qt.io>
If the kit's detected abis list is empty for some reason,
avoid blocking the deployment process.
Fixes: QTCREATORBUG-27103
Change-Id: I9e7b01c123666f087c6d48e56af6e6637e147442
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: hjk <hjk@qt.io>
Introduce the GroupData structure. In this way it's easily
possible to add extra properties of already used types, e.g. int.
It's also possible to easily create elements with multiple
properties.
Simplify internal TaskItem::Type enum.
Get rid of special ParallelLimit and Workflow elements.
Provide global parallelLimit() and workflowPolicy() functions.
Make global items (e.g. parallel, stopOnDone, etc...) const.
Change-Id: Ic5628255b542fd6c5a5565b055ff11804c8d7b68
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: hjk <hjk@qt.io>
The OnGroup... elements are going to be replaced with
these functions.
Change-Id: Ia271a89062cc9c6b18384607b20b1f68d273bcde
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: hjk <hjk@qt.io>
This was based on the wrong assumption that on !autoapply aspects
(i.e. aspects in settings pages the non-applied value would never be
needed by user code. This is, however, not the case when e.g.
temporary checkbox states or values in comboboxes are used to
enable/disable parts of the ui while interacting with the page.
Change-Id: I4fe6a0df8137083a0a0faecc3ba20792caa5a747
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
The policy is useful mainly in parallel mode.
It stops executing the Group when any task finishes.
It reports the task's result.
Change-Id: I7aa98365cdc4c1eb869ab419d42d0cc5438d43bf
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: hjk <hjk@qt.io>
It reduces the time spent inside TaskTree::setupRoot()
by ~30% for big trees (~7000 tasks).
Change-Id: Ic65ed0fdf511977d9cc2fe22bdac814516e9883d
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: hjk <hjk@qt.io>
When d'tor of the parent Async<void> runs, it busy waits
for the WriteBuffer's thread to finish, and afterwards
QObject's d'tor deletes the child WriteBuffer object.
Change-Id: Ifc696b3e56735e697d8c54c2471f89e323d3c0d1
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: hjk <hjk@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
While clangd's AST matching can find source files at any location, it also
has a number of annoying bugs that break the functionality for some
users. This patch brings back the previous "try built-in first" logic, but
also lets users choose their preferred backend.
Task-number: QTCREATORBUG-29175
Change-Id: I6b854ed05652e6468509e5748a83a8f9bf76fc20
Reviewed-by: David Schulz <david.schulz@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
When optional message argument is provided, both macros
print the message instead of __FILE__ and __LINE__ info.
It helps to ease the identification of the exact place in code
when many macros are added - custom message may be more
informative that the file and line location.
Change-Id: I7a3ccbdaca2858b44dcbd51a8f9330160dab73e9
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: hjk <hjk@qt.io>
If the dialog is shown, the checkbox must be unchecked, because
otherwise the dialog would not have been shown.
Change-Id: I34e8034975baef710997e0cdb3c7d2f8b0c94cd2
Reviewed-by: Marcus Tillmanns <marcus.tillmanns@qt.io>
...when there is only one matching item and we are starting
search from there.
Change-Id: Icfffd37d9330c83058fb81356762e72b183f24e8
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Move the generic parts to session manager and let the project manager
load its parts separately.
Change-Id: I14ee3311ab0c0f40444674b82cee1e4bb0fb9daf
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
Instead of directly reading things like the project list from the
reader, add a map of "session values" in the session and read these from
the reader once, then use the session to access these values while
loading the details of the session. This is in preparation of separating
the session loading from projectexplorer.
This is similar to Session::(set)Value. We cannot use the same
(set)Value methods directly though, because of differences in the
handling of these values during implict and explicit default session
loading.
Change-Id: I9a4f38a9f958734d20d6e6eb7253f9e44ba1285e
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>