Commit Graph

21 Commits

Author SHA1 Message Date
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