Commit Graph

86167 Commits

Author SHA1 Message Date
Serg Kryvonos
ed75627a22 dto.cpp C++20 compatibility
Change-Id: I556afac8718aa45d70dfb999e6e49620d638c5eb
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Andreas Loth <andreas.loth@qt.io>
Reviewed-by: hjk <hjk@qt.io>
2023-12-07 14:21:42 +00:00
Leena Miettinen
52eff2c6a4 Doc: Turn "Using Custom Output Parsers" into two how-to topics
Task-number: QTCREATORBUG-29361
Change-Id: I426f0fe545a485a1932d1e59fed99c07c71f4aff
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
2023-12-07 14:16:22 +00:00
Eike Ziller
a20e2d29fc CMake: Fix file path kind for the staging directory
Fixes: QTCREATORBUG-29997
Change-Id: I7a86b90a366bc59b206a44b5e93b54582c2aed14
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: hjk <hjk@qt.io>
2023-12-07 12:26:33 +00:00
Cristian Adam
7ea90a11e4 ProjectExplorer: Make CustomParser creation available outside PE plugin
This would allow usage from other places, like the CMakeProjectManager
plugin.

Change-Id: Idf12b6688c9ac3c71b5614dce37babbeab7f6748
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
2023-12-07 12:05:00 +00:00
Marcus Tillmanns
b2086c22a8 QmlDesigner: Fix virtual destructor
Fixes warning about non virtual destructor:

Qt/6.6.1/macOS/lib/QtCore.framework/Headers/qcontainertools_impl.h:220:9: warning: destructor called on non-final 'QmlDesigner::QmlObjectNode' that has virtual functions but non-virtual destructor [-Wdelete-non-abstract-non-virtual-dtor]
        (--first)->~T();
        ^

Change-Id: I72306f68f7ae745c3e2dc51ef7d989525a8532e0
Reviewed-by: hjk <hjk@qt.io>
Reviewed-by: Marco Bubke <marco.bubke@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
2023-12-07 11:58:40 +00:00
Cristian Adam
6caf0f0d59 Testsleep: Fix CMake configuration error when test is disabled
If the user has a minimal configuration and the test is not enabled the
call to set_target_properties will fail because the target does not
exist.

Change-Id: I084c53e8d78d92547c1592edc0a19f48d4e76327
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
Reviewed-by: Jarek Kobus <jaroslaw.kobus@qt.io>
2023-12-07 11:22:05 +00:00
Cristian Adam
144194b79a CMakePM: Fix crash when editing CMake files without a project
Fixes: QTCREATORBUG-30023
Change-Id: Id849635dd0e7437d7ae93251130d2f26ded24def
Reviewed-by: Kai Köhne <kai.koehne@qt.io>
2023-12-07 11:21:19 +00:00
Christian Kandeler
68e44b3372 CppEditor: Do not insert empty project part lists
... in CppModelManager::projectPart().
Amends 96c21b0e36.

Change-Id: I7e0dac258a4b4576a6ab772cb7074068a1bea726
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
2023-12-07 11:16:09 +00:00
Alessandro Portale
a4a27b8931 Utils: Fix function name case StyleHelper::Uifont -> uifont
Oopsie.

Change-Id: I66c4b56f43c50e3dfc5c17ffd95d778d496b77f2
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
2023-12-07 11:05:12 +00:00
Jarek Kobus
a737ddd931 Process: Use GeneralProcessBlockingImpl for QProcess implementation
This should fix the Process::waitForReadyRead() when the data
appeared on stdErr channel and not on stdOut channel.

Amends ec722b9132

Change-Id: Ib9f361f4d1602487bdbbb735e55d0ad24fb5e4c3
Reviewed-by: hjk <hjk@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
2023-12-07 10:47:59 +00:00
Jarek Kobus
db4486e915 Process: Add a test for waitForReadyRead on error channel
Currently it works only in case of ProcessLaucher implementation.
The issue with QProcess implementation is that we need to
select the active channel in advance with QProcess::setReadChannel(),
what really doesn't make sense, since we can't predict on which
channel we will receive the data.

Currently we don't have setReadChannel() method inside Process API.

Change-Id: I23592e37f2ed5e3326bead445a9c6c6500d0e615
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: hjk <hjk@qt.io>
2023-12-07 10:47:50 +00:00
Jarek Kobus
2304dbb395 Process: Make multiRead test platform independent
Change-Id: Ife58e7b2a41ac35f8137acfc66ff827672f75de9
Reviewed-by: hjk <hjk@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
2023-12-07 10:47:45 +00:00
Jarek Kobus
1ea1ea7747 Process: Add a test for reading the errorChannel
Change-Id: I3b1d35c8ef2be91ddd1591a0fa2dafedc268f916
Reviewed-by: hjk <hjk@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
2023-12-07 10:47:39 +00:00
Miikka Heikkinen
b5370c435e EffectMaker: Block adding same effect node twice
The actual blocking is done at uniform level, as the problem of having
same effect node twice is duplicate uniforms.

Fixes: QDS-11470
Change-Id: I77b15b4a207efaebff39b4f6b1700d70262abcdb
Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io>
Reviewed-by: Qt CI Patch Build Bot <ci_patchbuild_bot@qt.io>
2023-12-07 08:37:29 +00:00
The Qt Project
b6d92b3a0c Merge "Merge remote-tracking branch 'origin/12.0'" 2023-12-07 07:58:30 +00:00
Robert Löhning
f52c92bfe5 SquishTests: Update tst_openqt_creator
Task-number: QTCREATORBUG-29923
Change-Id: I59ccfca431ab4a0d7d5bb8be78c078e2e5d58825
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
2023-12-07 07:52:58 +00:00
Andre Hartmann
e944a26435 Git: Fix Instant Blame for files with only one line
As we don't show blame annotations for the trailing
(empty) lines, the following could happen for single
line files:

1. Cursor is in the first line, annotation is shown
2. Cursor is moved to the last line, the annotation
   is cleared
3. Cursor is moved back to the first line, but now
   no annotation is shown

Fix this by resetting the last visited line when the
annotation is cleared in step 2.

Change-Id: I1ea5dc339f57c94bc1835dcbccd7a9d93f79ffe5
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
2023-12-07 07:15:11 +00:00
Andreas Loth
15423c281d Axivion: Prepare for re-requesting credentials
In case the server returns with an invalid credentials message, the user
shall get a dialog box to enter new ones.

Change-Id: Ied6cc8b0eae6f0cbb49fbfedec282a821ece58aa
Reviewed-by: hjk <hjk@qt.io>
2023-12-06 16:27:24 +00:00
Eike Ziller
2e280e1c50 Merge remote-tracking branch 'origin/12.0'
Conflicts:
	src/plugins/clangcodemodel/clangdfollowsymbol.cpp
	src/plugins/debugger/debuggerruncontrol.cpp
	src/plugins/projectexplorer/miniprojecttargetselector.cpp

Change-Id: I45b7fee1a1d784c44f2139fb1ede69190d23d6fd
2023-12-06 16:50:15 +01:00
Jarek Kobus
6a97b66592 TaskTree: Add docs for Sync element
Change-Id: I91213b0edaab56a1662f6945275bc3c06fcaa1e1
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
2023-12-06 14:32:45 +00:00
Jarek Kobus
d3b6b6eca7 TaskTree: Add docs for GroupItem c'tor taking Storage<>
Fix all links to the Storage class.

Change-Id: Ifbc62eafc03c5b541c63fe68845418c4678d8ef5
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
2023-12-06 14:32:40 +00:00
Jarek Kobus
89611172c6 TaskTree: Add docs for TaskTreeTask and TimeoutTask
Change-Id: Ib63e540b6308f47fd46e3b62658141ce6d14db4e
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
2023-12-06 14:32:31 +00:00
hjk
311c95cfcc Debugger: Create a copy of the current dumper code
The current code supports Python 2 and Python 3 based debugger backends
(gdb, lldb) at the same time, but we'd like to drop Python 2 support
so we can take advantage of some of Python 3's goodies.

This copy here is not meant to be used in general but could perhaps be
used to replace the main code in situations that cannot use Python 3 yet.

Change-Id: I62273bc41b5a1e3a24720e167e64e4eac2e0c056
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2023-12-06 13:09:26 +00:00
Christian Stenger
d1ac2fe45a Adjust position of refactor submenu
Fixes: QTCREATORBUG-30010
Change-Id: Idf4ce4e3bc4d0af3d40460c8f2e27f52c90f2454
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
2023-12-06 13:04:42 +00:00
Cristian Adam
b360776b1f CMakePM: Always display the right CMake version Qt SDK installs
Qt SDK is using the following parameters for sdktool:
  "--name", "CMake %CMAKE_VERSION% (Qt)"

This effectively hardcodes the CMake version for the Qt SDK forever.

Fixes: QTCREATORBUG-30019
Fixes: QTCREATORBUG-29973
Fixes: QTCREATORBUG-28437
Change-Id: I05408442ea26d390f60a123be4fbf71f7018b150
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2023-12-06 12:52:43 +00:00
Friedemann Kleint
5b28043d46 pdb: Fix duplication of command line arguments
They are already added by the Python run configuration.

Change-Id: Icfea32e00209a690901cf672a17a8ef5c23b909d
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2023-12-06 12:32:57 +00:00
Friedemann Kleint
332a742e0b pdb: Fix command line arguments
pdbbridge uses exec() on the main file which causes the inferior to
use its sys.argv. Inferiors using argparse would then fail since they
cannot make use of the working directory passed.

To fix this, append the inferior arguments separated by "--" and
change sys.argv accordingly.

Change-Id: I35caf4b3ec19c5259c0d4235787c03a3e592768a
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
2023-12-06 12:20:48 +00:00
Eike Ziller
ade5ebd95f Add change log for 12.0.1
Change-Id: I077362b4ddb4fc09d66e682c9e12775a33d822b7
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
2023-12-06 12:19:22 +00:00
Christian Kandeler
ee4493ffa4 CppEditor: Fix a test
... such that it passes with both the built-in indenter and ClangFormat.
The former just indents relative to the previous line, while the latter
considers more context.

Change-Id: I6e837c307728a9d1add16d6eb81880d54bcc89d6
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
2023-12-06 11:49:02 +00:00
Christian Kandeler
6d101cd812 ClangCodeModel: Fix following virtual functions
We used to follow a Goto Implementation request with a Goto Definition
request, because the latter gave us the declaration instead of the
definition. This has changed in clangd 17, which means we now called Goto
Definition on a definition, which clangd interprets as switching to the
declaration.
We now do the right thing for all supported clangd versions.

Change-Id: I1c0acd2c8d5c942f7e25dedb1da953bb4f8d8d13
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2023-12-06 11:48:47 +00:00
hjk
997f28347b CppEditor: More direct access to CppQuickFixAssistProvider
Change-Id: I764b68ee2f328cff28b4c6482d28015b36f15bca
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
2023-12-06 11:44:14 +00:00
Jarek Kobus
e8923d3333 TaskTree: Use find_if & erase
It's enough to remove just one item, as it's guaranteed
that items are unique inside the m_children vector.

This should fix the following warning:
"ignoring return value of function declared with 'nodiscard'
attribute [-Wunused-result]".

Change-Id: Iae8a11d1f12cd28ef3c4ae4363a4bdc3dbfe31e6
Reviewed-by: hjk <hjk@qt.io>
2023-12-06 09:01:46 +00:00
Robert Löhning
5c1b8dee32 SquishTests: Simplify and stabilize special handling of Mac menus
- Check condition only once
- Make sure correct length is being used

Change-Id: I8c9627d91b4f022d60bae039c0478248cc30d183
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2023-12-06 07:35:12 +00:00
Andreas Loth
22a9143439 Axivion: Prepare reading the credential from a password store
Change-Id: I0fed28f91fa296f8e57389b76a4f986d6f8f5bac
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: hjk <hjk@qt.io>
2023-12-05 15:14:20 +00:00
Christian Stenger
bc64be06d7 AutoTest: Provide locator for finding data tags
Makes it possible to jump to Qt Test data tags using the locator.

Change-Id: I9b4590b0520a59675cd05055ee07918aa0dcf08d
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
2023-12-05 14:45:00 +00:00
Christian Stenger
938a230dd0 CMakePM: Extract functions for later reuse
Change-Id: Id933c545328300398a2fa38fa82e0c593f501406
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
2023-12-05 14:43:12 +00:00
Leena Miettinen
f708e200f9 Doc: Restructure info about build and run configurations
Task-number: QTCREATORBUG-29361
Change-Id: I9e9d3a3448c327938e4f647b37a88857db5b16c4
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
2023-12-05 12:30:54 +00:00
Eike Ziller
a6a95420b6 Main: Show a GUI message if platform plugin fails to load
If the Qt platform plugin fails to load, most famously xcb on systems
that do not have libxcb-cursor0 installed, the interesting messages are
only written to a terminal, and not visible when running Qt Creator from
e.g. the installer or dock.

Temporarily install a special Qt message handler that scribbles along
the qWarnings and qFatals while creating the QGuiApplication, and make
it output the messages via xmessage in case a qFatal is received (and
xmessage is available). On macOS show a dialog with osascript. Windows
already gets a dialog from Qt proper.

Also add the explicit message about (lib)xcb-cursor0 for Qt versions
that do not have it yet.

Fixes: QTCREATORBUG-30004
Task-number: QTBUG-108796
Task-number: QTCREATORBUG-29873
Change-Id: I5e5dafb398db6a72178413c8b883325c56d9a016
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
2023-12-05 12:04:45 +00:00
Thomas Hartmann
9184db8dfb StudioWelcome: Fix help url for getting started
Task-number: QDS-9780
Change-Id: I32a3f5782cda1611ce12588873ac6f45620adf52
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
2023-12-05 10:48:18 +00:00
Marcus Tillmanns
f7b1eed0c2 QMLJS: Fix deadlock on session switch
Fixes: QTCREATORBUG-30016
Change-Id: I17d2b068e1bdb2fcad182209ca08a652b0957fa4
Reviewed-by: Jarek Kobus <jaroslaw.kobus@qt.io>
Reviewed-by: hjk <hjk@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
2023-12-05 10:48:02 +00:00
Marcus Tillmanns
0a07080afe Utils: Add lock/unlock to SynchronizedValue locks
Change-Id: Ic0f091a101e68e910243c9ac32340431cebeff68
Reviewed-by: hjk <hjk@qt.io>
2023-12-05 10:47:56 +00:00
Marcus Tillmanns
ed52d07727 Qml Debugger: Don't complain about connection
When the debugger is quit, connectionStartupFailed will trigger and
show a useless message box about not being able to connect.

This can also trigger a crash in WatchHandler::cleanup if the user
quits Creator while a debugging session is still running.
(as seen on macOS).

Change-Id: I19461d5cdd449e58e530b09b772431b3cf18c52f
Reviewed-by: hjk <hjk@qt.io>
2023-12-05 10:47:09 +00:00
Yasser Grimes
9a364811de McuSupport: Ignore resetting QtMCUs package on target update
QtMCUs package is part of every target with the same pointer address across all
targets, when reseting the target packages to default this will cause
inconsistensy as the default path for QtMCUs package is the home directory.

Fixes: QTCREATORBUG-29960
Change-Id: I2fcc6b631355928bc883e9072b0f3f3c12737c37
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
Reviewed-by: Karim Abdelrahman <karim.abdelrahman@qt.io>
2023-12-05 10:18:22 +00:00
Marcus Tillmanns
d2c03f771b Utils: Add ToggleAspect
Change-Id: I2de41811c0c039cd52d48aab98e0c65706d21a74
Reviewed-by: hjk <hjk@qt.io>
2023-12-05 09:31:30 +00:00
Jarek Kobus
3597dbcb61 TaskTree docs: Fix the code snippet
Change-Id: If2274abab0baca04a852aca0a7602aa3d997a428
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: hjk <hjk@qt.io>
2023-12-05 08:22:21 +00:00
Aleksei German
500febad25 QmlDesigner: Fix for Basic Controls style
Task-number: QDS-10980
Change-Id: Ia50bbe602dc54b5684c1ee432052e8c33559ef7f
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Qt CI Patch Build Bot <ci_patchbuild_bot@qt.io>
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
2023-12-05 08:18:57 +00:00
Samuli Piippo
5460a0d5f6 boot2qt: QDB devices support rsync and sftp
Users don't add QDB device themselves and therefore device test isn't run.
This means neither rsync or sftp is available with GenericUpload deployment.
Ideally, we should run the device test in the background but that would
require larger code refactoring to support it. For now, set all QDB devices
with support for both rsync and sftp. Host's support will still determine
if either one can be used.

Change-Id: I1f73508b9255e0984ca48c763dcaf49b931e0e21
Reviewed-by: hjk <hjk@qt.io>
Reviewed-by: Ari Parkkila <ari.parkkila@qt.io>
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
2023-12-05 06:54:04 +00:00
Alexey Edelev
4eedc4b2d0 Default the QT_USE_TARGET_ANDROID_BUILD_DIR value to TRUE
Set QT_USE_TARGET_ANDROID_BUILD_DIR to TRUE if Qt version
greater equal 6.8.0.

Change-Id: I051b7c1762858aac798eac167c491ccc68b65cf1
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
2023-12-05 06:45:14 +00:00
Alexey Edelev
de3d4e23ea Add the support for target-based android-build directories
When building using CMake it's possible that single CMakeLists.txt may
contain multiple android executables. In this case android-build
directory mixes the build artifacts from multiple targets. This patch
allows using per-target android-build directories in case if Qt support
this. The QT_INTERNAL_ANDROID_TARGET_BUILD_DIR_SUPPORT cache variable
indicates that Qt has builtin support of this feature and the
QT_USE_TARGET_ANDROID_BUILD_DIR cache variable should be set to TRUE
by user to enable the functionality project-wide.

Task-number: QTBUG-117443
Change-Id: Ic8f576e528ee918a3ebf075a25fa2a414ef85736
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2023-12-05 06:44:44 +00:00
Marcus Tillmanns
88c12bc784 QMLJS: Fix deadlock
Change-Id: Ib93d2e43ed0cdb7708886224fdf7392c96f984ca
Reviewed-by: hjk <hjk@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
2023-12-05 06:22:12 +00:00