Introduce SubCreatorConfig class that helps setting up
a Creator subprocess. This limits the code repetition.
Introduce SUB_CREATOR_PROCESS(subProcess) macro to easily define
environment variables referred to Creator subprocesses.
This macro also forward declares the subProcessMain()
function.
Match names of main subprocess functions with their
corresponding environment variables.
Group subProcessMain() functions near the corresponding
test function for clarity.
Change-Id: Ib4365cf18fddc1527ebc99accee1fbb974bbf7a1
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
In the New Project dialog for QDS, if the user had created a project
from a User-defined (i.e. Custom) preset, this preset did not appear
under the Recents tab.
Task-number: QDS-4989
Change-Id: Ib1f5e772fc9a45ad727627152f292f6e1178ee8c
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io>
In my case Qt is persistently showing the following warning
at startup of every application:
Warning: Ignoring WAYLAND_DISPLAY on Gnome.
Use QT_QPA_PLATFORM=wayland to run on Wayland anyway.
There is no easy solution here, as even when I run this test
with -platform xcb option, then this test is running
another instance of Creator that doesn't have this option
passed. Since QTest's internal main function parses the
argv options and filters out those recognized by Qt itself,
calling QCoreApplication::arguments() doesn't return
the originally passed -platform xcb option.
The solution here is simple - we ignore initial lines
in callback (so we filter out the initial warnings
generated by Qt) and wait for first expected line.
The final check of parsed line numbers should prevent
the case when we have filtered out all the lines.
Change-Id: Ideff0dc7c409b6e3ad81ec13577cb67e5211d5df
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
Particle systems are now deactivated in 3D edit view unless nodes from
exactly one system are selected. Selected nodes that are not part of
any particle system are ignored for this determination. This now also
includes deactivating previously active system when an empty
selection is received from creator side (happens e.g. when selected
system is locked).
Fixes: QDS-6405
Change-Id: I5b1636640594e51db5d6e725684075727536b1a5
Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
QC uses the display name set in IDeviceFactory to refer to the
platform name. However, the display name usually have the "Device"
keyword at the end because it's coming form the IDeviceFactory.
That would work fine for example in new device creation dialog.
But QC is using that in other places like new file/project wizard
to show the supported platform for a project, and that's where
having "Device" seems unnecessary or wrong.
This fixes that behavior, but removing that keyword when calling
KitFeatureProvider::displayNameForPlatform().
Change-Id: I5fd4bbcb1ec2579f8b7e86226a7d50b6d7807382
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
These values were removed in Qt 6.2, don't add them in that case.
Fixes: QTCREATORBUG-27088
Change-Id: I5560b18c0a849f7382b498097923ba425e47c40a
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
There is no need to have an event filter to listen to changes to
_edit3dLocked and _edit3dHidden properties, as they are only changed
in one place. We can simply emit the change notification there.
Fixes: QDS-6403
Change-Id: I8136f38fd8e435e3a4dbd69d70169496e1675dfa
Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io>
Reviewed-by: Samuel Ghinet <samuel.ghinet@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
The QNX gdb binary requires the QNX_TARGET env variable to be set even
for codepaths that do not make use of it, namely, when invoking gdb with
the --version or --configuration parameters to detect the ABI. Failure
to set this variable causes gdb to fail with "QNX environment not set!"
instead.
This patch works around that by setting a phony QNX_TARGET variable in
these occasions.
Change-Id: I9f2638c422eb56516b87dde049186579d238de5c
Reviewed-by: hjk <hjk@qt.io>
Reviewed-by: James McDonnell <jmcdonnell@blackberry.com>
Updates to 3D Editor docs:
- Add info about Camera/View alignment
- Add info about Particle Editor
- Add info about visibility toggles
- Update screenshots
Task-number: QDS-6079
Change-Id: Ie1949956f61bbb51ea37e4fd58ca2817638297df
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io>
Currently, both are mixed into one so neither of them works. When both
are separated with a space, the search term is ignored anyway so it's
better to just remove it.
Change-Id: I449b5d80dc50620f13f37c908e63877eb63b3c26
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
Rename some screenshots and use them in several places.
Fixes: QTCREATORBUG-27139
Change-Id: I3986a3060710270b4d4400228d4917e83e3183da
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
Behavior was: The field became "LLVM" after a change to another style.
Fixed behavior: BasedOnStyle field becomes and stays chosen style.
Change-Id: I0d41a216f7f06c5681cc20a52c736406307a3724
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
...instead of ensuring in many functions that m_setup isn't null.
This amends 36c49cd2ea and
solves the issue for other functions like processId(),
exitCode(), etc...
Amends 36c49cd2ea
Change-Id: I986f7b30e90e5825ae2bb57b4bc2aa14f56e401f
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: hjk <hjk@qt.io>
Particle emitters are now visualized in 3D edit view either by
a small sphere for point emitters or by a proper model for
model based emitters. The visualization model is rendered
transparent. The visualization models can be displayed either
always or only when the parent particle system is active
in editor.
Trail emitters are not visualized, as any visualization would
be misleading, since these emitters follow generated particles.
Fixes: QDS-6189
Change-Id: Idb6f12cadd9cea8110e5290cc18443aeb62c38d6
Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io>
Amends 46f6c5d005
Simply disable this safe-guard for < 3.18.
Change-Id: I0ae3b7520a913861c8c9f97ec7e01e5c9c00d362
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
Both LLVM/Clang 14.0 and Qt 6.2.3 dependencies have been compiled
with MinGW 11.2.0
Change-Id: I14dc8b62d243f21dc31ba72605d5aa4b16085279
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
The ELF default is historical legacy. We should always require all
libraries and all plugins to link to their dependencies and not
accidentally forget something (like implementing a virtual function).
Change-Id: I5e00996d7f4b4a10bc98fffd1629f8bfcf0d1c8f
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
Move remaining device member to subclasses where needed.
Change-Id: I1a872315579c7f6529e8937d57511a9e99e06926
Reviewed-by: Jarek Kobus <jaroslaw.kobus@qt.io>
ProcessProxyInterface will be helpful when implementing
public subclasses of ProcessInterface, like
general ssh impl, linux specific impl, qnx specific, etc.
ProcessProxyInterface is sharing private data
between proxy and target.
Change-Id: I8350837bb5f770d6605b860b146604cba5e6b592
Reviewed-by: hjk <hjk@qt.io>
Brokken by the f1e973de79.
We must pass local `runnable` instead of runControl()->runnable(),
otherwise device member will be nullptr that breaks all non-Desktop run
configurations, like RemoteLinux one.
Change-Id: I0499008aee14cb3bbcc3e1ebda71c50533b6502e
Reviewed-by: Jarek Kobus <jaroslaw.kobus@qt.io>
Introduce private DefaultImpl class and base QProcessImpl
and ProcessLauncherImpl on it. Remove default impl specific
methods from ProcessInterface.
Change-Id: Iea964ab19cc0ea8401180f65351b6ef3f595703f
Reviewed-by: hjk <hjk@qt.io>
Unknown compiler flags are an unsuppressable error in clang.
But we do not want to maintain a blacklist of unsupported GCC and MSVC
options or a whitelist of supported clang options, as both would
constantly go out of date.
As clangd seems to work fine despite the error message, we simply filter
out this type of diagnostic.
Fixes: QTCREATORBUG-27113
Change-Id: Ib32601831eded60daf80eb0ca5cf01bbd71493fa
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: David Schulz <david.schulz@qt.io>
Can be switched to old implementation by configuring with
-DQTC_USE_NEW_MIMEDATABASE=NO
Change-Id: I0fdd104c422093381589f2e154ab2b093fe92ad9
Reviewed-by: Jarek Kobus <jaroslaw.kobus@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>