forked from qt-creator/qt-creator
Terminal: Don't always open default terminals
If a "Run in Terminal" app is started, or the user selects "Open Terminal here" we don't want to open another terminal when the pane becomes visible. So we move the check after we added the terminal. Change-Id: Idd90d6e9dbba513dd020d91ffebb594fd90d688a Reviewed-by: Artem Sokolovskii <artem.sokolovskii@qt.io> Reviewed-by: David Schulz <david.schulz@qt.io>
This commit is contained in:
@@ -114,8 +114,6 @@ static std::optional<FilePath> startupProjectDirectory()
|
||||
void TerminalPane::openTerminal(const OpenTerminalParameters ¶meters)
|
||||
{
|
||||
OpenTerminalParameters parametersCopy{parameters};
|
||||
if (!m_isVisible)
|
||||
emit showPage(IOutputPane::ModeSwitch);
|
||||
|
||||
if (!parametersCopy.workingDirectory) {
|
||||
const std::optional<FilePath> projectDir = startupProjectDirectory();
|
||||
@@ -139,6 +137,9 @@ void TerminalPane::openTerminal(const OpenTerminalParameters ¶meters)
|
||||
m_tabWidget.setCurrentIndex(m_tabWidget.addTab(terminalWidget, Tr::tr("Terminal")));
|
||||
setupTerminalWidget(terminalWidget);
|
||||
|
||||
if (!m_isVisible)
|
||||
emit showPage(IOutputPane::ModeSwitch);
|
||||
|
||||
m_tabWidget.currentWidget()->setFocus();
|
||||
|
||||
emit navigateStateUpdate();
|
||||
@@ -146,11 +147,14 @@ void TerminalPane::openTerminal(const OpenTerminalParameters ¶meters)
|
||||
|
||||
void TerminalPane::addTerminal(TerminalWidget *terminal, const QString &title)
|
||||
{
|
||||
if (!m_isVisible)
|
||||
emit showPage(IOutputPane::ModeSwitch);
|
||||
m_tabWidget.setCurrentIndex(m_tabWidget.addTab(terminal, title));
|
||||
setupTerminalWidget(terminal);
|
||||
|
||||
if (!m_isVisible)
|
||||
emit showPage(IOutputPane::ModeSwitch);
|
||||
|
||||
terminal->setFocus();
|
||||
|
||||
emit navigateStateUpdate();
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user