forked from qt-creator/qt-creator
Terminal: Add shell integration
Change-Id: Ic1e226b56f0103e5a6e7764073ab7ab241b67baa Reviewed-by: Cristian Adam <cristian.adam@qt.io>
This commit is contained in:
@@ -188,13 +188,29 @@ void TerminalPane::setupTerminalWidget(TerminalWidget *terminal)
|
||||
|
||||
auto setTabText = [this](TerminalWidget * terminal) {
|
||||
auto index = m_tabWidget->indexOf(terminal);
|
||||
m_tabWidget->setTabText(index, terminal->shellName());
|
||||
const FilePath cwd = terminal->cwd();
|
||||
|
||||
const QString exe = terminal->currentCommand().isEmpty() ? terminal->shellName()
|
||||
: terminal->currentCommand().executable().fileName();
|
||||
|
||||
if (cwd.isEmpty())
|
||||
m_tabWidget->setTabText(index, exe);
|
||||
else
|
||||
m_tabWidget->setTabText(index, exe + " - " + cwd.fileName());
|
||||
};
|
||||
|
||||
connect(terminal, &TerminalWidget::started, [setTabText, terminal](qint64 /*pid*/) {
|
||||
setTabText(terminal);
|
||||
});
|
||||
|
||||
connect(terminal, &TerminalWidget::cwdChanged, [setTabText, terminal]() {
|
||||
setTabText(terminal);
|
||||
});
|
||||
|
||||
connect(terminal, &TerminalWidget::commandChanged, [setTabText, terminal]() {
|
||||
setTabText(terminal);
|
||||
});
|
||||
|
||||
if (!terminal->shellName().isEmpty())
|
||||
setTabText(terminal);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user