forked from qt-creator/qt-creator
Shortcut to enable/disable shortcuts routing to terminal
Fixes: QTCREATORBUG-29876 Change-Id: I8b04c09ce1de7dab968499773179f663c1c6fe7d Reviewed-by: Marcus Tillmanns <marcus.tillmanns@qt.io>
This commit is contained in:
committed by
Xavier BESSON (Personal)
parent
218f346fcc
commit
223deb5968
@@ -15,5 +15,6 @@ constexpr char CLEARSELECTION[] = "Terminal.ClearSelection";
|
||||
constexpr char MOVECURSORWORDLEFT[] = "Terminal.MoveCursorWordLeft";
|
||||
constexpr char MOVECURSORWORDRIGHT[] = "Terminal.MoveCursorWordRight";
|
||||
constexpr char CLEAR_TERMINAL[] = "Terminal.ClearTerminal";
|
||||
constexpr char TOGGLE_KEYBOARD_LOCK[] = "Terminal.ToggleKeyboardLock";
|
||||
|
||||
} // namespace Terminal::Constants
|
||||
|
@@ -125,6 +125,8 @@ TerminalPane::TerminalPane(QObject *parent)
|
||||
|
||||
updateLockButton();
|
||||
|
||||
connect(&toggleKeyboardLock, &QAction::triggered, m_lockKeyboardButton, &QToolButton::toggle);
|
||||
|
||||
connect(m_lockKeyboardButton, &QToolButton::toggled, this, [this, updateLockButton] {
|
||||
settings().lockKeyboard.setValue(m_lockKeyboardButton->isChecked());
|
||||
updateLockButton();
|
||||
@@ -292,6 +294,8 @@ void TerminalPane::initActions()
|
||||
closeTerminal.setIcon(CLOSE_TERMINAL_ICON.icon());
|
||||
closeTerminal.setToolTip(Tr::tr("Close the current Terminal."));
|
||||
|
||||
toggleKeyboardLock.setText(Tr::tr("Toggle Keyboard Lock"));
|
||||
|
||||
using namespace Constants;
|
||||
|
||||
Command *cmd = ActionManager::registerAction(&newTerminal, NEWTERMINAL, m_selfContext);
|
||||
@@ -310,6 +314,10 @@ void TerminalPane::initActions()
|
||||
QKeySequence(HostOsInfo::isMacHost() ? QLatin1String("Ctrl+Shift+]")
|
||||
: QLatin1String("Ctrl+PgDown"))});
|
||||
|
||||
ActionManager::registerAction(&toggleKeyboardLock,
|
||||
TOGGLE_KEYBOARD_LOCK,
|
||||
m_selfContext);
|
||||
|
||||
connect(&newTerminal, &QAction::triggered, this, [this] { openTerminal({}); });
|
||||
connect(&closeTerminal, &QAction::triggered, this, [this] {
|
||||
removeTab(m_tabWidget.currentIndex());
|
||||
|
@@ -66,6 +66,7 @@ private:
|
||||
QAction nextTerminal;
|
||||
QAction prevTerminal;
|
||||
QAction closeTerminal;
|
||||
QAction toggleKeyboardLock;
|
||||
|
||||
QMenu m_shellMenu;
|
||||
|
||||
|
@@ -571,6 +571,12 @@ bool TerminalWidget::event(QEvent *event)
|
||||
return true;
|
||||
}
|
||||
|
||||
if (settings().lockKeyboard()
|
||||
&& QKeySequence(keyEvent->keyCombination())
|
||||
== ActionManager::command(Constants::TOGGLE_KEYBOARD_LOCK)->keySequence()) {
|
||||
return false;
|
||||
}
|
||||
|
||||
if (settings().lockKeyboard()) {
|
||||
event->accept();
|
||||
return true;
|
||||
|
Reference in New Issue
Block a user