From 5b1cebc9891d13594993b25c9e51b00b38a3831f Mon Sep 17 00:00:00 2001 From: dt <qtc-committer@nokia.com> Date: Mon, 6 Sep 2010 13:56:38 +0200 Subject: [PATCH] Ensure always having a mode Switch to Edit Mode once we constructed it in Core::init(). Switch to a the Welcome Mode in Core::extensionsInitialized. Also works --- src/plugins/coreplugin/coreplugin.cpp | 2 ++ src/plugins/coreplugin/modemanager.cpp | 5 +++++ src/plugins/coreplugin/modemanager.h | 2 ++ src/plugins/welcome/welcomeplugin.cpp | 1 - 4 files changed, 9 insertions(+), 1 deletion(-) diff --git a/src/plugins/coreplugin/coreplugin.cpp b/src/plugins/coreplugin/coreplugin.cpp index f589e8703c1..718a9a348de 100644 --- a/src/plugins/coreplugin/coreplugin.cpp +++ b/src/plugins/coreplugin/coreplugin.cpp @@ -84,6 +84,7 @@ bool CorePlugin::initialize(const QStringList &arguments, QString *errorMessage) if (success) { EditorManager *editorManager = m_mainWindow->editorManager(); m_editMode = new EditMode(editorManager); + m_mainWindow->modeManager()->activateMode(m_editMode->id()); addObject(m_editMode); m_designMode = new DesignMode(editorManager); @@ -95,6 +96,7 @@ 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 091bcff4f4f..5f5e182be16 100644 --- a/src/plugins/coreplugin/modemanager.cpp +++ b/src/plugins/coreplugin/modemanager.cpp @@ -309,6 +309,11 @@ void ModeManager::setFocusToCurrentMode() } } +void ModeManager::switchToDefaultMode() +{ + 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 ea0fb716188..e92c9272828 100644 --- a/src/plugins/coreplugin/modemanager.h +++ b/src/plugins/coreplugin/modemanager.h @@ -66,6 +66,8 @@ 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 4ef9768394a..46c59e87144 100644 --- a/src/plugins/welcome/welcomeplugin.cpp +++ b/src/plugins/welcome/welcomeplugin.cpp @@ -76,7 +76,6 @@ 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