diff options
| author | Adrián Chaves Fernández (Gallaecio) <[email protected]> | 2018-01-18 18:49:54 +0100 |
|---|---|---|
| committer | Adrián Chaves Fernández (Gallaecio) <[email protected]> | 2018-01-18 18:51:27 +0100 |
| commit | 4e40fe810d324e69eeb824e40011e509e6676aaf (patch) | |
| tree | 272da958e8b7e2774b72aab206cc0bd67ef6d119 /src/panels/terminal/terminalpanel.cpp | |
| parent | 1a6b3c0a2baba955259d6083c0a3f25dfb44a682 (diff) | |
Set the focus to the active view, after leaving the terminal panel
Summary:
BUG: 298467
Set the focus to the active view, after leaving the terminal panel.
This is a fork of the patch at https://git.reviewboard.kde.org/r/116118/ by @emmanuelp which should fix the issue with the original patch reported by Frank Reininghaus.
Test Plan: Works for me.
Reviewers: #dolphin, emmanuelp, ngraham
Reviewed By: #dolphin, ngraham
Subscribers: ngraham, emmanuelp
Differential Revision: https://phabricator.kde.org/D9955
Diffstat (limited to 'src/panels/terminal/terminalpanel.cpp')
| -rw-r--r-- | src/panels/terminal/terminalpanel.cpp | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/src/panels/terminal/terminalpanel.cpp b/src/panels/terminal/terminalpanel.cpp index c205374cd..849d3f8c9 100644 --- a/src/panels/terminal/terminalpanel.cpp +++ b/src/panels/terminal/terminalpanel.cpp @@ -73,12 +73,19 @@ void TerminalPanel::terminalExited() emit hideTerminalPanel(); } +bool TerminalPanel::isHiddenInVisibleWindow() +{ + return parentWidget() + && parentWidget()->isHidden() + && m_terminal + && (m_terminal->foregroundProcessId() == -1); +} + void TerminalPanel::dockVisibilityChanged() { // Only react when the DockWidget itself (not some parent) is hidden. This way we don't // respond when e.g. Dolphin is minimized. - if (parentWidget() && parentWidget()->isHidden() && - m_terminal && (m_terminal->foregroundProcessId() == -1)) { + if (isHiddenInVisibleWindow()) { // Make sure that the following "cd /" command will not affect the view. disconnect(m_konsolePart, SIGNAL(currentDirectoryChanged(QString)), this, SLOT(slotKonsolePartCurrentDirectoryChanged(QString))); |
