diff options
author | Eike Ziller <eike.ziller@digia.com> | 2013-11-15 10:26:57 +0100 |
---|---|---|
committer | Eike Ziller <eike.ziller@digia.com> | 2013-11-15 10:26:57 +0100 |
commit | 4538ccb46c3cde7c2f018ba95a4186ecc551bbfa (patch) | |
tree | ba14ead9ad0247c0ec6b8bb622867e59d90ea7a9 /src/plugins/coreplugin/editormanager/editormanager.cpp | |
parent | b9a85f5a087ec89816bedf38f69d80ecdb639c18 (diff) | |
parent | 0904f6e836d27fdc5567a1ce7a57ce964a325233 (diff) | |
download | qt-creator-4538ccb46c3cde7c2f018ba95a4186ecc551bbfa.tar.gz |
Merge remote-tracking branch 'origin/3.0'
Conflicts:
share/qtcreator/debugger/gdbbridge.py
Change-Id: I32d8158c475f927b50ef06fde9ab8189ebdbcbbc
Diffstat (limited to 'src/plugins/coreplugin/editormanager/editormanager.cpp')
-rw-r--r-- | src/plugins/coreplugin/editormanager/editormanager.cpp | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/src/plugins/coreplugin/editormanager/editormanager.cpp b/src/plugins/coreplugin/editormanager/editormanager.cpp index 2376a25d7e..f86b8308ea 100644 --- a/src/plugins/coreplugin/editormanager/editormanager.cpp +++ b/src/plugins/coreplugin/editormanager/editormanager.cpp @@ -139,8 +139,13 @@ void EditorManagerPlaceHolder::currentModeChanged(Core::IMode *mode) { if (m_mode == mode) { m_current = this; + QWidget *previousFocus = 0; + if (EditorManager::instance()->focusWidget() && EditorManager::instance()->focusWidget()->hasFocus()) + previousFocus = EditorManager::instance()->focusWidget(); layout()->addWidget(EditorManager::instance()); EditorManager::instance()->show(); + if (previousFocus) + previousFocus->setFocus(); } else if (m_current == this) { m_current = 0; } @@ -723,9 +728,8 @@ void EditorManager::closeView(Core::Internal::EditorView *view) bool EditorManager::closeAllEditors(bool askAboutModifiedEditors) { d->m_documentModel->removeAllRestoredDocuments(); - if (closeDocuments(d->m_documentModel->openedDocuments(), askAboutModifiedEditors)) { + if (closeDocuments(d->m_documentModel->openedDocuments(), askAboutModifiedEditors)) return true; - } return false; } |