Make the welcome screen into plugins.

This removes the all hard dependencies to and from welcome screen,
except the one to the core plugin. More in detail:

- Add IWelcomePage to add a tab to the welcome screen
- Move tabs in the modules where they belong
- Enables QHelpManager to open help fullscreen and contextually
- "Getting Started" moves to Qt4ProjectManager
- Projects & Sessions (aka "Develop") moves to ProjectExplorer
- "Community" remains in the welcome plugin for simplicity
This commit is contained in:
Daniel Molkentin
2009-07-27 13:55:30 +02:00
parent a9b521f80a
commit 5633de2ac9
48 changed files with 15257 additions and 1300 deletions

View File

@@ -31,6 +31,8 @@
#include "welcomemode.h"
#include "communitywelcomepage.h"
#include <coreplugin/actionmanager/actionmanager.h>
#include <coreplugin/basemode.h>
#include <coreplugin/coreconstants.h>
@@ -45,11 +47,10 @@
#include <QtGui/QMessageBox>
#include <QtGui/QPushButton>
using namespace Welcome;
using namespace Welcome::Internal;
WelcomePlugin::WelcomePlugin()
: m_welcomeMode(0)
: m_welcomeMode(0), m_communityWelcomePage(0)
{
}
@@ -59,6 +60,10 @@ WelcomePlugin::~WelcomePlugin()
removeObject(m_welcomeMode);
delete m_welcomeMode;
}
if (m_communityWelcomePage) {
removeObject(m_communityWelcomePage);
delete m_communityWelcomePage;
}
}
/*! Initializes the plugin. Returns true on success.
@@ -72,6 +77,9 @@ bool WelcomePlugin::initialize(const QStringList &arguments, QString *error_mess
Q_UNUSED(arguments)
Q_UNUSED(error_message)
m_communityWelcomePage = new Internal::CommunityWelcomePage;
addObject(m_communityWelcomePage);
m_welcomeMode = new WelcomeMode;
addObject(m_welcomeMode);
@@ -91,6 +99,7 @@ bool WelcomePlugin::initialize(const QStringList &arguments, QString *error_mess
*/
void WelcomePlugin::extensionsInitialized()
{
m_welcomeMode->initPlugins();
Core::ModeManager::instance()->activateMode(m_welcomeMode->uniqueModeName());
}