Some (Fedora) OS/Distros set a default value for TERM such as "dumb", which then breaks
command line tools such as "clear" which try to figure out what terminal they are
running in. Therefore we have to force-set our own TERM value.
Fixes: QTCREATORBUG-30737
Change-Id: I50ac86f17c92dc7bc477cc59ed43ec22025593fb
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
Add missing full stops, remove space at beginning and end, remove end
lines at end
Change-Id: I4ce28f578e13e100dcfbd8ef70630462faf407fc
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
ConPTY on windows will send "clear line" characters in response
to resizing the PTY.
During re-showing the terminal pane the widget receives a "height=0"
resize event. We have to ignore this otherwise the conpty might try to
clear the screen.
Another issue was that we are calling resize on the pty even thought the
process has ended and won't be able to respond to the clear attempty by
the pty anymore.
Fixes: QTCREATORBUG-30523
Change-Id: I24caeaffb31d255a0640952e2d35bda23fd16280
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
Allows the user to Ctrl(Cmd)+Click "version like" text (e.g. text that
only contains 0-9 and a-f) and starts a "vcsDescribe" if a version control
can be found for the current directory.
Fixes: QTCREATORBUG-29213
Change-Id: I462092b58bf595a6968f4765f83a207506f0cf87
Reviewed-by: André Hartmann <aha_1980@gmx.de>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Ctrl+K is a useful shortcut for some users, so we have to block the locator if the keyboard is locked.
Fixes: QTCREATORBUG-30032
Change-Id: I211e0bc449d3981513cc77bd14baf70a9acc3ae1
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: David Schulz <david.schulz@qt.io>
Change actions to use ActionBuilder and
use ToggleAspects for tool buttons.
Change-Id: I0f4a58c3a98cb2804e3d387ea02cac043bd71ae7
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
FilePath::toUrl does not pass queries correctly to QUrl.
So we use QUrl::fromUserInput directly.
Fixes: QTCREATORBUG-29850
Change-Id: If0706b3b37d03eeea87247b44f07f8a0f8915a95
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
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>
Clean-up, simplification and modernization.
Also fix the bugs uncovered by this.
Change-Id: Ia3a77557f10faf9a901540a55fd6c07a2e986bf5
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
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>
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>
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>
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>
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>
Show it as a "flashing" message instead
Fixes: QTCREATORBUG-29373
Change-Id: Ib9e7280a1b80cc52835aecb954f80e9daa80f7ca
Reviewed-by: Robert Löhning <robert.loehning@qt.io>
Preedits on linux can often contain more than one character.
Also changes the painting from white on black to painting with
just an underline.
Change-Id: I6769217ca80cf131aa3fb96b20e23b717f591467
Reviewed-by: David Schulz <david.schulz@qt.io>
ShortCutMap::addShortCut did assert if the keysequence was empty.
Changed Q_ASSERT to QTC_ASSERT to not crash.
Change-Id: Ib03e21bb00ab989e00d5c3de68b52b84c6eb2360
Reviewed-by: David Schulz <david.schulz@qt.io>
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>
Especially on Linux the pointer value of the Terminal might be reused,
leading to warnings about actions being registered for the same context.
Cleaning up the registration fixes this.
Change-Id: Ie1d53bf79581e9f98576e7a4e70420ec63da0f86
Reviewed-by: Eike Ziller <eike.ziller@qt.io>