From b9655fd1bcd63f670429df0cddb6dc70f03e4c49 Mon Sep 17 00:00:00 2001
From: mae <qtc-committer@nokia.com>
Date: Fri, 30 Jan 2009 17:10:22 +0100
Subject: [PATCH] editormanager cleanups

---
 .../editormanager/editormanager.cpp           | 173 +++++++-----------
 .../coreplugin/editormanager/editormanager.h  |  28 +--
 .../coreplugin/editormanager/editorview.cpp   |  52 ++----
 .../coreplugin/editormanager/editorview.h     |   6 +-
 .../editormanager/openeditorswindow.cpp       |   2 +-
 src/plugins/coreplugin/outputpane.cpp         |   1 -
 src/plugins/texteditor/basetexteditor.cpp     |   2 +-
 7 files changed, 100 insertions(+), 164 deletions(-)

diff --git a/src/plugins/coreplugin/editormanager/editormanager.cpp b/src/plugins/coreplugin/editormanager/editormanager.cpp
index 973d4153eea..357e01b1128 100644
--- a/src/plugins/coreplugin/editormanager/editormanager.cpp
+++ b/src/plugins/coreplugin/editormanager/editormanager.cpp
@@ -143,7 +143,6 @@ struct EditorManagerPrivate {
 
     ICore *m_core;
 
-    bool m_suppressEditorChanges;
 
     // actions
     QAction *m_revertToSavedAction;
@@ -184,7 +183,6 @@ EditorManagerPrivate::EditorManagerPrivate(ICore *core, QWidget *parent) :
     m_splitter(0),
     m_stackedLayout(0),
     m_core(core),
-    m_suppressEditorChanges(false),
     m_revertToSavedAction(new QAction(EditorManager::tr("Revert to Saved"), parent)),
     m_saveAction(new QAction(parent)),
     m_saveAsAction(new QAction(parent)),
@@ -227,7 +225,7 @@ EditorManager::EditorManager(ICore *core, QWidget *parent) :
     m_instance = this;
 
     connect(m_d->m_core, SIGNAL(contextAboutToChange(Core::IContext *)),
-            this, SLOT(updateCurrentEditorAndGroup(Core::IContext *)));
+            this, SLOT(handleContextChange(Core::IContext *)));
 
     const QList<int> gc =  QList<int>() << Constants::C_GLOBAL_ID;
     const QList<int> editManagerContext =
@@ -384,10 +382,6 @@ EditorManager::EditorManager(ICore *core, QWidget *parent) :
 
 
     // other setup
-    connect(this, SIGNAL(currentEditorChanged(Core::IEditor*)),
-            this, SLOT(updateActions()));
-    connect(this, SIGNAL(currentEditorChanged(Core::IEditor*)),
-            this, SLOT(updateEditorHistory()));
     m_d->m_view = new EditorView(m_d->m_editorModel, this);
     m_d->m_splitter = new SplitterOrView(m_d->m_view);
 
@@ -454,32 +448,16 @@ void EditorManager::updateEditorHistory()
     m_d->m_editorHistory.prepend(editor);
 }
 
-bool EditorManager::registerEditor(IEditor *editor)
+void EditorManager::removeEditor(IEditor *editor)
 {
-    if (editor) {
-        m_d->m_editorModel->addEditor(editor);
-        m_d->m_core->fileManager()->addFile(editor->file());
-        m_d->m_core->fileManager()->addToRecentFiles(editor->file()->fileName());
-
-        m_d->m_editorHistory.removeAll(editor);
-        m_d->m_editorHistory.prepend(editor);
-        return true;
-    }
-    return false;
-}
+    m_d->m_editorModel->removeEditor(editor);
+    m_d->m_core->fileManager()->removeFile(editor->file());
+    m_d->m_editorHistory.removeAll(editor);
+    m_d->m_core->removeContextObject(editor);
 
-bool EditorManager::unregisterEditor(IEditor *editor)
-{
-    if (editor) {
-        m_d->m_editorModel->removeEditor(editor);
-        m_d->m_core->fileManager()->removeFile(editor->file());
-        m_d->m_editorHistory.removeAll(editor);
-        return true;
-    }
-    return false;
 }
 
-void EditorManager::updateCurrentEditorAndGroup(IContext *context)
+void EditorManager::handleContextChange(IContext *context)
 {
     if (debugEditorManager)
         qDebug() << Q_FUNC_INFO;
@@ -489,50 +467,25 @@ void EditorManager::updateCurrentEditorAndGroup(IContext *context)
     } else {
         updateActions();
     }
-    if (debugEditorManager)
-        qDebug() << "leaving method" << Q_FUNC_INFO;
-}
-
-IEditor *EditorManager::activateEditor(IEditor *editor, bool ignoreNavigationHistory)
-{
-    if (m_d->m_suppressEditorChanges)
-        return editor;
-    return activateEditor(m_d->m_splitter->findView(m_d->m_currentEditor)->view(), editor, ignoreNavigationHistory);
 }
 
 void EditorManager::setCurrentEditor(IEditor *editor, bool ignoreNavigationHistory)
 {
-    if (debugEditorManager)
-        qDebug() << Q_FUNC_INFO << currentEditor() << "-->" << editor
-                << (m_d->m_suppressEditorChanges?"suppressed":"")
-                << "ignore history?" << ignoreNavigationHistory;
-    if (m_d->m_suppressEditorChanges)
+    if (m_d->m_currentEditor == editor)
         return;
+
     m_d->m_currentEditor = editor;
     if (editor) {
-        qDebug() << "EditorManager::setCurrentEditor" << editor << editor->file()->fileName();
         bool addToHistory = (!ignoreNavigationHistory && editor != currentEditor());
-        if (debugEditorManager)
-            qDebug() << Q_FUNC_INFO << (addToHistory ? "adding to history" : "not adding to history");
         if (addToHistory)
             addCurrentPositionToNavigationHistory(true);
-        m_d->m_suppressEditorChanges = true;
 
         EditorView *view = m_d->m_splitter->findView(editor)->view();
-        if (view == m_d->m_view && m_d->m_splitter)
-            unsplitAll();
         view->setCurrentEditor(editor);
-
-        m_d->m_suppressEditorChanges = false;
-        if (addToHistory)
-            addCurrentPositionToNavigationHistory();
     }
-    editorChanged(editor);
-}
-
-void EditorManager::editorChanged(IEditor *toEditor)
-{
-    emit currentEditorChanged(toEditor);
+    updateActions();
+    updateEditorHistory();
+    emit currentEditorChanged(editor);
 }
 
 QList<IEditor *> EditorManager::editorsForFileName(const QString &filename) const
@@ -674,28 +627,16 @@ bool EditorManager::closeEditors(const QList<IEditor*> editorsToClose, bool askA
             if (!state.isEmpty())
                 m_d->m_editorStates.insert(editor->file()->fileName(), QVariant(state));
         }
-        unregisterEditor(editor);
-        m_d->m_core->removeContextObject(editor);
-        const bool suppress = m_d->m_suppressEditorChanges;
-        m_d->m_suppressEditorChanges = true;
+        removeEditor(editor);
         m_d->m_view->removeEditor(editor);
-        m_d->m_suppressEditorChanges = suppress;
     }
     emit editorsClosed(acceptedEditors);
     foreach (IEditor *editor, acceptedEditors) {
         delete editor;
     }
     if (currentEditorRemoved) {
-        if (m_d->m_editorHistory.count() > 0) {
-            activateEditor(m_d->m_editorHistory.first(), true);
-        } else {
-            editorChanged(currentEditor());
-        }
+        setCurrentEditor(0, true);
     }
-    if (currentEditor())
-        addCurrentPositionToNavigationHistory();
-    updateActions();
-
     return !closingFailed;
 }
 
@@ -708,11 +649,30 @@ void EditorManager::closeDuplicate(Core::IEditor *editor, bool doDelete)
         delete editor;
 }
 
-Core::IEditor *EditorManager::activateEditor(Core::Internal::EditorView *view, Core::IEditor *editor, bool ignoreNavigationHistory)
+void EditorManager::activateEditor(IEditor *editor, OpenEditorFlags flags)
 {
+    activateEditor(m_d->m_splitter->findView(m_d->m_currentEditor)->view(), editor, flags);
+}
+
+
+void EditorManager::activateEditor(Core::Internal::EditorView *view, Core::IEditor *editor, OpenEditorFlags flags)
+{
+    if (flags & NoActivate)
+        return;
+
     Q_ASSERT(view && editor);
-    Q_ASSERT(m_d->m_view->hasEditor(editor));
 
+    if (!view->hasEditor(editor)) {
+        if (SplitterOrView *sourceView = m_d->m_splitter->findView(editor))
+            sourceView->view()->removeEditor(editor);
+        view->addEditor(editor);
+    }
+
+    setCurrentEditor(editor, (flags & IgnoreNavigationHistory));
+    ensureEditorManagerVisible();
+    editor->widget()->setFocus();
+
+#if 0
     if (!editor->duplicateSupported()) {
         unsplitAll();
         view = m_d->m_view;
@@ -731,6 +691,7 @@ Core::IEditor *EditorManager::activateEditor(Core::Internal::EditorView *view, C
         closeDuplicate(e, true);
     }
     return duplicate;
+#endif
 }
 
 /* Find editors for a mimetype, best matching at the front
@@ -821,14 +782,21 @@ IEditor *EditorManager::createEditor(const QString &editorKind,
     return editor;
 }
 
-void EditorManager::insertEditor(IEditor *editor,
-                                 bool /*ignoreNavigationHistory*/)
+void EditorManager::addEditor(IEditor *editor, bool isDuplicate)
 {
     if (!editor)
         return;
     m_d->m_core->addContextObject(editor);
-    registerEditor(editor);
-    m_d->m_view->addEditor(editor);
+
+    if (!isDuplicate) {
+        m_d->m_editorModel->addEditor(editor);
+        m_d->m_core->fileManager()->addFile(editor->file());
+        m_d->m_core->fileManager()->addToRecentFiles(editor->file()->fileName());
+    }
+
+    m_d->m_editorHistory.removeAll(editor);
+    m_d->m_editorHistory.prepend(editor);
+
     emit editorOpened(editor);
 }
 
@@ -895,7 +863,7 @@ static QString formatFileFilters(const Core::ICore *core, QString *selectedFilte
 }
 
 IEditor *EditorManager::openEditor(const QString &fileName, const QString &editorKind,
-                                   bool ignoreNavigationHistory)
+                                   EditorManager::OpenEditorFlags flags)
 {
     if (debugEditorManager)
         qDebug() << Q_FUNC_INFO << fileName << editorKind;
@@ -905,7 +873,8 @@ IEditor *EditorManager::openEditor(const QString &fileName, const QString &edito
 
     const QList<IEditor *> editors = editorsForFileName(fileName);
     if (!editors.isEmpty()) {
-        return activateEditor(m_d->m_splitter->findView(m_d->m_currentEditor)->view(), editors.first(), ignoreNavigationHistory);
+        activateEditor(editors.first(), flags);
+        return editors.first();
     }
     QApplication::setOverrideCursor(QCursor(Qt::WaitCursor));
     IEditor *editor = createEditor(editorKind, fileName);
@@ -916,11 +885,12 @@ IEditor *EditorManager::openEditor(const QString &fileName, const QString &edito
         editor = 0;
         return 0;
     }
-    insertEditor(editor, ignoreNavigationHistory);
+    addEditor(editor);
     restoreEditorState(editor);
     QApplication::restoreOverrideCursor();
-    ensureEditorManagerVisible();
-    return activateEditor(editor, ignoreNavigationHistory);
+
+    activateEditor(editor, flags);
+    return editor;
 }
 
 QStringList EditorManager::getOpenFileNames() const
@@ -999,7 +969,7 @@ IEditor *EditorManager::newFile(const QString &editorKind,
     }
     *titlePattern = title;
     edt->setDisplayName(title);
-    insertEditor(edt);
+    addEditor(edt);
     QApplication::restoreOverrideCursor();
     return edt;
 }
@@ -1284,9 +1254,9 @@ void EditorManager::goBackInNavigationHistory()
         IEditor *editor;
         if (location->editor) {
             editor = location->editor;
-            setCurrentEditor(location->editor, true);
+            activateEditor(location->editor, IgnoreNavigationHistory);
         } else {
-            editor = openEditor(location->fileName, location->kind, true);
+            editor = openEditor(location->fileName, location->kind, IgnoreNavigationHistory);
             if (!editor) {
                 delete m_d->m_navigationHistory.takeAt(m_d->currentNavigationHistoryPosition);
                 continue;
@@ -1308,9 +1278,9 @@ void EditorManager::goForwardInNavigationHistory()
     IEditor *editor;
     if (location->editor) {
         editor = location->editor;
-        setCurrentEditor(location->editor, true);
+        activateEditor(location->editor, IgnoreNavigationHistory);
     } else {
-        editor = openEditor(location->fileName, location->kind, true);
+        editor = openEditor(location->fileName, location->kind, IgnoreNavigationHistory);
         if (!editor) {
             //TODO
             qDebug() << Q_FUNC_INFO << "can't open file" << location->fileName;
@@ -1378,9 +1348,6 @@ bool EditorManager::restoreState(const QByteArray &state)
 
     QApplication::setOverrideCursor(Qt::WaitCursor);
 
-    bool editorChangesSuppressed = m_d->m_suppressEditorChanges;
-    m_d->m_suppressEditorChanges = true;
-
     stream >> editorstates;
     QMapIterator<QString, QVariant> i(editorstates);
     while (i.hasNext()) {
@@ -1389,21 +1356,20 @@ bool EditorManager::restoreState(const QByteArray &state)
     }
 
     int editorCount = 0;
+    IEditor *toActivate = 0;
     stream >> editorCount;
     while (--editorCount >= 0) {
         QString fileName;
         stream >> fileName;
         QByteArray kind;
         stream >> kind;
-        IEditor *editor = openEditor(fileName, kind, true);
-        if (!m_d->m_currentEditor)
-            m_d->m_currentEditor = editor;
+        IEditor *editor = openEditor(fileName, kind, IgnoreNavigationHistory | NoActivate);
+        if (!toActivate)
+            toActivate = editor;
     }
 
-    m_d->m_suppressEditorChanges = editorChangesSuppressed;
-    if (currentEditor())
-        setCurrentEditor(m_d->m_currentEditor);
-    
+    if (toActivate)
+        activateEditor(toActivate);
     QApplication::restoreOverrideCursor();
 
     return true;
@@ -1574,7 +1540,7 @@ Core::IEditor *EditorManager::duplicateEditor(Core::IEditor *editor)
 
     IEditor *duplicate = editor->duplicate(0);
     emit editorCreated(duplicate, duplicate->file()->fileName());
-    emit editorOpened(duplicate);
+    addEditor(duplicate, true);
     return duplicate;
 }
 
@@ -1582,11 +1548,8 @@ void EditorManager::split(Qt::Orientation orientation)
 {
     SplitterOrView *view = m_d->m_currentEditor ? m_d->m_splitter->findView(m_d->m_currentEditor)
                        : m_d->m_splitter->findFirstView();
-    if (!view) {
-        view = m_d->m_splitter;
-        view->unsplit(0);
-    }
-    view->split(orientation);
+    if (view)
+        view->split(orientation);
 }
 void EditorManager::split()
 {
diff --git a/src/plugins/coreplugin/editormanager/editormanager.h b/src/plugins/coreplugin/editormanager/editormanager.h
index 833032be421..8a17fdfa295 100644
--- a/src/plugins/coreplugin/editormanager/editormanager.h
+++ b/src/plugins/coreplugin/editormanager/editormanager.h
@@ -102,9 +102,16 @@ public:
     void init();
     static EditorManager *instance() { return m_instance; }
 
+    enum OpenEditorFlag {
+        NoActivate = 1,
+        IgnoreNavigationHistory = 2
+    };
+    Q_DECLARE_FLAGS(OpenEditorFlags, OpenEditorFlag)
+
     IEditor *openEditor(const QString &fileName,
                         const QString &editorKind = QString(),
-                        bool ignoreNavigationHistory = false);
+                        OpenEditorFlags flags = 0);
+    
     QStringList getOpenFileNames() const;
     QString getOpenWithEditorKind(const QString &fileName) const;
 
@@ -116,12 +123,8 @@ public:
     bool hasEditor(const QString &fileName) const;
     QList<IEditor *> editorsForFileName(const QString &filename) const;
 
-private:
-    void setCurrentEditor(IEditor *editor, bool ignoreNavigationHistory = false);
-public:
     IEditor *currentEditor() const;
-    IEditor *activateEditor(IEditor *editor, bool ignoreNavigationHistory = false);
-//    EditorGroup *currentEditorGroup() const;
+    void activateEditor(IEditor *editor, OpenEditorFlags flags = 0);
 
     QList<IEditor*> openedEditors() const;
 
@@ -195,7 +198,7 @@ private slots:
 
     void gotoNextDocHistory();
     void gotoPreviousDocHistory();
-    void updateCurrentEditorAndGroup(Core::IContext *context);
+    void handleContextChange(Core::IContext *context);
     void updateEditorHistory();
     void updateActions();
     void revertToSaved();
@@ -213,16 +216,15 @@ private:
     QList<IFile *> filesForEditors(QList<IEditor *> editors) const;
     IEditor *createEditor(const QString &mimeType = QString(),
                           const QString &fileName = QString());
-    void insertEditor(IEditor *editor, bool ignoreNavigationHistory = false);
-    bool registerEditor(IEditor *editor);
-    bool unregisterEditor(IEditor *editor);
-    void editorChanged(IEditor *editor);
+    void addEditor(IEditor *editor, bool isDuplicate = false);
+    void removeEditor(IEditor *editor);
 
     void restoreEditorState(IEditor *editor);
 
     Core::IEditor *duplicateEditor(IEditor *editor);
     void closeDuplicate(Core::IEditor *editor, bool doDelete);
-    Core::IEditor *activateEditor(Core::Internal::EditorView *view, Core::IEditor *editor, bool ignoreNavigationHistory = false);
+    void setCurrentEditor(IEditor *editor, bool ignoreNavigationHistory = false);
+    void activateEditor(Core::Internal::EditorView *view, Core::IEditor *editor, OpenEditorFlags flags = 0);
     void closeEditor(Core::Internal::EditorView *view, Core::IEditor *editor);
 
     static EditorManager *m_instance;
@@ -232,6 +234,8 @@ private:
     friend class Core::Internal::EditorView;
 };
 
+Q_DECLARE_OPERATORS_FOR_FLAGS(EditorManager::OpenEditorFlags);
+
 //===================EditorClosingCoreListener======================
 
 namespace Internal {
diff --git a/src/plugins/coreplugin/editormanager/editorview.cpp b/src/plugins/coreplugin/editormanager/editorview.cpp
index 3d0ffb0724e..f560a764347 100644
--- a/src/plugins/coreplugin/editormanager/editorview.cpp
+++ b/src/plugins/coreplugin/editormanager/editorview.cpp
@@ -299,32 +299,12 @@ EditorView::~EditorView()
 {
 }
 
-void EditorView::focusInEvent(QFocusEvent *e)
-{
-    if (m_container->count() > 0) {
-        setEditorFocus(m_container->currentIndex());
-    } else {
-        QWidget::focusInEvent(e);
-    }
-}
-
-void EditorView::setEditorFocus(int index)
-{
-    QWidget *w = m_container->widget(index);
-    w->setFocus();
-}
-
 void EditorView::addEditor(IEditor *editor)
-{
-    insertEditor(editorCount(), editor);
-}
-
-void EditorView::insertEditor(int index, IEditor *editor)
 {
     if (m_container->indexOf(editor->widget()) != -1)
         return;
 
-    m_container->insertWidget(index, editor->widget());
+    m_container->addWidget(editor->widget());
     m_widgetEditorMap.insert(editor->widget(), editor);
 
     QToolBar *toolBar = editor->toolBar();
@@ -381,7 +361,7 @@ IEditor *EditorView::currentEditor() const
     return 0;
 }
 
-void EditorView::setCurrentEditor(IEditor *editor, bool ignoreNavigationHistory)
+void EditorView::setCurrentEditor(IEditor *editor)
 {
     if (!editor || m_container->count() <= 0
         || m_container->indexOf(editor->widget()) == -1)
@@ -393,7 +373,6 @@ void EditorView::setCurrentEditor(IEditor *editor, bool ignoreNavigationHistory)
     QTC_ASSERT(idx >= 0, return);
     m_container->setCurrentIndex(idx);
     m_editorList->setCurrentIndex(qobject_cast<EditorModel*>(m_editorList->model())->indexOf(editor->file()->fileName()).row());
-    setEditorFocus(idx);
     updateEditorStatus(editor);
     updateToolBar(editor);
 
@@ -402,9 +381,6 @@ void EditorView::setCurrentEditor(IEditor *editor, bool ignoreNavigationHistory)
         m_infoWidget->hide();
         m_editorForInfoWidget = 0;
     }
-    EditorManager *em = CoreImpl::instance()->editorManager();
-    if (em->currentEditor() != editor)
-        em->setCurrentEditor(editor, ignoreNavigationHistory);
 }
 
 void EditorView::checkEditorStatus()
@@ -545,14 +521,11 @@ SplitterOrView *SplitterOrView::findNextView(Core::IEditor *editor)
 
 SplitterOrView *SplitterOrView::findNextView_helper(Core::IEditor *editor, bool *found)
 {
-    qDebug() << "check view " << this << "view" << m_view << "splitter" << m_splitter << "found" << *found;
     if (*found && m_view) {
-        qDebug() << "found next!";
         return this;
     }
 
     if (hasEditor(editor)) {
-        qDebug() << "found editor";
         *found = true;
         return 0;
     }
@@ -577,14 +550,9 @@ void SplitterOrView::split(Qt::Orientation orientation)
 
     SplitterOrView *focusView = 0;
 
-    if (m_isRoot) {
-        Core::IEditor *duplicateA = CoreImpl::instance()->editorManager()->duplicateEditor(e);
-        m_splitter->addWidget((focusView = new SplitterOrView(duplicateA)));
-    } else {
-        m_view->removeEditor(e);
-        m_splitter->addWidget((focusView = new SplitterOrView(e)));
-        Q_ASSERT(m_view->currentEditor() == 0);
-    }
+    m_view->removeEditor(e);
+    m_splitter->addWidget((focusView = new SplitterOrView(e)));
+
     Core::IEditor *duplicate = CoreImpl::instance()->editorManager()->duplicateEditor(e);
     m_splitter->addWidget(new SplitterOrView(duplicate));
     m_layout->addWidget(m_splitter);
@@ -596,11 +564,13 @@ void SplitterOrView::split(Qt::Orientation orientation)
         m_layout->setCurrentWidget(m_splitter);
     }
 
-    focusView->view()->setCurrentEditor(focusView->editor());
+    CoreImpl::instance()->editorManager()->activateEditor(e);
 }
 
 void SplitterOrView::close()
 {
+    qDebug() << "SplitterOrView::close TODO";
+    return;
     foreach(Core::IEditor *e, editors())
         CoreImpl::instance()->editorManager()->closeDuplicate(e, false);
     closeSplitterEditors();
@@ -617,8 +587,11 @@ void SplitterOrView::closeSplitterEditors()
     }
 }
 
-void SplitterOrView::unsplit(Core::IEditor *editor)
+void SplitterOrView::unsplit(Core::IEditor */*editor*/)
 {
+    qDebug() << "SplitterOrView::unsplit TODO";
+    return;
+    /*
     if (!m_splitter)
         return;
     Q_ASSERT(m_isRoot || (m_view == 0 && editor));
@@ -631,4 +604,5 @@ void SplitterOrView::unsplit(Core::IEditor *editor)
     closeSplitterEditors();
     delete m_splitter;
     m_splitter = 0;
+    */
 }
diff --git a/src/plugins/coreplugin/editormanager/editorview.h b/src/plugins/coreplugin/editormanager/editorview.h
index 3b0f732f119..755001f5f1a 100644
--- a/src/plugins/coreplugin/editormanager/editorview.h
+++ b/src/plugins/coreplugin/editormanager/editorview.h
@@ -98,13 +98,11 @@ public:
     EditorView(EditorModel *model = 0, QWidget *parent = 0);
     virtual ~EditorView();
 
-    //EditorGroup
     int editorCount() const;
     void addEditor(IEditor *editor);
-    void insertEditor(int i, IEditor *editor);
     void removeEditor(IEditor *editor);
     IEditor *currentEditor() const;
-    void setCurrentEditor(IEditor *editor, bool ignoreNavigationHistory = false);
+    void setCurrentEditor(IEditor *editor);
 
     bool hasEditor(IEditor *editor) const;
 
@@ -115,13 +113,11 @@ public:
                            QObject *object, const char *member);
     void hideEditorInfoBar(const QString &kind);
 
-    void focusInEvent(QFocusEvent *e);
 
 private slots:
     void sendCloseRequest();
     void updateEditorStatus(Core::IEditor *editor = 0);
     void checkEditorStatus();
-    void setEditorFocus(int index);
     void makeEditorWritable();
     void listSelectionActivated(int index);
 
diff --git a/src/plugins/coreplugin/editormanager/openeditorswindow.cpp b/src/plugins/coreplugin/editormanager/openeditorswindow.cpp
index f653e235118..c72c0db86a7 100644
--- a/src/plugins/coreplugin/editormanager/openeditorswindow.cpp
+++ b/src/plugins/coreplugin/editormanager/openeditorswindow.cpp
@@ -219,7 +219,7 @@ void OpenEditorsWindow::setEditors(const QList<IEditor *>&editors, IEditor *curr
         item->setText(0, title);
         item->setToolTip(0, editor->file()->fileName());
         item->setData(0, Qt::UserRole, QVariant::fromValue(editor));
-        item->setFlags(Qt::ItemIsSelectable | Qt::ItemIsEnabled);
+        item->setFlags(Qt::ItemIsSelectable);
 
         item->setTextAlignment(0, Qt::AlignLeft);
 
diff --git a/src/plugins/coreplugin/outputpane.cpp b/src/plugins/coreplugin/outputpane.cpp
index 6f72a9fb471..ec7c434e9a6 100644
--- a/src/plugins/coreplugin/outputpane.cpp
+++ b/src/plugins/coreplugin/outputpane.cpp
@@ -41,7 +41,6 @@
 #include <coreplugin/actionmanager/actionmanager.h>
 #include <coreplugin/actionmanager/actioncontainer.h>
 #include <coreplugin/editormanager/editormanager.h>
-#include <coreplugin/editormanager/editorgroup.h>
 
 #include <extensionsystem/pluginmanager.h>
 
diff --git a/src/plugins/texteditor/basetexteditor.cpp b/src/plugins/texteditor/basetexteditor.cpp
index 718c1f736ab..4cb4ec21772 100644
--- a/src/plugins/texteditor/basetexteditor.cpp
+++ b/src/plugins/texteditor/basetexteditor.cpp
@@ -133,7 +133,7 @@ ITextEditor *BaseTextEditor::openEditorAt(const QString &fileName,
 {
     Core::EditorManager *editorManager = Core::EditorManager::instance();
     editorManager->addCurrentPositionToNavigationHistory(true);
-    Core::IEditor *editor = editorManager->openEditor(fileName, editorKind, true);
+    Core::IEditor *editor = editorManager->openEditor(fileName, editorKind, Core::EditorManager::IgnoreNavigationHistory);
     TextEditor::ITextEditor *texteditor = qobject_cast<TextEditor::ITextEditor *>(editor);
     if (texteditor) {
         texteditor->gotoLine(line, column);
-- 
GitLab