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>
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>
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>
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>
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>
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>
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>
This way cmd, bash, powershell are more descriptive than "Terminal"
Change-Id: I19310f423cd4188ecc48580a30ed414833a15aee
Reviewed-by: Marcus Tillmanns <marcus.tillmanns@qt.io>
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>
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>
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>
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>
Iterators expose the underlying datastructure and get
in the way of moving towards "env as stack of changes"
Task-number: QTCREATORBUG-28357
Change-Id: I69e3b53e62ed4c9ab394779e97afbc6fd1986838
Reviewed-by: Marcus Tillmanns <marcus.tillmanns@qt.io>
You now have the option to create projects that you can open in QDS.
Task-number: QTCREATORBUG-28721
Change-Id: Ia8f36fd65f2356b9987b027d7b37ac6848ff7e03
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
This allows to easily register a singleton similar to
context properties.
Change-Id: I0c391165473a949e7fd09d907e3a0752c23ba62d
Reviewed-by: Henning Gründl <henning.gruendl@qt.io>
The painting of an editor assumes the block is layouted properly. This
was done implicitly when calculating the block bounding rect previously.
With the option to replace the block layout with another document this
is not the case anymore, so we need to explicitly make sure that a block
was layouted before painting.
Change-Id: If6947a3a5c13a03310e0cab0f6fcbd4ff8078b1b
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Marcus Tillmanns <marcus.tillmanns@qt.io>
We don't have to rely on qdoc being located alongside qmake anymore,
because nowadays Qt defines a Qt::doc target with IMPORTED_LOCATION set,
so we can use that directly.
Change-Id: I450578e711e0835e00320251dcadc78c1f02ab7d
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
This happens from time to time, but I do not have a way to reproduce it
safely. In order to present the user a somewhat usable state after this
error cancel the debug run and show a message box with potential fixes.
Fixes: QTCREATORBUG-24323
Change-Id: I7e557001bd5dfb3b0abb19fa635bf2d20bb3b16c
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
Old Qt5 specifics sheets specify caption property for ColorEditor,
and fail to load if the property doesn't exist, so define the property
for compatibility purposes.
Fixes: QDS-9256
Change-Id: I6b56d98fd711d21272e914f6e167aa1cf8e07070
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Qt Creator provides numbers of plugins.
Setting focus to the filter control helps to find a plugin.
Change-Id: Iac34ff04b97311a8c7890a3cbafdde22b2242dcd
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
Reviewed-by: Eike Ziller <eike.ziller@qt.io>