From c2338d20a5bb76dc6b349a1ba1c9bf5892423e2d Mon Sep 17 00:00:00 2001
From: dt <qtc-committer@nokia.com>
Date: Tue, 7 Sep 2010 15:25:14 +0200
Subject: [PATCH] Modes: Do the mode switching again like it used to be

It's more complicated then expected, to be detangled another day
---
 src/plugins/coreplugin/coreplugin.cpp  |  1 -
 src/plugins/coreplugin/modemanager.cpp | 11 +----------
 src/plugins/coreplugin/modemanager.h   |  2 --
 src/plugins/welcome/welcomeplugin.cpp  |  1 +
 4 files changed, 2 insertions(+), 13 deletions(-)

diff --git a/src/plugins/coreplugin/coreplugin.cpp b/src/plugins/coreplugin/coreplugin.cpp
index 0bf12de806e..e1894406ddf 100644
--- a/src/plugins/coreplugin/coreplugin.cpp
+++ b/src/plugins/coreplugin/coreplugin.cpp
@@ -96,7 +96,6 @@ bool CorePlugin::initialize(const QStringList &arguments, QString *errorMessage)
 void CorePlugin::extensionsInitialized()
 {
     m_mainWindow->extensionsInitialized();
-    m_mainWindow->modeManager()->switchToDefaultMode();
 }
 
 void CorePlugin::remoteCommand(const QStringList & /* options */, const QStringList &args)
diff --git a/src/plugins/coreplugin/modemanager.cpp b/src/plugins/coreplugin/modemanager.cpp
index 98c4222c8e5..091bcff4f4f 100644
--- a/src/plugins/coreplugin/modemanager.cpp
+++ b/src/plugins/coreplugin/modemanager.cpp
@@ -73,7 +73,6 @@ struct ModeManagerPrivate
     QSignalMapper *m_signalMapper;
     Context m_addedContexts;
     int m_oldCurrent;
-    bool m_switchedToMode;
 };
 
 ModeManager *ModeManagerPrivate::m_instance = 0;
@@ -84,8 +83,7 @@ ModeManagerPrivate::ModeManagerPrivate(Internal::MainWindow *mainWindow,
     m_mainWindow(mainWindow),
     m_modeStack(modeStack),
     m_signalMapper(new QSignalMapper(q)),
-    m_oldCurrent(-1),
-    m_switchedToMode(false)
+    m_oldCurrent(-1)
 {
 }
 
@@ -153,7 +151,6 @@ IMode *ModeManager::mode(const QString &id) const
 
 void ModeManager::activateMode(const QString &id)
 {
-    d->m_switchedToMode = true;
     const int index = indexOf(id);
     if (index >= 0)
         d->m_modeStack->setCurrentIndex(index);
@@ -312,12 +309,6 @@ void ModeManager::setFocusToCurrentMode()
     }
 }
 
-void ModeManager::switchToDefaultMode()
-{
-    if (!d->m_switchedToMode)
-        d->m_modeStack->setCurrentIndex(0);
-}
-
 ModeManager *ModeManager::instance()
 {
     return ModeManagerPrivate::m_instance;
diff --git a/src/plugins/coreplugin/modemanager.h b/src/plugins/coreplugin/modemanager.h
index e92c9272828..ea0fb716188 100644
--- a/src/plugins/coreplugin/modemanager.h
+++ b/src/plugins/coreplugin/modemanager.h
@@ -66,8 +66,6 @@ public:
     void addProjectSelector(QAction *action);
     void addWidget(QWidget *widget);
 
-    void switchToDefaultMode();
-
 signals:
     void currentModeAboutToChange(Core::IMode *mode);
 
diff --git a/src/plugins/welcome/welcomeplugin.cpp b/src/plugins/welcome/welcomeplugin.cpp
index 46c59e87144..4ef9768394a 100644
--- a/src/plugins/welcome/welcomeplugin.cpp
+++ b/src/plugins/welcome/welcomeplugin.cpp
@@ -76,6 +76,7 @@ bool WelcomePlugin::initialize(const QStringList & /* arguments */, QString * /*
 void WelcomePlugin::extensionsInitialized()
 {
     m_welcomeMode->initPlugins();
+    Core::ModeManager::instance()->activateMode(m_welcomeMode->id());
 }
 
 Q_EXPORT_PLUGIN(WelcomePlugin)
-- 
GitLab