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

@@ -42,7 +42,6 @@
#include <coreplugin/coreconstants.h>
#include <coreplugin/icore.h>
#include <coreplugin/modemanager.h>
#include <welcome/welcomemode.h>
#include <extensionsystem/pluginmanager.h>
#include <help/helpplugin.h>
#include <utils/qtcassert.h>
@@ -51,6 +50,7 @@
#include <QtCore/QProcess>
#include <QtCore/QSettings>
#include <QtCore/QTime>
#include <QtCore/QTimer>
#include <QtGui/QApplication>
#include <QtGui/QDesktopServices>
@@ -122,7 +122,8 @@ QtVersionManager::QtVersionManager()
writeVersionsIntoSettings();
updateDocumentation();
updateExamples();
// cannot call from ctor, needs to get connected extenernally first
QTimer::singleShot(0, this, SLOT(updateExamples()));
}
QtVersionManager::~QtVersionManager()
@@ -185,9 +186,7 @@ void QtVersionManager::updateExamples()
if (version->hasDemos())
demosPath = version->demosPath();
if (!examplesPath.isEmpty() && !demosPath.isEmpty()) {
if (Welcome::WelcomeMode *welcomeMode = qobject_cast<Welcome::WelcomeMode*>
(Core::ICore::instance()->modeManager()->mode(Core::Constants::MODE_WELCOME)))
welcomeMode->updateExamples(examplesPath, demosPath, version->sourcePath());
emit updateExamples(examplesPath, demosPath, version->sourcePath());
return;
}
}