From 1be65dd1eef167789c8d3432896b5f9980560c1a Mon Sep 17 00:00:00 2001 From: Cristian Adam Date: Fri, 24 Mar 2023 12:38:55 +0100 Subject: [PATCH] Terminal: Update on set focus after closing tab Amends 84155e835468d16dc595f785a4013e77bfad9aa3 This change sets the focus also on terminals that get destroyed via exit or Ctrl+D Change-Id: I9a96ae5b257f3e8a93db7efb4e7d4468b287c143 Reviewed-by: Marcus Tillmanns --- src/plugins/terminal/terminalpane.cpp | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/src/plugins/terminal/terminalpane.cpp b/src/plugins/terminal/terminalpane.cpp index ee23b62db4e..961359712a5 100644 --- a/src/plugins/terminal/terminalpane.cpp +++ b/src/plugins/terminal/terminalpane.cpp @@ -200,6 +200,11 @@ QWidget *TerminalPane::outputWidget(QWidget *parent) removeTab(index); }); + connect(m_tabWidget, &QTabWidget::currentChanged, this, [this](int index) { + if (auto widget = m_tabWidget->widget(index)) + widget->setFocus(); + }); + auto terminalWidget = new TerminalWidget(parent); m_tabWidget->addTab(terminalWidget, Tr::tr("Terminal")); setupTerminalWidget(terminalWidget); @@ -221,10 +226,6 @@ void TerminalPane::removeTab(int index) TerminalCommands::instance().paneActions().closeTerminal.setEnabled(m_tabWidget->count() > 1); - if (auto terminal = currentTerminal()) { - terminal->setFocus(); - } - emit navigateStateUpdate(); }