Commit Graph

80529 Commits

Author SHA1 Message Date
Marcus Tillmanns
8f1cbd2e52 Utils: Improve and test CommandLine::fromUserInput
Change-Id: Ia18f5b01d91200e6ad65735496395215c6393533
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>
2023-03-14 14:40:35 +00:00
Marcus Tillmanns
2d15be91bf ProjectExplorer: Consolidate ProcessList
* Combined local and ssh process list retrieval into LocalProcessList
* Combined QnxProcessList into LocalProcessList
* Renamed LocalProcessList to ProcessList

Change-Id: I230c575375e306c638e4ca3034fa2d7ed243a44c
Reviewed-by: David Schulz <david.schulz@qt.io>
Reviewed-by: hjk <hjk@qt.io>
2023-03-14 14:40:19 +00:00
hjk
b6a593e4f9 ProjectExplorer: Add a generic copy step
Change-Id: I6b4a70e3f71776f7009c0419c8d2f41dfd1c704d
Reviewed-by: Jarek Kobus <jaroslaw.kobus@qt.io>
2023-03-14 14:31:54 +00:00
Christian Kandeler
dd4235eb35 CppEditor: Verify proper highlighting of the concept keyword
Change-Id: I1c814da472f10539f87640a52822b188b9b7a2cd
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: David Schulz <david.schulz@qt.io>
2023-03-14 14:09:21 +00:00
hjk
c08322900f Debugger: Use more FilePaths in module handling interface
Change-Id: Ie058b928900015d0f71776151547bf7ba32a62bf
Reviewed-by: David Schulz <david.schulz@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
2023-03-14 14:03:39 +00:00
Eike Ziller
8778eaaaa0 FileIconProvider: Improve performance of icon(FilePath)
By re-using the caching QFileInfo variant for icon(FilePath).
QFileInfo/FSEngine caches the result of isDir etc for a while, which
improves performance for slower devices in case that is called for the
same file paths over and over again, like it is the case for locator.

The cache might be out of date for some time when things change on disk,
but for a cosmetic property like an icon that is not a big deal. (And it
would be a file that transforms into a directory or vice versa, which is
not very common either.)

Change-Id: I663ac7e81f8f2996b87591dad17c5483e3f4ad3c
Reviewed-by: Marcus Tillmanns <marcus.tillmanns@qt.io>
2023-03-14 13:47:02 +00:00
Christian Kandeler
25f1a4804a ClangCodeModel: Consider concepts in semantic highlighting
We highlight concepts as types for now, as it's a pretty good fit. We can
always introduce a dedicated concept highlighting type later if there is
demand.

Task-number: QTCREATORBUG-28887
Change-Id: I405db5ca4351efd565b968e765fe8bca976a2800
Reviewed-by: David Schulz <david.schulz@qt.io>
2023-03-14 13:03:02 +00:00
Marcus Tillmanns
c43ff702f7 CMake: Fix WITH_SANITIZE
Change-Id: Ic0ad66f08b29416ddb1a546e84f9ed574b9ac6fc
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
2023-03-14 11:00:59 +00:00
David Schulz
0b92ba92b2 Python: Remove dead code
Change-Id: I31aa1610b548b37f30f3daa353627f9c6418c3c8
Reviewed-by: hjk <hjk@qt.io>
2023-03-14 10:19:01 +00:00
hjk
b077a105fa GdbEngine: Allow remote symbol files
They may be needed when running gdb itself remotely.

Change-Id: I57242e3111ab23701d197d26f1c3b12a9b3e96bd
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
2023-03-14 09:46:47 +00:00
hjk
392cc524db Copilot/Terminal: Use Qtc::... as translation contexts
lupdate doesn't like toplevel ::, so we changed globally to Qtc::*

Change-Id: Id6f27989653dd16974d0c12ea4832c4e1abe3ca3
Reviewed-by: Marcus Tillmanns <marcus.tillmanns@qt.io>
2023-03-14 09:37:40 +00:00
Jarek Kobus
4a121833b1 Ios: Use QtConcurrent invocation for async run
Change-Id: I1d02a7a0467864a702bed8f73793f8f21832762b
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
2023-03-14 09:10:46 +00:00
Mahmoud Badri
a7a4c9773b QmlDesigner: Add a default validator to ItemFilterComboBox
Change-Id: Iba8f3f42d7028bc5da5b5abd6d3581f67184376b
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
Reviewed-by: Henning Gründl <henning.gruendl@qt.io>
2023-03-14 08:58:18 +00:00
Jarek Kobus
8709ab5ee5 QmlJSEditor/QmlDesigner: Use QtConcurrent invocation for async run
Change-Id: Ic3ad1bb4e2d473f6d5134d7e1eebef020bffee0d
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-03-14 08:47:39 +00:00
Jarek Kobus
0bec769b69 QmlJS: Use QtConcurrent invocation for async run
Add ModelManagerInterface::importScan() overload to avoid
instantiating dummy QPromise arg on caller side.

Change-Id: Idf836d30b2167d8840cc4e7ac6f95377c9d5622a
Reviewed-by: hjk <hjk@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
2023-03-14 08:47:26 +00:00
Eike Ziller
9eb218aee7 Examples: Use "install" path as fallback
If neither relative nor install path of the example files exist.
This makes the error message that the file is not found more sensible.

Change-Id: I1a7d2acdb4017cdaac97af35d9d35b70c06323a6
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: David Schulz <david.schulz@qt.io>
2023-03-14 08:22:21 +00:00
Leena Miettinen
81bc007ddd Doc: Describe version control system preferences
Task-number: QTCREATORBUG-28721
Change-Id: Ib4d1899885012af5eac176fd53e5536f69a2689b
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
2023-03-14 07:29:06 +00:00
David Schulz
1811c31490 Python: add interpreter selector to the python project wizard
Change-Id: I7ea1df34fa0096a84a0d611b401f991508c826c1
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2023-03-14 05:44:46 +00:00
Jarek Kobus
169b411040 CppElementEvaluator: Use QtConcurrent invocation for async run
Change-Id: Idc67ecd4e9e95c5893a04ca1a9ee7b30662ec664
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
2023-03-13 17:00:55 +00:00
Tim Jenssen
f34bd3309d scripts: add --keep-signed-content-at to makedmg.py
Change-Id: I3fd76cced3233afca90158717fbff400126a09c6
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
2023-03-13 16:31:49 +00:00
Christian Kandeler
d612581667 ClangTools: Fix include path retrieval
This seems to have silently broken ages ago, perhaps when run workers
were introduced: The clang tools' run controls no longer hold the
executable, so we passed an empty file path to the function that was
supposed to retrieve the include path, which in turn gave us compile-
time values as a fallback.

Change-Id: Ie275dab93e4a4ed551c3c8fcd604cd37a3b7bd0e
Reviewed-by: hjk <hjk@qt.io>
2023-03-13 15:27:11 +00:00
Jarek Kobus
5effb95ad9 ClangGlobalSymbolFilter: Don't remove duplicates prematurely
That's being done later, inside Core::Internal::runSearch().

Change-Id: Ib131aefdb39dbe2dfd457020ff13f1c453814597
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
2023-03-13 15:22:52 +00:00
Eike Ziller
287783a776 Update change log for 10.0
Change-Id: Ifbfc72f826647c7ae67981c3798a52b9cf7625f1
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
2023-03-13 15:18:37 +00:00
Marcus Tillmanns
cdfe9462af Debugger: Fix "Run in Terminal" with lldb
Previously lldb never actually attached to the process running
in the terminal, but started its own copy.

Since the process is interrupted by the terminal stub already,
code was added to automatically continue the process.

"Start and break on main" and "Run in Terminal" also did not work
together and are now fixed.

Change-Id: Iaeb6e7dd0f511f3bf195ab5d0008856b310615d9
Reviewed-by: hjk <hjk@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
2023-03-13 14:37:48 +00:00
hjk
4f8ad43c1e Qnx: Merge qnxdeviceprocesssignaloperation.{h,cpp} into qnxdevice.cpp
Not worth a file pair anymore.

Change-Id: I86afff84586592dd05d40e573e6b9a95c54913fe
Reviewed-by: Marcus Tillmanns <marcus.tillmanns@qt.io>
2023-03-13 14:32:52 +00:00
Marcus Tillmanns
72e2df0c95 Qnx: Remove QnxProcessImpl
The LinuxProcessImpl works better. Specifically the QnxProcessImpl
process exit code would always return 0.

Change-Id: I939d486e1cf7a1bdbb61a120a303d79e7cbce8e6
Reviewed-by: hjk <hjk@qt.io>
2023-03-13 13:58:16 +00:00
Marcus Tillmanns
9f1afb0318 Utils: Add stringutils splitAtFirst
Change-Id: I221d6c6086f53ec5f94c1157ea533d862db38d52
Reviewed-by: hjk <hjk@qt.io>
2023-03-13 13:58:05 +00:00
Robert Löhning
32c74bfe2b Debugger: Fix manual plugin test
The location of the dll doesn't depend on the application's current
directory but its binary's location. This caused the manual test to turn
false positive when running from Creator, because on Windows, the
binaries are placed in a subdirectory named "debug" or "release",
respectively.

Change-Id: Ie5115fbacd30ad0ef85bc258d405ae3ac42f8ece
Reviewed-by: hjk <hjk@qt.io>
2023-03-13 13:20:34 +00:00
Eike Ziller
3043f4bba9 CMake: Fix leak and crash
The crash could be reproduced by opening a project, clicking the "Kit
Configuration" button in the build configuration, closing that dialog,
opening it again, opening the settings from the "Manage" button for the
CMake tools, and closing the settings dialog.

The "KitAspectWidget"s are not really widgets, and by default do not get
a parent, or are otherwise lifetime managed. When "they" are added to a
layout, actually only their widget members are added to the GUI. When
opening and closing the "Kit Configuration" dialog, the widgets were
deleted, but the KitAspectWidget instances were leaked and lived on, the
CMakeKitAspectWidget referencing a now deleted QComboBox, and still
being connected to the CMakeToolManager's signals, which subsequented
crashed when these were sent.

Fixes: QTCREATORBUG-28740
Change-Id: I36db3b6596ef21cc01dc877bca92b9961c0606b9
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
2023-03-13 12:28:49 +00:00
Eike Ziller
c7e94d80c7 Merge remote-tracking branch 'origin/10.0'
Conflicts:
	src/shared/qbs

Change-Id: I33e13270c8c15a51b4ce4eaa6b4584041ed124e0
2023-03-13 12:30:04 +01:00
Mats Honkamaa
8c5e77af3c Doc: Minor doc fixes related to new UI
Task-number: QDS-9394
Change-Id: Id5961eb8bce454ba450f75c9892b0b200e38e66b
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
2023-03-13 11:13:52 +00:00
Jarek Kobus
f1d50c0d55 ProgressManager: Add a addTimedTask() that accepts QFuture<void>
That's more convenient when QFutureInterface isn't accessible.

Change-Id: I30af82a4e731dc577d36b62d4e11c5b65852fd4f
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
2023-03-13 11:12:58 +00:00
Henning Gruendl
68e7bb67c8 QmlDesigner: Fix compilation unused parameters
Change-Id: Iec0d32e26cf36a176e4e6d89663bdf9317f25a5f
Reviewed-by: Marco Bubke <marco.bubke@qt.io>
2023-03-13 11:05:33 +00:00
Marcus Tillmanns
4b30ac4e9e Terminal: Fix access violation
Change-Id: I271f4bac05b64d3f4160b2f8ed5ff30cbc3e259d
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
2023-03-13 11:02:33 +00:00
Eike Ziller
a98c45f9ba Examples/Marketplace: Move ownership to the "all" products model
To allow the same item to appear in multiple categories.

Change-Id: Ib957b1fb0d98a28ceeb1d80e9fb497cc2a6b1f48
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: David Schulz <david.schulz@qt.io>
2023-03-13 10:59:02 +00:00
Jarek Kobus
0c4dff7c10 FileListIterator: Minor fixes
Add a reference to c'tor's encodings arg.
Make c'tor's args default.
Make m_items field const.

Change-Id: I74bb1829f3ba0ea8a61106bddadeb935b6405f77
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2023-03-13 10:57:24 +00:00
Christian Kandeler
81dcfd907b CPlusPlus: Add parser support for generic lambdas
Change-Id: Id17975a4296925c10b1b43f963412eea61ccfa5d
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2023-03-13 10:21:32 +00:00
Jarek Kobus
8d5e08c58c CppEditor: Compile fix
Change-Id: I71838715834072a368115423cb5460c5120300e3
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2023-03-13 10:04:02 +00:00
Jarek Kobus
7c8bb03cf6 ActionsFilter: Use QtConcurrent instead of Utils::map()
Change-Id: If29822c25f50d88ba5e4c29c2978c7e7f78e18d9
Reviewed-by: David Schulz <david.schulz@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
2023-03-13 09:45:04 +00:00
Orgad Shaneh
4d2b448541 GDB: Do not skip detach for core inferior shutdown
Another attempt for 87c00b86db.

This section was added in 3b5ecac238, which was a refactoring commit,
not sure why.

It causes state discrepancy, because only on quit the "thread-exited"
messages are processed, and when the thread list is clear, the engine
considers it as InferiorShutdownFinished and triggers engine shutdown
again, which is wrong, because it quits twice and can no longer write
to the process, which is already dead at this point.

Change-Id: Ic5cfced672b640865e701ac96b6fcea34d748211
Reviewed-by: hjk <hjk@qt.io>
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2023-03-13 09:35:17 +00:00
Eike Ziller
425262ce7e iOS: Fix freeze when stopping application
The target of the connection determines in which thread the slot is
executed, and in these cases the slot needs to be executed in the
logging thread. But the LogTailFiles object is created and stays on the
main thread. So, the slot that was supposed to stop the event loop in
the logging thread was blocked from being executed when
IosToolHanderPrivate waited for the canceled threads to finish with
futureSynchronizer.waitForFinished().

Use the event loop as the "target" of the connections.

Amends 33e8251edf

Change-Id: Ie78fcb33b88c1fe7a138fac790fd4f3b7dd9bad9
Reviewed-by: Jarek Kobus <jaroslaw.kobus@qt.io>
2023-03-13 09:13:02 +00:00
David Schulz
e25b89ae39 Copilot: Update authenticator widget while changing settings
Use a separate client for the authenticator widget that can react on
changes in the settings widget. This removes the need to manually apply
the settings between setting up the nodejs and agent.js paths and
signing into github.

Change-Id: I6628a3a8906ccbba208f9dac968262df962f93c0
Reviewed-by: Marcus Tillmanns <marcus.tillmanns@qt.io>
2023-03-13 09:12:01 +00:00
Marcus Tillmanns
27881325a0 qml2puppet: Don't always recompile qml2puppet
Whenever cmake runs, the app_version.h of qml2puppet is
recreated. This was included almost everywhere so a complete
rebuild of qml2puppet would be triggered. This patch
moves the app_version.h include into a single .cpp to limit how
much of qml2puppet needs to be recompiled.

Fixes: QTCREATORBUG-28784
Change-Id: I5064d450ed92ec003f164bcd42be694612011196
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
2023-03-13 08:40:04 +00:00
Miikka Heikkinen
15ebc22aeb QmlDesigner: Allow setting Section category
Section collapse all and expand all functionalities are controlled via
a singleton instance. Since multiple views are now sharing QML engine,
they also share this controller singleton. Therefore it is necessary
to allow user of the Section to specify which category the section
belongs to, so that invoking expand all from one view doesn't
expand sections in another view, but only sections in the same
category.

This also allows fine tuning which sections are grouped within a view,
which was not possible previously.

Fixes: QDS-9248
Change-Id: I0a1c870e6746580255a02f91d590eb80ce6ebcbe
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
2023-03-13 08:34:54 +00:00
David Schulz
301a3cb34f Copilot: improve client handling
- centralize starting client
 - allow to start copilot with alternative settings
 - do not reset the client on finished.

A finish might be followed by a restart attempt, so untracking the
client in the plugin can result in having multiple running clients. Use
a QPointer instead to safely reset once the client is deleted.

Change-Id: Ifab8b04287d84bbdd4a0e936f4684b8d4391da2b
Reviewed-by: Marcus Tillmanns <marcus.tillmanns@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
2023-03-13 08:00:01 +00:00
David Schulz
2fc801e153 Copilot: robustify authentication widget
- fix initial state
- prevent accessing unreachable servers

Change-Id: Ia8d66ad215b864b672d5a1d1651123ca5848effa
Reviewed-by: Marcus Tillmanns <marcus.tillmanns@qt.io>
2023-03-13 07:59:55 +00:00
Jarek Kobus
d558741985 Tracing: Use QtConcurrent invocation for async run
Change-Id: I40dea7276ed9d54c7ce898f0463df05929576648
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
2023-03-13 07:39:54 +00:00
Eike Ziller
e060f82fa5 Examples: Read meta data, which includes categories
Task-number: QTCREATORBUG-28546
Change-Id: I11505d4f8b8eaef3f525185cd45757b6f41012ec
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2023-03-13 07:21:44 +00:00
Eike Ziller
87b5176fd2 Add test for examples parsing
Change-Id: Id2ec8afcdbdff97e12b32b836c955552589081c4
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
2023-03-13 07:21:18 +00:00
Jarek Kobus
3859b70375 CppEditor: Fix missing include, start dummy promise
Amends a8214665fe

Change-Id: I40c24d2895fe10105827928bb49d98c8a9a5cf74
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-03-13 05:35:01 +00:00