From 5567a01877e75f0d1cf4d59efcf0bc1edac65631 Mon Sep 17 00:00:00 2001 From: Lasse Holmstedt <lasse.holmstedt@nokia.com> Date: Fri, 12 Mar 2010 16:47:46 +0100 Subject: [PATCH] fixed issues with splitted editors --- src/plugins/coreplugin/editortoolbar.cpp | 12 +++++++----- src/plugins/coreplugin/editortoolbar.h | 6 ++++++ 2 files changed, 13 insertions(+), 5 deletions(-) diff --git a/src/plugins/coreplugin/editortoolbar.cpp b/src/plugins/coreplugin/editortoolbar.cpp index 332b0a595e2..b9f50bf86c0 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 0deab7df899..9149e26b89f 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; }; } -- GitLab