Commit Graph

34 Commits

Author SHA1 Message Date
Alessandro Portale
fb724ec38b Terminal: New keyboard lock icon
Change-Id: Ie3964d599fb15def190c51dd33351fa0224cacfc
Reviewed-by: Marcus Tillmanns <marcus.tillmanns@qt.io>
2023-06-08 14:15:20 +00:00
Marcus Tillmanns
dd99b83e62 Terminal: Fix tooltip
Fixes: QTCREATORBUG-29260
Change-Id: I6bde92e0caaa62598f25d1af7f7a69548b8fa4d3
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2023-06-07 10:51:28 +00:00
Marcus Tillmanns
217b03c1ac Terminal: lock/unlock keyboard
We copied QShortCutMap into Qtc to allow us tight control over which shortcuts
are "enabled" while the focus is inside a terminal, and the keyboard is "locked"
to the Terminal. Locked here means that except for a select few, all key presses
are send directly to the terminal and cannot be used to activate other actions.

Change-Id: I96cddf753033c0f4e7d806b20085bb4755853117
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2023-06-07 10:29:47 +00:00
Marcus Tillmanns
8d02d96127 Terminal: Fix esc button update
Change-Id: I4862de654ab920faa46742b4a4433dff07ed0387
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2023-06-06 04:37:59 +00:00
Jarek Kobus
b51188c9a9 TerminalPane: Fix a warning about an unused arg
Change-Id: I63d19a608c63532e0e83df929da6cb07dc896722
Reviewed-by: Marcus Tillmanns <marcus.tillmanns@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
2023-06-01 07:40:17 +00:00
Marcus Tillmanns
9f1a2c4f8f Terminal: Rework commands
This rework fixes the way commands are registered in Qt Creator.

Change-Id: I401f3ac7d9194dad8fceb507360ddc3633106eb4
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
2023-05-31 13:17:49 +00:00
hjk
8b29c06372 Terminal: Use PageSettings for settings
The DropSupport is disabled for now, plan is to have a DropArea
LayoutItem later and use that.

Change-Id: I7fd1e55ad0c053f0357bb53a7cc20e9da8a933a7
Reviewed-by: Marcus Tillmanns <marcus.tillmanns@qt.io>
2023-05-26 07:18:18 +00:00
Marcus Tillmanns
c7bce14525 Terminal: Axivion warning fixes
Change-Id: Iae048d53c64c2c42fa14e425b5de11e0bf1a59d3
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
2023-05-23 11:10:57 +00:00
Marcus Tillmanns
0c8ae843c6 Terminal: Switch Mode to ensure visible
Change-Id: I6d92ac07b7f6e7d5ed3fa4d27531d1cb8ec1a36f
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
2023-05-12 06:41:13 +00:00
Marcus Tillmanns
c0f0ccdc78 Terminal: Ensure terminal is visible
When restarting an app, make sure the terminal is visible and focused.

Change-Id: I305eb59ddf2f5e0f2844d47e51500953c3145c38
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
2023-05-09 11:20:49 +00:00
Marcus Tillmanns
18045f3fe0 Terminal: Close Pane with last Terminal
Closes the Terminal pane once the last terminal is closed.
Opening the pane again will also open a new Terminal.

Change-Id: I2f822b0058b26506250c784357ba522f29fd4078
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
2023-04-03 07:34:26 +00:00
Marcus Tillmanns
e45ee44ae6 Terminal: Use native shortcut representation
Changes the ESC configure button to display the native representation of
the ESC Key instead of the macOS specific one.

Change-Id: Id3ec69901afb2bcb8b352b9c50a1adb4a074cd74
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: hjk <hjk@qt.io>
2023-03-27 12:24:01 +00:00
Marcus Tillmanns
af5f702f54 Terminal: Make ESC key behavior configurable
Change-Id: I806870c5dd7edbcd3ac2642849cca82f1939ce01
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
2023-03-27 09:29:47 +00:00
Marcus Tillmanns
9417f8b99e Terminal: Add search
* Adds new search widget to terminal
* Adds new theme color "TerminalFindMatch"
* Fixes ESC key handling in terminal

Fixes: QTCREATORBUG-28946
Change-Id: I7b6057d13902a94a6bcd41dde6cc8ba8418cd585
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
2023-03-24 16:12:01 +00:00
Cristian Adam
1be65dd1ee Terminal: Update on set focus after closing tab
Amends 84155e8354

This change sets the focus also on terminals that get destroyed via exit
or Ctrl+D

Change-Id: I9a96ae5b257f3e8a93db7efb4e7d4468b287c143
Reviewed-by: Marcus Tillmanns <marcus.tillmanns@qt.io>
2023-03-24 11:56:10 +00:00
Cristian Adam
3b6e59ab91 Terminal: Update on open/close the Terminal pane registration
Amends f95bd6119a

Change-Id: Ie20d73ad9d87c5b244c768a28f3a7bd71fdd272c
Reviewed-by: Marcus Tillmanns <marcus.tillmanns@qt.io>
2023-03-24 11:55:58 +00:00
Alessandro Portale
3526b6a735 Terminal: Introduce Add/Close icons for the pane
Required a new "close" overlay.

Change-Id: I5268ec280992124ebcee78a73ab58b18e7c9309b
Reviewed-by: Marcus Tillmanns <marcus.tillmanns@qt.io>
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
2023-03-24 10:39:00 +00:00
Cristian Adam
f95bd6119a Terminal: Register the command to open/close the Terminal pane
This way Alt+5 (Ctrl+5) would open / close the Terminal pane.

Change-Id: I91003987c1b8109abc302a79a895fab1557fefea
Reviewed-by: Marcus Tillmanns <marcus.tillmanns@qt.io>
2023-03-24 07:47:03 +00:00
Marcus Tillmanns
8064496f4e Terminal: Always show tabs
Fixes: QTCREATORBUG-28944
Change-Id: I59242eb08999ca9bd25363c144c05f29f36cbc54
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
2023-03-24 07:16:33 +00:00
Marcus Tillmanns
84155e8354 Terminal: Set focus after closing tab
Change-Id: I1c13d0e59000ca3d1a88a3fe543ccd1aa6db7462
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
2023-03-23 13:52:05 +00:00
Cristian Adam
6e0a50c660 Terminal: Use terminal icon for the shells dropdown button
The + icon is confusing with the zoom in.

Change-Id: Ibafa538a7ef3c1f58c940780caca4c24bfc23ef3
Reviewed-by: Marcus Tillmanns <marcus.tillmanns@qt.io>
2023-03-23 13:30:10 +00:00
Marcus Tillmanns
af809b3a52 Terminal: Add context menu & Settings button
Fixes: QTCREATORBUG-28937
Change-Id: I9dab5da0adccb8cff4d4e824ead0eba3e27eef5c
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
2023-03-23 12:32:07 +00:00
Marcus Tillmanns
a485f18a94 Terminal: Make shortcuts configurable
Fixes: QTCREATORBUG-28940
Change-Id: I1afe114c357243a8fa4f101b5eac80a766dc87b9
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
2023-03-23 12:31:53 +00:00
Marcus Tillmanns
44074accc7 Terminal: Use QtcProcess to start terminal window
Previously DesktopDevice::openTerminal used custom code to open a
terminal window. This patch changes it to use QtcProcess with
TerminalMode::On.

This also removes the need for "openTerminal.py" on macOS.

Change-Id: Iec978bdd19487ff8e59dcd88c35c2d01b0681022
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
2023-03-21 15:09:15 +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
bd52e53dbf Terminal: Add shell integration
Change-Id: Ic1e226b56f0103e5a6e7764073ab7ab241b67baa
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
2023-03-16 06:08:09 +00:00
Cristian Adam
ce091cbcca Terminal: add minMax terminal panel keyboard shortcut
On Windows the terminal (both cmd and Terminal) have Alt+Return as
fullscreen.

For Qt Creator this will map to the minMax Terminal panel action.

Change-Id: I04594850a0fafa8f620dc81d0b5b49937c12a0cd
Reviewed-by: Marcus Tillmanns <marcus.tillmanns@qt.io>
2023-03-09 20:39:33 +00:00
Marcus Tillmanns
66094398fb Terminal: New Terminal opens project folder
Change-Id: I974a3c73363a810a18f9327d8682c2a56a42fee2
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
2023-03-06 22:55:59 +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
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
Marcus Tillmanns
3e73fe302e Terminal: Coverity warning fixes
Change-Id: If96291ff6df97f7e85840eb0951cc3f4abfab0f6
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2023-02-27 10:41:05 +00:00
Marcus Tillmanns
d4ac8aeaa6 Terminal: Add remote devices to shell selection
Change-Id: Id28471aaf3e91ef493f48ab28207230f3fb513c2
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
2023-02-27 10:21:24 +00:00
Marcus Tillmanns
c6dc54b343 Terminal: Add Shell option menu
Change-Id: I08ea3c52ed28ab65f2dc902051bab9e6975e6a7e
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
2023-02-24 13:37:14 +00:00
Marcus Tillmanns
682ef157d8 Terminal: Add Terminal plugin
Adds a new Terminal plugin that provides a Terminal pane inside
Qt Creator.

Fixes: QTCREATORBUG-8511
Change-Id: I7eacb3efa2463d7df9f383ae3fc33254fb9019a9
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: hjk <hjk@qt.io>
2023-02-24 10:19:33 +00:00