Commit Graph

82976 Commits

Author SHA1 Message Date
Marcus Tillmanns
00b5856754 Terminal: Fix sendKey
Fixes: QTCREATORBUG-29593
Change-Id: I4db2dc88ce56ec3b5b0ad1acd02ed5c48da51a06
Reviewed-by: Jarek Kobus <jaroslaw.kobus@qt.io>
2023-09-11 07:32:38 +00:00
Marcus Tillmanns
9b85b1087f ProjectExplorer: Add Aspect Settings to devices
Change-Id: I4a69945dbb862a2741998a3bbbb0512e5fb829c9
Reviewed-by: Marcus Tillmanns <marcus.tillmanns@qt.io>
2023-09-11 07:29:10 +00:00
Alessandro Portale
0e26d0676f Spinner: Remove superfluous ;
Change-Id: Ic1c16c1fad233bf32ec07ea3bfb9a65bf85cdd20
Reviewed-by: Jarek Kobus <jaroslaw.kobus@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
2023-09-11 06:35:46 +00:00
David Schulz
2b72ba66ce LanguageClient: add workspace configuration project settings
Change-Id: I9876773550f3dc566dec05b78f818ca49c930da1
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2023-09-11 06:29:06 +00:00
Eike Ziller
2adebd0eb4 Core: Never call QMainWindow::menuBar()
It replaces the global menu bar on macOS (that is a QMenuBar(nullptr))
with a window specific menu bar, resulting in an empty menu bar for Qt
Creator.

Amends a6e779606d

Change-Id: Id6e2c0b9b2dfe4ade88af0f9a6d3b008fed790be
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
2023-09-08 12:39:05 +00:00
Eike Ziller
6998bf6591 FileIconProvider: Avoid access to mime database when registering icons
We register icon overlays at startup, but we do not need to actually do
anything at that point in time. Accessing the MIME database triggers its
initialization, which takes unnecessary time.

Change-Id: I9b9698b43569a93cf775d3b4fc8310d7cc2a0550
Reviewed-by: hjk <hjk@qt.io>
2023-09-08 11:15:53 +00:00
Christian Kandeler
91b67da6da Update qbs submodule to HEAD of 2.1 branch
Change-Id: Ia27a1690a12a447871d639a739057557860b8b03
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2023-09-08 11:12:11 +00:00
Christian Stenger
322336a488 AutoTest: Speed up scanning for tests
Especially Qt and Quick tests scanning takes some time,
so do some additional pre-filtering of files before
parsing them to reduce the number of files to process.
Depending on the structure of the project this can
significantly reduce the scan time.

Task-number: QTCREATORBUG-29301
Change-Id: I629beedcc02502d98d84e29282e1cd7b265cfcf0
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: David Schulz <david.schulz@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
2023-09-08 08:00:30 +00:00
Cristian Adam
a6e779606d Core: Add action to hide the menu bar
This will only affect the platforms that do not have a native menu bar
e.g. Windows and Linux excepting Unity.

Fixes: QTCREATORBUG-29498
Change-Id: I17a654cfa50342f3e506bf0a2b14225c4d3a6bee
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
2023-09-08 07:59:50 +00:00
Christian Stenger
05b6678d56 Debugger: Fix gdb debugging without terminal
Amends 373886bc21.

Change-Id: I200391d702dc447508b52a9a3f210d08626b1bbf
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
Reviewed-by: Marcus Tillmanns <marcus.tillmanns@qt.io>
Reviewed-by: hjk <hjk@qt.io>
2023-09-08 07:46:38 +00:00
Christian Kandeler
3c3a9f6786 Improve sorting in Kit-related settings tabs
- Use a proper sort model in the Kits settings widgets, so kits will
  not just initially be sorted.
- Handle the top-level nodes in a special way, as not to rely on
  "Auto-detected" coming before "Manual" in all languages.

Change-Id: I1eb8e1bee6836b47164d76b49435f8ff5120bb14
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2023-09-08 07:32:55 +00:00
Eike Ziller
6defd083ef CtfVisualizer: Never crash with uncaught exception when loading JSON
If we retrieve a value of a type that doesn't match the actual type in
the JSON, the JSON library throws an exception.
We should have checks to avoid this, but as a global measure never let
exceptions through to Qt Creator.

Change-Id: Ibfe830d745a94810f874ccca82b83d57ea72f31e
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
2023-09-08 07:01:07 +00:00
Marcus Tillmanns
7986776f58 Terminal: Fix incorrect signal connection
The "process" exiting does not necessarily correspond to the
stub exiting. As an example, on linux, gnome-terminal will immediately
spawn a new process for the new terminal window and exit itself.
The stub will then simply run in the detached terminal window.

Fixes: QTCREATORBUG-29488
Change-Id: Ifac0795495901b80638bd10d720b036c09f0146c
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2023-09-08 06:58:08 +00:00
Christian Kandeler
9b25ab5329 CppEditor: Fix removal of "foreign" clang include directories
The version number does not necessarily contain all version parts
anymore.
See also 628babb5cb.

Fixes: QTCREATORBUG-29571
Change-Id: I71fec628c54b430cf2fe0fe54f4f309a2f811043
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2023-09-07 12:27:28 +00:00
Alessandro Portale
82daa08a7e ScreenRecorder: Support recording on macOS
Change-Id: I1f5429939acf82235caf07af85ab3397aee5955d
Reviewed-by: Marcus Tillmanns <marcus.tillmanns@qt.io>
2023-09-07 12:22:47 +00:00
Artem Sokolovskii
f4e50126b1 Core: Add clearAboutInformation function
Change-Id: Ib6dcc3b963917c096756cbff09541f4e13c8184b
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2023-09-07 12:12:26 +00:00
David Schulz
03e50d4d7a Python: fix unguarded optional access
Change-Id: I4131343aab2f193336e81f2e76cbb95ef3ff2805
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2023-09-07 12:06:17 +00:00
David Schulz
445501e29e LanguageServerProtocol: allow RegistrationOptions in definitionProvider
Change-Id: I9868a777fc7ef078ab87fea823d5e9557c87ca78
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2023-09-07 11:56:31 +00:00
The Qt Project
1883d57a0c Merge "Merge remote-tracking branch 'origin/11.0'" 2023-09-07 09:30:13 +00:00
Alessandro Portale
efb4b9ad5f ScreenRecorder: Fix multiscreen handling when recording on Linux
The original approach of using Qt's "screen ID" as screen identifier for
ffmpeg does not work with the x11grab filter. x11grab requires the
identifier as defined in the DISPLAY environment variable, which it
receives now with this change.

x11grab grabs all screen contents in one big image image, so we need to
crop accordingly to get the content from the screen which the user
chose. Qt's QScreen API helps us with determining the right geometries.

Change-Id: I84a1686b151b7cb0aced09bc427114e0e9aa08bf
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Artem Sokolovskii <artem.sokolovskii@qt.io>
2023-09-07 09:30:03 +00:00
Eike Ziller
2792166574 Merge remote-tracking branch 'origin/11.0'
Change-Id: Ifab8b72af33de4decf20d2a879bea4dfba1e9fbe
2023-09-07 11:15:32 +02:00
Eike Ziller
3331c84016 ProjectExplorer: Do not access mime database during startup
Initializing the database takes time, that we do not need to spend at
that point.

Change-Id: Ieb9105916b3b7cf3a373d6df58ac2ee5668ef40f
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
2023-09-07 09:14:41 +00:00
Christian Kandeler
9f8998881f ProjectExplorer: Do not use the project name in ExpandData
Using the node display name for disambiguation was introduced in
62d36ac9a9 for virtual folders.
As far as I can tell, those always have different priorities in case of
an identical path, so we can use the priority instead of the volatile
display name to distinguish nodes with the same file path.
This also reverts the workaround from
4e1ff9ed8f.

Fixes: QTCREATORBUG-29201
Task-number: QTCREATORBUG-28681
Change-Id: I6cc056789bfb5a7f2666c9163c2687146ccb70f2
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2023-09-07 08:57:49 +00:00
Christian Kandeler
f1365d99fa CppEditor: Add quickfix for moving function documentation
... between declaration and definition.

Fixes: QTCREATORBUG-13877
Change-Id: If2a8977587ef2ac888e9c9dde5f63d222d96d964
Reviewed-by: David Schulz <david.schulz@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
2023-09-07 08:47:50 +00:00
Leena Miettinen
4df90c9d8c Doc: Add qtpositioning as a dependency
To fix a link to Qt Positioning.

Change-Id: I7c943c99dd1653bc033a5df9937ae8b68878997a
Reviewed-by: Topi Reiniö <topi.reinio@qt.io>
2023-09-07 08:39:34 +00:00
Christian Kandeler
400806e16f CppEditor: Fix crash in tst_checkSymbols
Amends 0a058bb657.

Change-Id: I2ccbfbe30d78d536a7657b29da25a216ac504fe5
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-09-07 08:33:44 +00:00
Christian Stenger
6b6d9dc21e AutoTest: Speed up Qt Test parser
The look up of function definitions is quite costly. Limit
it to the test data functions as we need them when looking
for data tags.
This limitation reduces the time of a full scan here by
more than 40% compared to without limitation.

Task-number: QTCREATORBUG-29301
Change-Id: Ia692aab8cfcc1c98ca9a2d53c935d7755314f736
Reviewed-by: Marcus Tillmanns <marcus.tillmanns@qt.io>
Reviewed-by: David Schulz <david.schulz@qt.io>
2023-09-07 07:49:13 +00:00
Christian Stenger
792c74b47a AutoTest: Add report helper function
Adds a report() function which generates a simple string
holding the number of items per framework root node and
uses it inside the logging after a full parse.

Change-Id: Ib4be89de778aeab7e9c80b5c0522ee7f3f1bb587
Reviewed-by: Marcus Tillmanns <marcus.tillmanns@qt.io>
Reviewed-by: David Schulz <david.schulz@qt.io>
2023-09-07 07:49:03 +00:00
Sami Shalayel
25e1266c26 qmljs: add option to disable builtin codemodel
Add an option in the QML Language Server settings to disable the code
model, for now it allows to use qmlls for renaming and find usages
operations.
Some of the checkboxes in the qmlls settings were not making a lot of
sense, rephrased them to be easier to understand for the user.

TODOs for later commits:
* use qmlls for 'go to definition' aka 'follow symbol under cursor'
* add extra action to the context menu for 'go to type definition' and
  implement it using the language client
  * also, remove builtin codemode stuff from the context menu when the
    builtin model is disabled

Task-number: QTCREATORBUG-29567
Change-Id: I6283d99bd2b5dc8aef7df49994eb313bfbb854c6
Reviewed-by: David Schulz <david.schulz@qt.io>
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
2023-09-07 07:11:34 +00:00
Eike Ziller
7082d2a89b QmlJS: Delay loading of default QML type descriptions
We definitely do not need to do this during startup of Qt Creator, delay
to first use.

Change-Id: I5942b5346aedc3d6b677918ad28a6c2924d09493
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
2023-09-06 10:52:36 +00:00
Artem Sokolovskii
68d12f0724 DAP: Fix python debug stoping
Change-Id: I49ac6d9d7164a7f74fe683840734d903643b3561
Reviewed-by: hjk <hjk@qt.io>
2023-09-06 09:50:17 +00:00
Artem Sokolovskii
1b67da6558 DAP: Show variables for different scopes
Fixed displaying several the same variables.

Change-Id: I848113de3a5e142394fbdb4efd40230f43c2417f
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: hjk <hjk@qt.io>
2023-09-06 09:49:58 +00:00
hjk
e0ebce5379 QtSupport: Split QtVersionManager in a early and late constructed part
Change-Id: Iccf3f0e6c927fba1d5a9065978cc545d96185060
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2023-09-06 09:46:31 +00:00
Christian Kandeler
cf9846ba77 ProjectExplorer: Sort toolchains in settings widget
Change-Id: Id7acb146e23863b38920bcc9e4508113859568af
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
2023-09-06 08:28:32 +00:00
Eike Ziller
63927a8d6a ActionManager: Centralize ActionContainer update
Each ActionContainer used to schedule an invokeMethod on the event loop
when it changes, which creates an unnecessary amount of individual
events, especially during startup.

Instead schedule that update through the ActionManager, which then can
schedule a single event that handles all updates up to that time.

Change-Id: Ia193606adc4cfda88df8e45f2027662ca16f2ad3
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: David Schulz <david.schulz@qt.io>
2023-09-06 07:52:55 +00:00
Christian Stenger
a59a8d123f Terminal: Add qrc to qbs build as well
Amends e17866e283.

Change-Id: I24d1933da364dc13933da94e1af09146367b4a3f
Reviewed-by: Marcus Tillmanns <marcus.tillmanns@qt.io>
2023-09-06 04:24:39 +00:00
Marcus Tillmanns
e17866e283 Terminal: Show key when input is hidden
Change-Id: I5fca6a8c4f43ea2b95bad4df247b5df0abad521c
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Marcus Tillmanns <marcus.tillmanns@qt.io>
2023-09-05 13:18:36 +00:00
Marcus Tillmanns
c32b7067fe Android: Don't unnecessarily test toolchains
Change-Id: I19046800c4fce6e7d2cd8d66381ac74ae41aa620
Reviewed-by: hjk <hjk@qt.io>
2023-09-05 12:37:03 +00:00
Alessandro Portale
fedf99b037 Introduce the Screen Recorder Plugin
The screen recorder plugin allows a user to record the contents of a
screen (or part thereof), and in a second step to export the result as
various lossless or lossy animated picture or video formats. Before
exporting, the recorded video can be trimmend in length and be cropped
in size.

All functionality relies on the ffmpeg/ffprobe tools, which need to be
present on the user's system.

This initial version of the plugin introduces a settings page, and a
recording/exporting dialog with sub dialogs for recording and export
options.
Some autottests for ffmpeg/ffprobe output parsing are included.

Task-number: QTCREATORBUG-29366
Change-Id: Iaf16d369fd9088d69b1bd130185ca920d07b34c6
Reviewed-by: hjk <hjk@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
2023-09-05 12:36:21 +00:00
Marcus Tillmanns
640a4f0c9c QtSupport: Cache Qt Version information
Change-Id: Iabdd4f880e492fe5ab7ee6d633c8f1f70b4c2cb8
Reviewed-by: hjk <hjk@qt.io>
2023-09-05 12:36:11 +00:00
Artem Sokolovskii
19aeb45abd DAP: Remove redundant source field in breakpoint structure
Change-Id: I30c952971353ab316791cd68cf91f192bd398b84
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: hjk <hjk@qt.io>
2023-09-05 12:35:14 +00:00
Marcus Tillmanns
1c5aa22257 Utils: Add PersistentCacheStore
Change-Id: I952e0271afcc0fd4b03ef75fa5acb219be153290
Reviewed-by: hjk <hjk@qt.io>
2023-09-05 12:22:06 +00:00
Cristian Adam
e892a6224f CMakePM: Save document before doing file operations on the CMake
Fixes: QTCREATORBUG-29550
Change-Id: I5ec360a48adce0d51a7fbe1704c7d4a9125bd913
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
2023-09-05 08:41:43 +00:00
Christian Kandeler
7adeaafd93 QtSupport: Use natural sorting for Qt versions in settings widget
Change-Id: I4ef14a575c536e9f789fedf24937bd0f9e118f91
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2023-09-05 08:27:55 +00:00
Marcus Tillmanns
0c7e7c545a ClangFormat: Fix compilation with Qt 6.2.4
Change-Id: I71f28a258ad9f3b2e745c409edb6d2fe1a5bfea3
Reviewed-by: Artem Sokolovskii <artem.sokolovskii@qt.io>
Reviewed-by: hjk <hjk@qt.io>
2023-09-05 08:25:05 +00:00
Marcus Tillmanns
c14c021e45 Utils: Use QtcSettings
Fixes compile errors with Qt 6.2.4.

Change-Id: Ia97d5fcbeb80ee1242fd4c2425bc7f325dad8953
Reviewed-by: Marcus Tillmanns <marcus.tillmanns@qt.io>
2023-09-05 08:24:31 +00:00
Marcus Tillmanns
7ad4589f5d LSP: Fix compilation with Qt 6.2.4
Change-Id: I1f81d35529317107c63727a92d940a3991ddc59d
Reviewed-by: hjk <hjk@qt.io>
2023-09-05 08:05:55 +00:00
hjk
a475632c66 Utils: Make TreeViews use setUniformRowHeights by default
When applicable, the flag makes a significant difference in
performacnce. However is easily forgotten in cases where it
is applicable, and cases where it is accidentally used are
easily spotted visually. So arguably, opt-out is a better
default than opt-in.

Change-Id: I88aeb05b42533ba4e23c39573a3ddd016343cd55
Reviewed-by: hjk <hjk@qt.io>
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2023-09-05 07:24:21 +00:00
hjk
b9188fb747 QmlJSEditor: Remove unneeded indirection via qmljsicontextpane.h
Change-Id: I39989fdb697dc7078a01f9582b790ee91021e3ab
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: David Schulz <david.schulz@qt.io>
2023-09-05 07:14:18 +00:00
Marcus Tillmanns
76a95ff0ee Utils: Switch to QtcSettings
Changes a few remaining QSettings members that popped
up when trying to build with "apt-get" Qt 6.2.4.

Change-Id: I3caa8545cf02d6453b802559c2f65279e1fb63fd
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2023-09-05 07:02:24 +00:00