Commit Graph

80529 Commits

Author SHA1 Message Date
Marcus Tillmanns
74f15c99ce Terminal: Fix Ctrl+[A-Z] and '|'
Change-Id: Id245a015d6092236c20634c47af682bcf073d982
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
2023-03-03 20:00:02 +00:00
Marcus Tillmanns
7fc674b566 Terminal: Fix "nano" titlebar
QTextLayout ignores trailing spaces, and does not draw their
background color. Converting them to Nbsp fixes this.

Change-Id: I19a363bcb4792c613eb9c59f7caaa40fa631b937
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
2023-03-03 19:59:30 +00:00
Marcus Tillmanns
af520667ca Terminal: Defer scrollback text calculation
In high load situations, the conversion of cells to std::u32string's can
become a bottleneck. To address this, the calculation is deferred until
it is needed.

Change-Id: I0cc3c941fa680d8b9ebc3a5cba13cdc5c2db50f9
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
2023-03-03 19:59:08 +00:00
Marcus Tillmanns
dc4ec494b3 Terminal: Fix mouse selection
Previously m_selection was not correctly ordered such that start < end.
This patch fixes that and also adds optional debug visualizations to aid
in debugging / validating the selection.

Change-Id: I9b0d2fcd917f39eeb5082bc374796fed91521c7c
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
2023-03-03 19:55:05 +00:00
Tim Jenssen
6445db8ca2 Revert "scripts: add ignore-codesign-paths feature"
This reverts commit cc4914ff83.

Reason for revert: did not work

Change-Id: Ib6e860f93a23bb599a4c6da98e23117498ff294a
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
2023-03-03 19:07:49 +00:00
Tim Jenssen
cc4914ff83 scripts: add ignore-codesign-paths feature
QtDesignStudio packages Qt into the dmg
which is already codesigned.

Change-Id: I8d0f0d6df1e8792e44ef93ab6f871e6eecad7183
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
2023-03-03 18:21:54 +00:00
Tim Jenssen
3425b55352 qml2puppet: fix QtCreator branded builds
Task-number: QDS-9356
Change-Id: I6bb587a8a5c0d7d905725b1e145fcc9c11ac4994
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
2023-03-03 18:19:51 +00:00
Mahmoud Badri
399cc372db QmlDesigner: Skip asset importer dialog when dropping an external asset
Fixes: QDS-9350
Change-Id: I7bef35350108580ef293160840a9e4174d1f6642
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
2023-03-03 16:28:30 +00:00
Marcus Tillmanns
1d6c161124 Utils: Fix missing modeBase
Change-Id: I8ce9393ef97b83b9db8cde12cc8653e9072dad65
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2023-03-03 14:24:25 +00:00
Eike Ziller
89f98659ca Change filesystem locator filter to FilePath
Allows using the filesystem locator filter on remote systems.

Change-Id: I4753691cdc0ec8a0e598001371ff3cf6be44737c
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>
Reviewed-by: Marcus Tillmanns <marcus.tillmanns@qt.io>
2023-03-03 14:15:29 +00:00
Jarek Kobus
6efecebb10 ILocatorFilter: Provide default implementation for accept()
Change-Id: Ide3c65ac78da60c9634b8f1c3009e947e8f1e2f3
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
2023-03-03 14:06:17 +00:00
Jarek Kobus
215f79f580 LocatorFilter classes: Use more linkForEditor
Limit the usage of ambiguous internalData.

Change-Id: Ice67884b9fb2ff303939cd5998c6e80453e82530
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2023-03-03 14:06:08 +00:00
hjk
34fd28327d CMake: Use callback-based environment iteration
Hides underlying data structure.

Task-number: QTCREATORBUG-28357
Change-Id: Ib0d7fb70afa820b1bd28d23e12b9379a6de6546b
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
2023-03-03 14:05:07 +00:00
Cristian Adam
6a41e33908 CMakePM: Use cleaned paths for CMake parameter values
FilePath::fromUserInput will "clean" the paths, which on Windows means
that \\ will be replaced by /.

This is how CMake treats the paths internally as CMake paths.

This fixes the %{buildDir} macro which will expand to \\ on Windows.
Which causes issues with qtcsettings.cmake.

This way the expanded value of CMAKE_PROJECT_INCLUDE_BEFORE is not
displayed as red on Windows in the "Current Configuration" settings
page.

Change-Id: Ic26bf437de41ff3fb1c1b98d304ae84512cb0f1a
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
2023-03-03 13:57:08 +00:00
David Schulz
9feef11b5d Copilot: robustify request logic
Change-Id: Ifa46bc05f0bab8e3c7fc40d855a35e940f0628da
Reviewed-by: Marcus Tillmanns <marcus.tillmanns@qt.io>
2023-03-03 13:34:40 +00:00
Fabian Kosmale
b80546c1d9 Docs: Adjust to QtQuick application wizard changes
The filename starts now with an upper-case M.
Amends fa2ea6fd97

Change-Id: Ia5055b0be1edc77aa5cab84329424241c4334a27
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
2023-03-03 12:51:29 +00:00
Mahmoud Badri
26b2b01ab4 QmlDesigner: Cleanup includes in assetslibrarywidget
Change-Id: I224b16cf34698ecdfe0b72a9c1d87bb17a92e56a
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
2023-03-03 12:32:39 +00:00
Miikka Heikkinen
8e8cb6aa3d QmlDesigner: Fix shader asset icon in assets view
Fixes: QDS-9297
Change-Id: Ib81e1e12476b436dbb04984bf6f6567a88a44f63
Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io>
2023-03-03 12:02:33 +00:00
hjk
08bacd3f19 Avoid a few double lookups when expanding environment values
Change-Id: Ie84caee89a48d8006e6324c5a82901d01a5fac6c
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
2023-03-03 11:37:05 +00:00
Mats Honkamaa
288dc3f3fa Doc: Update snapping in 2D view docs
Snapping was done from the toolbar before, now you
use the context menu.

Task-number: QDS-9265
Change-Id: If7aeac74dd95c74b4a942c8dc69829e274a2c5da
Reviewed-by: Esa Törmänen <esa.tormanen@qt.io>
Reviewed-by: Mats Honkamaa <mats.honkamaa@qt.io>
2023-03-03 11:28:18 +00:00
The Qt Project
67b8af1de1 Merge "Merge remote-tracking branch 'origin/9.0' into 10.0" into 10.0 2023-03-03 11:18:26 +00:00
Christian Kandeler
47d375bbb4 CPlusPlus: Support requires clause in parser
Change-Id: Ice6a7a287453516a1cfc296e2c9f16160b3ea130
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-03 11:10:54 +00:00
Eike Ziller
3be4cf7521 Merge remote-tracking branch 'origin/9.0' into 10.0
Conflicts:
	share/qtcreator/translations/qtcreator_zh_CN.ts

Change-Id: Iedd37c310b312223bd8a455479770e9359719a07
2023-03-03 11:56:49 +01:00
Friedemann Kleint
7214d79420 Start debugger dialog: Enable clear button for command line arguments
Change-Id: Ia8d1a9a39ad61df37fd18a81e18d7e3e2ccad674
Reviewed-by: hjk <hjk@qt.io>
2023-03-03 10:20:07 +00:00
Jarek Kobus
30760747a3 FileStreamer: Optimize transfer on the same device
Run just "cp" on device instead of transferring the content of the
source into local and sending it back again to remote.

Change-Id: I703ad1181d77d470ae145691979c34fc75b59a97
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: hjk <hjk@qt.io>
2023-03-03 10:10:24 +00:00
Jarek Kobus
c1b1842c48 Utils: Introduce FileStreamerManager
To be used for FilePath::async[Copy/Read/Write]() methods.

Change-Id: Ie34e600f8d65eae10b41893e15685afe19ce2a46
Reviewed-by: hjk <hjk@qt.io>
2023-03-03 09:57:28 +00:00
Jarek Kobus
22b9826e22 Utils: Introduce FileStreamer
The class is responsible for asynchronous read / write
of file contents. The file may be local or remote.
It's also able to do an asynchronous copy of files
between different devices.

Change-Id: I65e4325b6b7f98bfc17286c9a72b0018db472a16
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: hjk <hjk@qt.io>
2023-03-03 08:49:31 +00:00
Marcus Tillmanns
240686b7ea Terminal: Start with disabled copy action
The copy action should only be enabled once a selection exists.
In the beginning no selection can exist, therefore the copy action
is disabled.

Previously this lead to a bug where only the second "Enter" keypress
was passed on to the terminal.

Change-Id: Iac01c273f70a50a4fc131bd6a2bbb1507705b853
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
2023-03-03 08:24:31 +00:00
Marcus Tillmanns
6d70a27965 UnixPtyProcess: Fix read loop
Previously a value of "-1" from ::read would result in an endless loop.
This could easily be reproduced by "cat /dev/random | base64"

The buffer usage was also much more complicated than needed.
A static readBuffer now keeps the amount of allocations lower.

Change-Id: I5bb1a3c84b107ff8c2d3801bca8c6ae9a709cdb3
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
2023-03-03 08:12:38 +00:00
hjk
b26e3a4501 Utils: Remove unused Environment functions
Change-Id: Idea6b1a126b1d4fe82b597e96ce447da9f546396
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-03 08:07:00 +00:00
Cristian Adam
9673dc7cd4 Terminal: New terminal and switch between terminals shortcuts
On macOS:
  * new terminal Ctrl+T
  * next terminal Ctrl+Shift+]
  * prev terminal Ctrl+Shift+[

On Windows / Linux
  * new terminal Ctrl+Shift+T
  * next terminal Ctrl+PgUp
  * prev terminal Ctrl+PgDown

Change-Id: I5626816cd18fd7a6d2b1cea5eea835a40b0c1029
Reviewed-by: Marcus Tillmanns <marcus.tillmanns@qt.io>
2023-03-03 07:44:01 +00:00
Marcus Tillmanns
9b7b0d4f02 Terminal: Switch to std::chrono
QDateTime's interface various between supported Qt Versions,
so we use std::chrono instead

Change-Id: I5af5ae9950e61c2ed38ff15dc0580f0dc2aa1f57
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2023-03-03 07:35:05 +00:00
Jarek Kobus
13a202564b TerminalProcess: Add Pty into switch statement
Amends 1da18a4b62

Change-Id: I1cef188a28f19eea3885a17e983b4cf7a4815498
Reviewed-by: Marcus Tillmanns <marcus.tillmanns@qt.io>
2023-03-03 07:30:35 +00:00
David Schulz
1124a75948 Debugger: Fix highlighting values and members in memory view
Fixes: QTCREATORBUG-23681
Change-Id: I1420385d0c923be0ae4dd7ef2662263b88623333
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2023-03-03 07:04:18 +00:00
Mats Honkamaa
3e5a450f3a Doc: Update images
Updated most images to match the new UI. This is not fully complete,
some images (such as timeline) will be updated in separate tickets.

Task-number: QDS-8417
Change-Id: I27cb212144eef884c4d939a7f3d3ed89362c6e44
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
2023-03-02 18:13:49 +00:00
Cristian Adam
d387802a3e Terminal: use shell name as terminal tab name
This way cmd, bash, powershell are more descriptive than "Terminal"

Change-Id: I19310f423cd4188ecc48580a30ed414833a15aee
Reviewed-by: Marcus Tillmanns <marcus.tillmanns@qt.io>
2023-03-02 16:54:59 +00:00
Cristian Adam
0a0827da41 Terminal: Improve keyboard shortcuts and mouse copy/paste
Change-Id: I7e032a48cc55143dd8fb038d74eb71c4ad8badac
Reviewed-by: Marcus Tillmanns <marcus.tillmanns@qt.io>
2023-03-02 16:54:53 +00:00
Marcus Tillmanns
78b1407adf Docker: Don't swallow output when startup fails
Previously error output occurring while the PID marker was
not parsed yet was not passed on to the parent QtcProcess.

Change-Id: Id6cbaa13a7d6c62d7a8612e118092eb2be6e790c
Reviewed-by: hjk <hjk@qt.io>
2023-03-02 16:32:57 +00:00
hjk
5e3af5b0f5 Qnx: Avoid use of Environment iterators
Change-Id: I2a1be67c1d21a731de1ada3d58099896fb676ffa
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
2023-03-02 16:16:33 +00:00
hjk
3e5d14b020 Utils: Replace Environment::find iterator use
Task-number: QTCREATORBUG-28357
Change-Id: I2723ffd6b7842f88009701eccea9aacac8cbf516
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
2023-03-02 16:02:41 +00:00
hjk
21de068c14 RemoteLinux: Avoid some explicit uses of environment iterators
Task-number: QTCREATORBUG-28357
Change-Id: Ic8eb7592853749a7d511acc9a528059765c4ed75
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
2023-03-02 16:02:33 +00:00
hjk
3d45683edf QMake: Avoid some explicit use of environment iterators
Task-number: QTCREATORBUG-28357
Change-Id: I80eae26eb1e7c7202654acdd3eb9380934bb7347
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
2023-03-02 16:02:20 +00:00
hjk
ef0b958c74 Qbs: Avoid explicit use of Environmnet iterators
Task-number: QTCREATORBUG-28357
Change-Id: Ib703941bf50053df5481945e0714dd831191b625
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
2023-03-02 15:33:49 +00:00
Christian Kandeler
928bef59ef Fix qbs build
Change-Id: Iddc8bdc08367cb596b16c22494c9289ea7eb4c86
Reviewed-by: hjk <hjk@qt.io>
2023-03-02 15:31:14 +00:00
Marcus Tillmanns
d8dc1c7f0f Terminal: Improve performance while selecting
Change-Id: I4f0a7a937f6e600430d8c89e51d1ea2d1ab8687f
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
2023-03-02 14:20:01 +00:00
Marcus Tillmanns
76b55fd6e6 Terminal: Implement selection via double click
Change-Id: I7665df5f37836331f202f168828bb1b1636bf5de
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
2023-03-02 14:19:56 +00:00
Marcus Tillmanns
46ccaa642f Terminal: Improve performance for cat /dev/random
Change-Id: Ibc7e09dd9388fd6f06f0bed3ade4e83d05f03c28
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
2023-03-02 14:19:47 +00:00
Marcus Tillmanns
86da87d306 ProjectExplorer: Remove IDevice::terminalCommand
Since Terminals can now be started for device file paths, there
is no need anymore for IDevice::terminalCommand.

Change-Id: I01c831ea7ee29d53efa6880631e8c6d54a4316aa
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
2023-03-02 14:13:19 +00:00
David Schulz
517400e7f6 Copilot: do not activate the editor when requesting completions
This has unwanted side effects like closing the completion and switching
the current editor.

Change-Id: Ic0e150f2377a731910e409b9edc959fda670cd99
Reviewed-by: Marcus Tillmanns <marcus.tillmanns@qt.io>
Reviewed-by: hjk <hjk@qt.io>
2023-03-02 14:12:07 +00:00
Marcus Tillmanns
1da18a4b62 Utils: Integrate ptyqt into qtcprocess
Integrating PtyQt directly into QtcProcess allows us to
start Pseudo terminal processes using the existing QtcProcess
functionality such as starting remote process on e.g. docker
or remote linux devices.

This is needed for the new Terminal plugin.

Change-Id: Iaeed5ff9b341ba4646d955b2ed9577a18cd7100f
Reviewed-by: Jarek Kobus <jaroslaw.kobus@qt.io>
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
2023-03-02 14:10:11 +00:00