Commit Graph

249 Commits

Author SHA1 Message Date
David Schulz
59cb505dd0 Terminal: fix typo
Change-Id: I92ccb9cee06517d7be86e2393209096e1b47c36a
Reviewed-by: Marcus Tillmanns <marcus.tillmanns@qt.io>
2023-10-25 12:03:28 +00:00
Eike Ziller
df80454d26 Merge remote-tracking branch 'origin/12.0'
Change-Id: I04104ef638b28d99da11b9b7a22f31f8d0ddf460
2023-10-24 13:05:55 +02:00
David Schulz
30ef90c322 Terminal: add finished signal
Change-Id: I9d560d1f1bbaa94ae75420002744073a1e8fad1a
Reviewed-by: Marcus Tillmanns <marcus.tillmanns@qt.io>
2023-10-23 10:24:48 +00:00
Leena Miettinen
61088bba69 Fix UI text capitalization, punctuation, and phrasing
Change-Id: I41951660a464601063e5cedd417db2cb7cd37e44
Reviewed-by: Jarek Kobus <jaroslaw.kobus@qt.io>
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
2023-10-20 14:55:38 +00:00
Eike Ziller
ad7d559028 Tr: More small fixes
Change-Id: I5d9324d3f64eaa522fa1d435efa39fa43d84798a
Reviewed-by: Jarek Kobus <jaroslaw.kobus@qt.io>
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
2023-10-18 12:10:45 +00:00
Eike Ziller
64550e1339 Tr: Small fixes like full stops, whitespace and typos
Change-Id: I4d1edba6d28661af3c2255add35141f1e73fc304
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
Reviewed-by: Jarek Kobus <jaroslaw.kobus@qt.io>
2023-10-18 11:16:03 +00:00
Eike Ziller
cee8309998 Tr: Parametrize some application names
Change-Id: I5222455d895aecb94c9a96d0a0f4fd7c279a7388
Reviewed-by: Jarek Kobus <jaroslaw.kobus@qt.io>
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2023-10-18 11:14:39 +00:00
Marcus Tillmanns
c4ea695411 Terminal: Improve color tooltips
Change-Id: Ifc2fdb4369767a65c79a784d1f68caac81497db1
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
2023-10-11 11:24:57 +00:00
Marcus Tillmanns
692fe58427 Terminal: Add debug button to easily copy theme
Adds a button to copy the current theme to the clipboard
in a format suitable for the Qt Creator Theme files.

Change-Id: Ib302d0544507b3111675a99f0915323d61d684c5
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
2023-10-11 08:44:04 +00:00
Marcus Tillmanns
c9cf86856c Terminal: Add support for Windows Terminal schemes
Change-Id: Ic6911bdcd2152a5fec8be54a515c5df13c3c08d7
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
2023-10-10 07:51:53 +00:00
Marcus Tillmanns
1fabd72514 DeviceSupport: Add more error output
Previously most errors when opening shells were completely
opaque to the user. This patch adds error output either via
QMessageBox if there is another modal dialog, or as flashing
disrupting messages.

Change-Id: I54be7a90295b61c23c739294c2d1d37c288ad273
Reviewed-by: hjk <hjk@qt.io>
2023-10-06 08:26:15 +00:00
Marcus Tillmanns
43f770b087 Terminal: Pull upstream shellintegration scripts
Change-Id: Ic0fed1a56ec635351716dca1e410050990d2dd98
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
2023-10-04 11:13:46 +00:00
Marcus Tillmanns
9e31654339 Terminal: Fix bash shell integration on KDE
Change-Id: I7c84cee276f1ee2fd902a447b763609534285911
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
2023-09-28 14:03:06 +00:00
Christian Kandeler
bdded29b33 qbs build: Improve some base items
Clean-up, simplification and modernization.
Also fix the bugs uncovered by this.

Change-Id: Ia3a77557f10faf9a901540a55fd6c07a2e986bf5
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2023-09-18 11:50:09 +00:00
Eike Ziller
b0043ed1ac OutputPane: Use setter for priority and fix default visibility
Do not show the buttons of output views with priority < 0 (instead of
only == -1). Reduce the number of buttons that are shown by default to
the essential ones.

Change-Id: I5b44f18537b3033ce9d616f044a8b54b76988783
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Marcus Tillmanns <marcus.tillmanns@qt.io>
2023-09-18 10:14:51 +00:00
Eike Ziller
053c6253b8 OutputPane: Add an id() for the settings
It was using the displayName for the key in the settings (visibility and
shortcut), which is annoying when changing the language.

Change-Id: Iffa784347c59389599c90f468dcba15834599c39
Reviewed-by: Marcus Tillmanns <marcus.tillmanns@qt.io>
2023-09-18 10:14:42 +00:00
Eike Ziller
409a4c972a OutputPane: Use setter for display name
Change-Id: I2e89fbd052330c9e7124272c2f2fa81a0db94de9
Reviewed-by: Marcus Tillmanns <marcus.tillmanns@qt.io>
2023-09-18 10:14:35 +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
616a0c0f77 Terminal: Support Ctrl+C/V on Windows
When a selection is present, let Ctrl+C work as copy
on Windows.

Remove sending ESC key in clearSelection as it interfered
with a Paste after copy.

Change-Id: I92db7f263e1eb433bca8aa5500fcecb637a23f90
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
2023-08-31 10:58:36 +00:00
hjk
8d0aa34bfc Plugins: A bit more Keys and Store
Change-Id: Iee55eeaa881dd9f2047fdbe95ad8d827f4ba34e0
Reviewed-by: Marcus Tillmanns <marcus.tillmanns@qt.io>
2023-08-25 08:00:02 +00:00
David Schulz
5122d8addc Merge remote-tracking branch 'origin/11.0'
Change-Id: Idbf5f641aa9db7574cf2a4bd09adb8bcd03da894
2023-08-22 08:10:48 +02:00
Marcus Tillmanns
64b852e186 Terminal: Fix default environment vars
Fixes: QTCREATORBUG-29515
Change-Id: I1d14f228f946a64a8d3cdb17f57ae9058db549ff
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
2023-08-21 06:43:01 +00:00
hjk
ec7abcf98c Utils: Make FilePathAspect::setDefaultValue take a QString
This sets the unexpanded value, so going to a "cooked" FilePath can
at least theoretically break. On the user side it saves a
roundtrip in a few cases, but is more ugly when the input is already
a proper FilePath.

Change-Id: I8a7e8f6d46fcc34c96b55e41d656dca933fbef4e
Reviewed-by: Marcus Tillmanns <marcus.tillmanns@qt.io>
2023-08-17 11:58:41 +00:00
Marcus Tillmanns
92355bf40d Terminal: Lazily open remote terminals
Move the burden of finding the shell of a device from the shell menu
to the TerminalWidget, so that opening the shell menu does not block
the ui.

Change-Id: I7f2e5a891f20faa53a1e3eec879866219f9bee0b
Reviewed-by: hjk <hjk@qt.io>
2023-08-17 07:09:48 +00:00
Marcus Tillmanns
ea14ada43b Terminal: Fix handling big chunks of OSC data
ShellIntegration previously ignored the initial and final flags of onOsc.

Change-Id: Ifa9594fba654cf543c117835fc182d4642dc70e4
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
2023-08-03 09:19:27 +00:00
Marcus Tillmanns
8ac9404725 Terminal: Add support for copy (OSC52)
Allows terminal apps like vim to set the clipboard, even from inside
an ssh/remote shell.

Change-Id: I1d068737ef65bb4541c3fc9c43870986865f1b45
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
2023-08-03 09:19:22 +00:00
Marcus Tillmanns
385ff37f88 Terminal: Fix selection
A missing call to the base class meant that when starting to search with
a selection set, the selected text was not copied into the search field.

Change-Id: I1f2f1054a687d8b33b6733cc2a96e85ffa7f7816
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
2023-07-31 11:23:47 +00:00
Orgad Shaneh
4ad3925da4 Merge remote-tracking branch 'origin/11.0'
Change-Id: I5cdff1f5db3fae89beef3d27316b21440541bb1c
2023-07-30 16:24:15 +03:00
Christian Stenger
c60f999a66 Fix qbs build
Amends 4ca7dd8763
and 80b23292b1.

Change-Id: I323a22b1427d51a1c25a41b2ab54eef8bc68a32f
Reviewed-by: Marcus Tillmanns <marcus.tillmanns@qt.io>
2023-07-28 07:52:16 +00:00
Christian Stenger
4ca7dd8763 Terminal: Adapt to recent restructuring
Amends 42ed82973c.

Change-Id: I5845d1fe15ee88862742ee81486ba57062ab0158
Reviewed-by: hjk <hjk@qt.io>
2023-07-27 13:47:38 +00:00
Marcus Tillmanns
80b23292b1 Core: Add searchable terminal
Change-Id: Id058fb1a97c967fc253b08edf3910f019e708b50
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
2023-07-27 13:13:06 +00:00
Marcus Tillmanns
42ed82973c Terminal: Create Terminal solution
Change-Id: If271fd23a84c49bbc25fcc3b9bc0939c7237d095
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
2023-07-27 12:03:17 +00:00
Marcus Tillmanns
79e839b29f Terminal: Add mouse support
Change-Id: Ibeb8e13b5f8f75f16ec86f64536235587c844ffc
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
2023-07-26 14:06:38 +00:00
Marcus Tillmanns
def291f260 Terminal: Improve paste performance
Pasting large amounts of data on macos would block the App indefinitely.

The issue was a blocking call to ::write. The first fix for that was to
set O_NONBLOCK on the tty stdout fd. The second fix was to pass the
actual result of the write back to the caller so they can react to it.

In the TerminalSurface we now check if the write was successful and
if not we buffer the data and try again later.

Change-Id: Ibc92cce57fad88b5e9aa325197b42e17bec5e746
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2023-07-26 09:48:17 +00:00
Eike Ziller
a419670ff5 Build: Change plugin json.in files to CMake style
They were still using variables in qmake style.
Directly use CMake variables in the json.in files and remove the no
longer needed escaping of quotes.

Adds a fatal message if it detects the old style in a .json.in file for
easier porting.

Change-Id: I8de88d8db2da55781f0e9d72eda03f943723188e
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
2023-07-25 13:21:16 +00:00
Eike Ziller
931529dbec Merge remote-tracking branch 'origin/11.0'
Conflicts:
	cmake/QtCreatorIDEBranding.cmake
	qbs/modules/qtc/qtc.qbs
	src/plugins/debugger/debuggerruncontrol.cpp

Change-Id: I7818dc765c2a137d6690a9a53b8ddda72b79ba2f
2023-07-25 13:20:21 +02:00
Marcus Tillmanns
7ca17c2aa4 Terminal: Fix nano paste
Nano does not work well with pasted \n, so we replace them with \r.

Change-Id: I2518e6e2095b5ee76e8eca55dede7ed708f21b9e
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
2023-07-25 11:17:12 +00:00
hjk
b14b7b1a5f Replace a few more Aspect::value() calls with operator() uses
Change-Id: I9343e74bfb51af41df02a411976b82b9260be2fb
Reviewed-by: Jarek Kobus <jaroslaw.kobus@qt.io>
2023-07-20 09:31:09 +00:00
hjk
bedab22e63 Replace a few aspect.value() calls with operatpor()
Change-Id: Icaada671fe8dbe59d4f596da49476b3ec2137c25
Reviewed-by: Marcus Tillmanns <marcus.tillmanns@qt.io>
2023-07-19 05:14:13 +00:00
hjk
4c02bc497c Core: Add some sanity check that settings containers don't auto-apply
We use manual 'Apply' in the dialog.

Also, mark a few pages as non-autoapply that were recently changed
away from PagedSettings again which did that autmatically.

Change-Id: Id78cac2770658b18c420813802a0e77443329f39
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2023-07-13 12:36:36 +00:00
hjk
66018f10f3 Terminal: Use one aspect more directly
Change-Id: I0767b66b6fa015535876e3ed67495e941631117b
Reviewed-by: Marcus Tillmanns <marcus.tillmanns@qt.io>
2023-07-10 12:36:52 +00:00
hjk
dbb1e04c77 Terminal: Use new settings creation pattern
Does not delay much yet, as settings() is accessed in
Plugin::extensionInitialized()

Task-number: QTCREATORBUG-29167
Change-Id: I8f7c7fbef78c4ce0f92302e57a81f6216456c27b
Reviewed-by: Marcus Tillmanns <marcus.tillmanns@qt.io>
2023-07-07 11:38:11 +00:00
hjk
91513a53dd Utils: Make aspect settings access implicit
Generally, aspects should use fromMap/toMap, but some older pages
use {from,to}Settings with always the same ICore::settings().

To make that less intrusive on the user code side, make that globally
implicit.

Task-number: QTCREATORBUG-29167
Change-Id: I29a8e23a31eb8061bb143e93931a07c6741eb7f9
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2023-07-07 09:02:29 +00:00
Marcus Tillmanns
f02d0354c4 Terminal: Dont show process exit code
Show it as a "flashing" message instead

Fixes: QTCREATORBUG-29373
Change-Id: Ib9e7280a1b80cc52835aecb954f80e9daa80f7ca
Reviewed-by: Robert Löhning <robert.loehning@qt.io>
2023-07-05 15:39:29 +00:00
Orgad Shaneh
2f6f9d2d33 Terminal: Add icons to tabs
Change-Id: Id219366de16944daf83c3eb154d6b087c79b7fd9
Reviewed-by: Marcus Tillmanns <marcus.tillmanns@qt.io>
2023-07-05 08:45:12 +00:00
Orgad Shaneh
9a7f45cc46 Terminal: Allow the underlying application to set title
Change-Id: I3530d645f16047df2546902d900e5e2fee8d071c
Reviewed-by: Marcus Tillmanns <marcus.tillmanns@qt.io>
2023-07-05 08:26:39 +00:00
hjk
d0d1e1af1f A few more direct FilePathAspect value accesses
Task-number: QTCREATORBUG-29167
Change-Id: I8eba582303c16dddbdb5cea5bce43f048bac06b7
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2023-07-04 13:08:00 +00:00
Orgad Shaneh
ce082bb09f Terminal: Simplify OpenTerminalParameters construction
Change-Id: I4dcc2146f227e4a408c88de62f7594953c8ccb66
Reviewed-by: Marcus Tillmanns <marcus.tillmanns@qt.io>
2023-07-03 13:30:43 +00:00
Eike Ziller
26e96bfad8 Merge remote-tracking branch 'origin/11.0'
Conflicts:
	src/plugins/debugger/debuggeritemmanager.cpp

Change-Id: I9d99d13feff9315f52eacbd84857c63cb69bf804
2023-07-03 10:24:09 +02:00
Orgad Shaneh
a3b4006627 Terminal: Fix icons and improve msys2 integration
Change-Id: I93b994716a8c22231d42b313ca2f688ddc100de3
Reviewed-by: Marcus Tillmanns <marcus.tillmanns@qt.io>
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
2023-06-30 14:45:51 +00:00