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