diff --git a/src/plugins/coreplugin/editortoolbar.cpp b/src/plugins/coreplugin/editortoolbar.cpp index 332b0a595e26872f79987044dd15d34c866cfa5d..b9f50bf86c0c3645fd3a4f4920aa7620297a919b 100644 --- a/src/plugins/coreplugin/editortoolbar.cpp +++ b/src/plugins/coreplugin/editortoolbar.cpp @@ -34,6 +34,8 @@ #include <coreplugin/icore.h> #include <coreplugin/minisplitter.h> #include <coreplugin/sidebar.h> + +#include <coreplugin/editormanager/editorview.h> #include <coreplugin/editormanager/editormanager.h> #include <coreplugin/editormanager/openeditorsmodel.h> #include <coreplugin/editormanager/ieditor.h> @@ -142,9 +144,6 @@ EditorToolBar::EditorToolBar(QWidget *parent) : connect(m_lockButton, SIGNAL(clicked()), this, SLOT(makeEditorWritable())); connect(m_closeButton, SIGNAL(clicked()), this, SLOT(closeView()), Qt::QueuedConnection); - EditorManager *em = EditorManager::instance(); - connect(em, SIGNAL(currentEditorChanged(Core::IEditor*)), SLOT(updateEditorListSelection(Core::IEditor*))); - ActionManager *am = ICore::instance()->actionManager(); connect(am->command(Constants::CLOSE), SIGNAL(keySequenceChanged()), this, SLOT(updateActionShortcuts())); @@ -216,6 +215,10 @@ void EditorToolBar::updateToolBar(QWidget *toolBar) void EditorToolBar::setToolbarCreationFlags(ToolbarCreationFlags flags) { m_ignoreEditorToolbar = flags & FlagsIgnoreIEditorToolBar; + if (m_ignoreEditorToolbar) { + EditorManager *em = EditorManager::instance(); + connect(em, SIGNAL(currentEditorChanged(Core::IEditor*)), SLOT(updateEditorListSelection(Core::IEditor*))); + } } void EditorToolBar::setCurrentEditor(IEditor *editor) @@ -232,9 +235,8 @@ void EditorToolBar::setCurrentEditor(IEditor *editor) void EditorToolBar::updateEditorListSelection(IEditor *newSelection) { - if (newSelection) { + if (newSelection) m_editorList->setCurrentIndex(m_editorsListModel->indexOf(newSelection).row()); - } } void EditorToolBar::listSelectionActivated(int row) diff --git a/src/plugins/coreplugin/editortoolbar.h b/src/plugins/coreplugin/editortoolbar.h index 0deab7df899088eaa1ded431de60d9deb8d9f181..9149e26b89f7c582eef2378132c97a308014533f 100644 --- a/src/plugins/coreplugin/editortoolbar.h +++ b/src/plugins/coreplugin/editortoolbar.h @@ -46,6 +46,10 @@ namespace Core { class IEditor; class OpenEditorsModel; +namespace Internal { + class EditorView; +} + /** * Fakes an IEditor-like toolbar for design mode widgets such as Qt Designer and Bauhaus. @@ -120,6 +124,8 @@ private: QWidget *m_defaultToolBar; bool m_ignoreEditorToolbar; + + friend class Internal::EditorView; }; }