Commit Graph

68765 Commits

Author SHA1 Message Date
David Schulz
7d4f123842 Python: add create venv action
The action can be triggered from the interpreter chooser of the editor
toolbar.

Change-Id: Ie23b68a3790525ea02883ef359b357a0d317b2f5
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
2023-03-21 05:39:48 +00:00
Christian Stenger
5256f08b6d AutoTest: Remove unused code
Change-Id: Ib2388e7566eaaac05a358c605418d9cb58825c39
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: David Schulz <david.schulz@qt.io>
2023-03-21 05:30:58 +00:00
Mahmoud Badri
c036735fc5 QmlDesigner: Fix drag-n-drop a material only affects base state
Fixes: QDS-9477
Change-Id: Ic925e2ddfdeb4f75b12331a7e70c9aae8732a8d2
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
2023-03-20 14:44:41 +00:00
Mahmoud Badri
4b8df9996f QmlDesigner: End drag when dragging an asset to a material
Fixes: QDS-9474
Change-Id: Iaed7c6a3a2308e895f7d945abc3aaa49eacfc98a
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
2023-03-20 13:59:12 +00:00
hjk
3868711995 RemoteLinux: Merge SshProcessInterface and LinuxProcessInterface
Change-Id: I961f65551a4c3146e8bab220b7c37a76c3f9fb38
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
2023-03-20 13:06:30 +00:00
Jarek Kobus
af84305f12 DocumentLocatorFilter: Make it more self-contained
Hide public DocumentLocatorFilter::updateCurrentClient()
method and remove
ClangdCurrentDocumentFilter::updateCurrentClient().
Connect DocumentLocatorFilter internally into a new
LanguageClientManager::clientInitialized() signal instead.

Change-Id: Ie74a112bda811525b7d226da1377e5624130e9ed
Reviewed-by: David Schulz <david.schulz@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
2023-03-20 12:35:01 +00:00
hjk
bff2e12120 ProjectExplorer: Also encode unusual ports in SshParameters::userAndHost()
Needed when e.g. using an SSH tunnel to a device.

Should be mostly invisible to conventional use cases.

Change-Id: I8d975b018e5c3e315b5e62996e819d9941a268e2
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-20 11:56:11 +00:00
Christian Kandeler
521ce41c09 QmakeProjectManager: Add lib and app binaries to project tree
Task-number: QTCREATORBUG-28815
Change-Id: I4a3bbab54ce4f5cf6553d61f50b047f63b88cfa3
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-20 10:18:22 +00:00
Marcus Tillmanns
0870f2583b Terminal: Enable TerminalProcessInterface
Adds a new helper app "process_stub" that replaces the previous.
"process_stub_unix/win". The purpose was and is to allow processes
to be "injected" into other hosts apps like terminals while still
being able to control and debug them.

A new base class called "TerminalInterface" is used for both the new
Terminal plugin and the legacy TerminalProcess implementation.

Fixes: QTCREATORBUG-16364
Change-Id: If21273fe53ad545d1a768c17c83db4bf2fd85395
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
Reviewed-by: Jarek Kobus <jaroslaw.kobus@qt.io>
Reviewed-by: hjk <hjk@qt.io>
2023-03-20 10:03:23 +00:00
Marcus Tillmanns
2d2eef1c2c Terminal: Fix "Enter does not work after copy"
Change-Id: Ic541ba15f52084bcd9b955af718efc3defc64539
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2023-03-20 09:45:23 +00:00
Thomas Hartmann
21ab41313b QmlDesigner: Set the object name on the QQuickWidget
Change-Id: Ib9471414924f2ce65f90c75fa542c05770a696c3
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
2023-03-20 09:12:13 +00:00
Marcus Tillmanns
5972452484 Terminal: Support clipboard selection
Change-Id: Ief59f9e21782e0dd0292f3625e35c1742cf9b3bc
Reviewed-by: hjk <hjk@qt.io>
2023-03-18 13:03:17 +00:00
Cristian Adam
4d82246ab5 auto-setup: Add support for conan 2.0
Fixes: QTCREATORBUG-28865
Change-Id: Ifb801a458b4b18de218dee6604f0555cab13ec75
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
2023-03-17 16:25:19 +00:00
Jarek Kobus
81bd8e3bd8 FilePath: Remove overloads for async tasks that don't take context
Passing mandatory context object clearly suggests a special
care should be taken for assuring the passed function
may still run when the task finishes in the future.

Fix FileStreamManager so that it deletes the streamer
even when context object was deleted in meantime.

Fix 2 usages of asyncCopy so that we pass a context object now.

Side note: passing nullptr as a context object is still
possible and should work, but it's not recommended.

Change-Id: I464438db42ed9292c2f89ecb9d5dde7c78f77640
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: hjk <hjk@qt.io>
2023-03-17 14:30:59 +00:00
hjk
024897521c RemoteLinux: Disable sourcing /etc/profile and ~/.profile by default
[ChangeLog][RemoteLinux] Target-side shell profiles are not sourced by
default anymore.

Change-Id: Ide5029d02a0d149c4e532ee523f1dd49e7080c7b
Reviewed-by: hjk <hjk@qt.io>
2023-03-17 14:18:09 +00:00
David Schulz
dea3ea2262 Python: remove unused function
Change-Id: Iceee91f761e080dcdd329375638f883261c0a319
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2023-03-17 12:17:32 +00:00
Jarek Kobus
44655995d1 FilePath: Provide overloads for async tasks taking context object
Change-Id: I0bb2f2bfc0f54e8a81efb7d9279d539bcdfd9bc9
Reviewed-by: hjk <hjk@qt.io>
2023-03-17 10:21:59 +00:00
hjk
400dad939e ProjectExplorer: Store host, port and user in SshParameters again
This effectively reverts 21c66ce5fd.

We are not aiming at using QUrl everywhere anymore, rather have Utils::FilePath.

Change-Id: I97ccc7ee6976c27e629b446bc4f3851532463213
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
2023-03-17 10:20:33 +00:00
David Schulz
bcd4c3f360 TextEditor: Adjust extra selections when suggestions are visible
Change-Id: Id914ce544b2289bff5403c8a673dceebbc517b54
Reviewed-by: Marcus Tillmanns <marcus.tillmanns@qt.io>
2023-03-17 09:45:00 +00:00
David Schulz
65e1baf5f7 TextEditor: set the cursor to the widget before closing the edit block
This will make sure that code reacting on the document change signal can
get the final cursor position from the widget. More specificly this
fixes requesting copilot suggestions when automatic text is inserted
like closing parentheses when typing "if ("

Change-Id: I01a13e67e72b89010fe39de3d0def0622a9b08b8
Reviewed-by: Marcus Tillmanns <marcus.tillmanns@qt.io>
2023-03-17 09:44:42 +00:00
Ali Kianian
ed5d0e106a QmlDesigner: Prevent drop support for DesignModeWidget
General drag-and-drop is no longer supported for DesignModeWidget.
So every single module handles drag-and-drop events individually.

Task-number: QDS-5279
Change-Id: Ic6c1c3d8ab71279c99c88c8d5849d7b243fe2347
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io>
2023-03-17 09:10:43 +00:00
Christian Stenger
97d8b9fe67 Terminal: Fix qbs build
Amends bd52e53dbf.

Change-Id: I23766fb9d3e67e1e2a94e95476092233e839002f
Reviewed-by: Marcus Tillmanns <marcus.tillmanns@qt.io>
2023-03-17 09:00:46 +00:00
Christian Kandeler
c442d80b15 Update qbs submodule to HEAD of 2.0 branch
Change-Id: I52ec000ac9880d3fb849a71e814186e88f99724b
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2023-03-17 08:28:07 +00:00
Mahmoud Badri
cd70e9cecb QmlDesigner: Move connection classes out of Internal
Also clean up DynamicPropertiesProxyModel and DynamicPropertiesModel
classes.

Change-Id: I40a2864c1ffbd555dfea9452cd55bbeb23e9fdfa
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
2023-03-16 16:49:34 +00:00
Mahmoud Badri
dbe41a6892 QmlDesigner: Add ProperyEditorValue to the QmlDesigner namespace
Also clean up the class since it seems to not have been updated
for a very long time.

Change-Id: I4ba90a37941fe89a7d093c7b2a7ad7a300fe37cb
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
2023-03-16 16:48:53 +00:00
Christian Kandeler
f5aa99f229 ProjectExplorer: Add functionality for mapping source files to binaries
Works out of the box with qbs. cmake and qmake need backend adaptations.

Task-number: QTCREATORBUG-28815
Change-Id: I0238416a23c1574bc2b6121e2ef942a9260d94d9
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: David Schulz <david.schulz@qt.io>
2023-03-16 14:17:52 +00:00
Jarek Kobus
d3d2536022 JsonFieldPage: Remove superfluous reportFinished()
Change-Id: I0f55b89a03fe012d6b2ac5a6430193729620edec
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2023-03-16 13:51:15 +00:00
Eike Ziller
a2de016f64 Examples: Optionally parse categories from meta data
Optionally parses example categories from the examples manifests, when
setting the environment variable QTC_USE_EXAMPLE_CATEGORIES (can be done
in Qt Creator's Environment > System > Environment settings).
It doesn't make sense to unconditionally enable that yet, because only
few examples actually have categories so far, so we will need to wait
until some Qt version is suited for enabling this.

If an example set does not provide categories, the "highlighted"
property is used to provide a "Featured" category, as before.

If an example set does provide categories, these are shown instead,
sorted alphabetically, and examples with the "highlighted" property
are put at the front of the category, overriding the otherwise
alphabetical listing inside the categories. Examples without a
category are put into a separate "Other" category at the end.

Task-number: QTCREATORBUG-28546
Change-Id: I7ca312686eae13e16961def1b4b36ffd7050a447
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
2023-03-16 13:50:06 +00:00
David Schulz
d5d7b1d192 TextEditor: avoid showing suggestion and completion simultaneously
If the use erxplicitly requested the completion hide the suggestion
otherwise ignore the completion.

Change-Id: I52485e322b0521b0af10ae6945437bf96642ad89
Reviewed-by: Marcus Tillmanns <marcus.tillmanns@qt.io>
2023-03-16 11:56:11 +00:00
David Schulz
8247d578c7 TextEditor: skip auto completion while suggestion is visible
The use can still explicitly request completions in that case via the
keyboard shortcut.

Change-Id: I4ed47232a24288c540d1357c0f876a1cdfcfec08
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Marcus Tillmanns <marcus.tillmanns@qt.io>
2023-03-16 11:56:02 +00:00
David Schulz
7f56ccaa9e TextEditor: avoid painting annotations over suggestions
Blocks with suggestions are longer than without the suggestion. So we
have to calculate the annotation start position based on the reaplcement
and not the actual document layout.

Change-Id: I32ce81134e1146dd28ae11a70356a98c75529236
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Marcus Tillmanns <marcus.tillmanns@qt.io>
2023-03-16 11:55:56 +00:00
David Schulz
23513bb714 Copilot: remove unused client instance function
Change-Id: I84c3d674bae1011a7b0bff070c2d3d5d89675147
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Marcus Tillmanns <marcus.tillmanns@qt.io>
2023-03-16 11:55:50 +00:00
Thomas Hartmann
c6489749d4 QmlDesigner: Scan imports on startup
This makes the loading of the first project a lot faster.

Task-number: QDS-9442
Change-Id: Ic84aa6df71db158ef5d0450ada79d96f35eb205b
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
2023-03-16 11:40:18 +00:00
Mahmoud Badri
0b5628e502 QmlDesigner: Add a method to open material editor to ProperyEditorValue
Task-number: QDS-9408
Change-Id: I59ca4e9895a3ef3e9f87de9351806df057371b57
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
2023-03-16 11:10:37 +00:00
Eike Ziller
0d8d4322b4 Merge remote-tracking branch 'origin/10.0'
Change-Id: Ie591b7130b33a042509e56701384f8ff4d9cb7f8
2023-03-16 11:57:01 +01:00
Henning Gruendl
9b4decf9af QmlDesigner: Fix invalid path hang up
Fix issue where an invalid path results in QDir being set to "." which
in some cases results in iterating a huge amount of files ultimately
causing QtDS to stall.

Task-number: QDS-9437
Change-Id: I0f868f1a94341fbd4d18e98de012ecd5d2a6423a
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
2023-03-16 10:52:02 +00:00
Mahmoud Badri
0e4e82d7aa QmlDesigner: Allow selecting a material at idx via a custom notif
Will be used for opening material editor from a material row in a
Quick3DModel's properties sheet.

Task-number: QDS-9408
Change-Id: Ia23703c2c1ffb6bd4a17db27b415dbabb2a0c642
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
2023-03-16 10:22:13 +00:00
Mahmoud Badri
05a1a81092 QmlDesigner: Allow dropping hdr/ktx assets to material editor
Also some tweaks in the same class and fixing few warnings.

Fixes: QDS-9430
Change-Id: Ife19fb5f9ad67292882c339f1aa3255e91461cd1
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
2023-03-16 10:09:07 +00:00
Christian Kandeler
76d2e7a4f3 ProjectExplorer: Add infrastructure for source -> binary mapping
Task-number: QTCREATORBUG-28815
Change-Id: Ib692981e92f5a395dbe400c2cd48042479f12c78
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: David Schulz <david.schulz@qt.io>
2023-03-16 09:50:48 +00:00
Jarek Kobus
6dc7bfb818 ClangGlobalSymbolFilter: Avoid custom prepareSearch() for aggregate
Delegate prepareSearch() directly to m_lspFilter aggregate
inside ClangGlobalSymbolFilter::prepareSearch().
This helps to keep filters' responsibilites more self-contained.

Disambiguate different overloads of
WorkspaceLocatorFilter::prepareSearch().

Change-Id: I98f25d01ad713a8c209a07bfd0d05b3ddcf16948
Reviewed-by: David Schulz <david.schulz@qt.io>
2023-03-16 09:26:45 +00:00
Jarek Kobus
4396820145 CppQuickFixes: Add lacking calls to prepareSearch()
Before matchesFor() are called.

Change-Id: I6acc9b39c5fd9c500312fa1863456d4e71e50165
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
2023-03-16 09:07:48 +00:00
Ali Kianian
5631c81a98 QmlDesigner: Fix warning for the NOTIFY signal of QmlEditorMenu
Change-Id: Id8fe58e5836e9b0bd6ea70fb9bfaf11c8d404dd7
Reviewed-by: Marco Bubke <marco.bubke@qt.io>
2023-03-16 08:00:06 +00:00
Marcus Tillmanns
bd52e53dbf Terminal: Add shell integration
Change-Id: Ic1e226b56f0103e5a6e7764073ab7ab241b67baa
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
2023-03-16 06:08:09 +00:00
hjk
3507229a00 RemoteLinux: Use SshParameter::userAtHost()
... instead of rolling its own.

Change-Id: I99cf1714e871b3af2c825d3b3f131982383a10b7
Reviewed-by: Jarek Kobus <jaroslaw.kobus@qt.io>
2023-03-15 15:07:23 +00:00
Jarek Kobus
958db5a144 TerminalProcess: Fix merge conflict
Amends a43c20969c

Change-Id: Ib94845dfb3a7a17a86d5a07ad6501a3c3cb905b2
Reviewed-by: Marcus Tillmanns <marcus.tillmanns@qt.io>
2023-03-15 14:15:45 +00:00
Jarek Kobus
a43c20969c QtcProcess: Remove TerminalMode::Pty enum value
Make Pty::Data optional. When set, the PtyProcessImpl
implementation is implied.

Change-Id: I7990e9d9016223e6597d876a5d0c4ed177365874
Reviewed-by: Marcus Tillmanns <marcus.tillmanns@qt.io>
2023-03-15 13:52:45 +00:00
Marcus Tillmanns
666f3258ba Docker: Fix shell exit handling
Previously if a docker container was removed outside of Qt Creator
the shell would not be correctly reset by the dockerdevice and
therefor cause a hang.

Change-Id: I5e84f7c114e525c732f45b701277736d6acc7a11
Reviewed-by: hjk <hjk@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
2023-03-15 13:33:25 +00:00
Marcus Tillmanns
2509c3471b Copilot: Add missing include
Change-Id: I313a394a0ff5bd352b7cb15ed2b7e6e02aefaa61
Reviewed-by: hjk <hjk@qt.io>
2023-03-15 13:24:09 +00:00
hjk
0dc61f55c3 Debugger: Use more FilePath in source file handling
Needed for the double-remote case.

With this we have proper breakpoint markers in the text editor for a remotely
running gdb on a remotely loaded project.

Change-Id: If80e4a4108a4a0bcdd7612a59e2bd695213f5ea5
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
2023-03-15 12:34:58 +00:00
Jarek Kobus
47ed25e95d ModelEditor: Add lacking calls to prepareSearch()
Before matchesFor() are called.

Change-Id: If55dc078c8c2ff79ee01d2873eaf5e22132ddc84
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2023-03-15 12:16:48 +00:00