TerminalPanel: better check if terminal needs to change its currentWorkingDirectory when unmounting

CCBUG: 467403
This commit is contained in:
Méven Car 2023-04-20 18:15:56 +02:00
parent 7a7215a948
commit a654b8dae6
3 changed files with 6 additions and 6 deletions

View file

@ -1504,7 +1504,7 @@ void DolphinMainWindow::slotStorageTearDownFromPlacesRequested(const QString &mo
setViewsToHomeIfMountPathOpen(mountPath); setViewsToHomeIfMountPathOpen(mountPath);
}); });
if (m_terminalPanel && m_terminalPanel->currentWorkingDirectory().startsWith(mountPath)) { if (m_terminalPanel && m_terminalPanel->currentWorkingDirectoryIsParentOf(mountPath)) {
m_tearDownFromPlacesRequested = true; m_tearDownFromPlacesRequested = true;
m_terminalPanel->goHome(); m_terminalPanel->goHome();
// m_placesPanel->proceedWithTearDown() will be called in slotTerminalDirectoryChanged // m_placesPanel->proceedWithTearDown() will be called in slotTerminalDirectoryChanged
@ -1519,7 +1519,7 @@ void DolphinMainWindow::slotStorageTearDownExternallyRequested(const QString &mo
setViewsToHomeIfMountPathOpen(mountPath); setViewsToHomeIfMountPathOpen(mountPath);
}); });
if (m_terminalPanel && m_terminalPanel->currentWorkingDirectory().startsWith(mountPath)) { if (m_terminalPanel && m_terminalPanel->currentWorkingDirectoryIsParentOf(mountPath)) {
m_tearDownFromPlacesRequested = false; m_tearDownFromPlacesRequested = false;
m_terminalPanel->goHome(); m_terminalPanel->goHome();
} }

View file

@ -54,12 +54,12 @@ void TerminalPanel::goHome()
sendCdToTerminal(QDir::homePath(), HistoryPolicy::SkipHistory); sendCdToTerminal(QDir::homePath(), HistoryPolicy::SkipHistory);
} }
QString TerminalPanel::currentWorkingDirectory() bool TerminalPanel::currentWorkingDirectoryIsParentOf(const QString &path) const
{ {
if (m_terminal) { if (m_terminal) {
return m_terminal->currentWorkingDirectory(); return m_terminal->currentWorkingDirectory().startsWith(path);
} }
return QString(); return false;
} }
void TerminalPanel::terminalExited() void TerminalPanel::terminalExited()

View file

@ -45,7 +45,7 @@ public:
* home when an unmounting request is received. * home when an unmounting request is received.
*/ */
void goHome(); void goHome();
QString currentWorkingDirectory(); bool currentWorkingDirectoryIsParentOf(const QString &path) const;
bool isHiddenInVisibleWindow() const; bool isHiddenInVisibleWindow() const;
bool terminalHasFocus() const; bool terminalHasFocus() const;
bool hasProgramRunning() const; bool hasProgramRunning() const;