From 6b88dcbe8e9e349ebdcff0e4d33ddeb70c73206c Mon Sep 17 00:00:00 2001 From: Eike Ziller Date: Fri, 19 Dec 2014 12:05:40 +0100 Subject: [PATCH] Welcome: Move IWelcomePage to core plugin IWelcomePage now uses Core::Id, and it can only used by plugins anyhow. Change-Id: I21f035fee9dec66830d3aa7b7eb2242f703095cb Reviewed-by: hjk Reviewed-by: Christian Kandeler Reviewed-by: Eike Ziller --- src/libs/utils/utils-lib.pri | 2 -- src/libs/utils/utils.qbs | 2 -- src/plugins/coreplugin/coreplugin.pro | 6 +++-- src/plugins/coreplugin/coreplugin.qbs | 1 + .../coreplugin}/iwelcomepage.cpp | 4 +-- .../coreplugin}/iwelcomepage.h | 12 ++++----- .../projectexplorer/projectwelcomepage.h | 4 +-- .../qtsupport/gettingstartedwelcomepage.h | 4 +-- src/plugins/welcome/welcomeplugin.cpp | 26 +++++++++---------- 9 files changed, 29 insertions(+), 32 deletions(-) rename src/{libs/utils => plugins/coreplugin}/iwelcomepage.cpp (97%) rename src/{libs/utils => plugins/coreplugin}/iwelcomepage.h (93%) diff --git a/src/libs/utils/utils-lib.pri b/src/libs/utils/utils-lib.pri index 81db5812938..2834a311248 100644 --- a/src/libs/utils/utils-lib.pri +++ b/src/libs/utils/utils-lib.pri @@ -49,7 +49,6 @@ SOURCES += $$PWD/environment.cpp \ $$PWD/checkablemessagebox.cpp \ $$PWD/styledbar.cpp \ $$PWD/stylehelper.cpp \ - $$PWD/iwelcomepage.cpp \ $$PWD/fancymainwindow.cpp \ $$PWD/detailsbutton.cpp \ $$PWD/detailswidget.cpp \ @@ -138,7 +137,6 @@ HEADERS += \ $$PWD/qtcassert.h \ $$PWD/styledbar.h \ $$PWD/stylehelper.h \ - $$PWD/iwelcomepage.h \ $$PWD/fancymainwindow.h \ $$PWD/detailsbutton.h \ $$PWD/detailswidget.h \ diff --git a/src/libs/utils/utils.qbs b/src/libs/utils/utils.qbs index 350a5527d15..cee7eea0e6e 100644 --- a/src/libs/utils/utils.qbs +++ b/src/libs/utils/utils.qbs @@ -97,8 +97,6 @@ QtcLibrary { "htmldocextractor.h", "itemviews.cpp", "itemviews.h", - "iwelcomepage.cpp", - "iwelcomepage.h", "json.cpp", "json.h", "linecolumnlabel.cpp", diff --git a/src/plugins/coreplugin/coreplugin.pro b/src/plugins/coreplugin/coreplugin.pro index 4fcdf8c14c2..875c680883a 100644 --- a/src/plugins/coreplugin/coreplugin.pro +++ b/src/plugins/coreplugin/coreplugin.pro @@ -111,7 +111,8 @@ SOURCES += corejsextensions.cpp \ themeeditor/themesettingstablemodel.cpp \ themeeditor/sectionedtablemodel.cpp \ themeeditor/themesettingsitemdelegate.cpp \ - messagebox.cpp + messagebox.cpp \ + iwelcomepage.cpp HEADERS += corejsextensions.h \ mainwindow.h \ @@ -227,7 +228,8 @@ HEADERS += corejsextensions.h \ themeeditor/themesettingstablemodel.h \ themeeditor/sectionedtablemodel.h \ themeeditor/themesettingsitemdelegate.h \ - messagebox.h + messagebox.h \ + iwelcomepage.h FORMS += dialogs/newdialog.ui \ dialogs/saveitemsdialog.ui \ diff --git a/src/plugins/coreplugin/coreplugin.qbs b/src/plugins/coreplugin/coreplugin.qbs index 4c50a1223f1..3b6fb81f7d6 100644 --- a/src/plugins/coreplugin/coreplugin.qbs +++ b/src/plugins/coreplugin/coreplugin.qbs @@ -67,6 +67,7 @@ QtcPlugin { "infobar.cpp", "infobar.h", "ioutputpane.cpp", "ioutputpane.h", "iversioncontrol.cpp", "iversioncontrol.h", + "iwelcomepage.cpp", "iwelcomepage.h", "iwizardfactory.cpp", "iwizardfactory.h", "jsexpander.cpp", "jsexpander.h", "mainwindow.cpp", "mainwindow.h", diff --git a/src/libs/utils/iwelcomepage.cpp b/src/plugins/coreplugin/iwelcomepage.cpp similarity index 97% rename from src/libs/utils/iwelcomepage.cpp rename to src/plugins/coreplugin/iwelcomepage.cpp index b0eb5aed78c..ca92ff0b9e5 100644 --- a/src/libs/utils/iwelcomepage.cpp +++ b/src/plugins/coreplugin/iwelcomepage.cpp @@ -32,7 +32,7 @@ #include -namespace Utils { +namespace Core { IWelcomePage::IWelcomePage() { @@ -43,5 +43,3 @@ IWelcomePage::~IWelcomePage() } } // namespace Utils - -#include "moc_iwelcomepage.cpp" diff --git a/src/libs/utils/iwelcomepage.h b/src/plugins/coreplugin/iwelcomepage.h similarity index 93% rename from src/libs/utils/iwelcomepage.h rename to src/plugins/coreplugin/iwelcomepage.h index 85e5d3e422d..d586565fa9a 100644 --- a/src/libs/utils/iwelcomepage.h +++ b/src/plugins/coreplugin/iwelcomepage.h @@ -31,18 +31,18 @@ #ifndef IWELCOMEPAGE_H #define IWELCOMEPAGE_H -#include "utils_global.h" +#include "core_global.h" -#include +#include "id.h" #include +#include -QT_FORWARD_DECLARE_CLASS(QUrl) QT_FORWARD_DECLARE_CLASS(QQmlEngine) -namespace Utils { +namespace Core { -class QTCREATOR_UTILS_EXPORT IWelcomePage : public QObject +class CORE_EXPORT IWelcomePage : public QObject { Q_OBJECT @@ -63,6 +63,6 @@ public: virtual Core::Id id() const = 0; }; -} +} // Core #endif // IWELCOMEPAGE_H diff --git a/src/plugins/projectexplorer/projectwelcomepage.h b/src/plugins/projectexplorer/projectwelcomepage.h index 5c1a1b6fc90..c5c86466fdd 100644 --- a/src/plugins/projectexplorer/projectwelcomepage.h +++ b/src/plugins/projectexplorer/projectwelcomepage.h @@ -33,7 +33,7 @@ #include -#include +#include QT_BEGIN_NAMESPACE class QQmlEngine; @@ -78,7 +78,7 @@ public slots: void resetProjects(); }; -class ProjectWelcomePage : public Utils::IWelcomePage +class ProjectWelcomePage : public Core::IWelcomePage { Q_OBJECT public: diff --git a/src/plugins/qtsupport/gettingstartedwelcomepage.h b/src/plugins/qtsupport/gettingstartedwelcomepage.h index 507a1144be2..c189d979ca8 100644 --- a/src/plugins/qtsupport/gettingstartedwelcomepage.h +++ b/src/plugins/qtsupport/gettingstartedwelcomepage.h @@ -31,7 +31,7 @@ #ifndef GETTINGSTARTEDWELCOMEPAGE_H #define GETTINGSTARTEDWELCOMEPAGE_H -#include +#include #include @@ -45,7 +45,7 @@ namespace Internal { class ExamplesListModel; -class ExamplesWelcomePage : public Utils::IWelcomePage +class ExamplesWelcomePage : public Core::IWelcomePage { Q_OBJECT diff --git a/src/plugins/welcome/welcomeplugin.cpp b/src/plugins/welcome/welcomeplugin.cpp index ff79058a767..8a768e78345 100644 --- a/src/plugins/welcome/welcomeplugin.cpp +++ b/src/plugins/welcome/welcomeplugin.cpp @@ -35,6 +35,7 @@ #include #include #include +#include #include #include @@ -42,7 +43,6 @@ #include #include #include -#include #include @@ -208,18 +208,18 @@ void WelcomeMode::initPlugins() QQmlContext *ctx = m_welcomePage->rootContext(); ctx->setContextProperty(QLatin1String("welcomeMode"), this); - QList duplicatePlugins = PluginManager::getObjects(); - Utils::sort(duplicatePlugins, [](const Utils::IWelcomePage *l, const Utils::IWelcomePage *r) { + QList duplicatePlugins = PluginManager::getObjects(); + Utils::sort(duplicatePlugins, [](const Core::IWelcomePage *l, const Core::IWelcomePage *r) { return l->priority() < r->priority(); }); - QList plugins; - QHash pluginHash; + QList plugins; + QHash pluginHash; //avoid duplicate ids - choose by priority - foreach (Utils::IWelcomePage* plugin, duplicatePlugins) { + foreach (Core::IWelcomePage* plugin, duplicatePlugins) { if (pluginHash.contains(plugin->id())) { - Utils::IWelcomePage* pluginOther = pluginHash.value(plugin->id()); + Core::IWelcomePage* pluginOther = pluginHash.value(plugin->id()); if (pluginOther->priority() > plugin->priority()) { plugins.removeAll(pluginOther); @@ -248,7 +248,7 @@ void WelcomeMode::initPlugins() pluginPath += QLatin1String("/../" IDE_LIBRARY_BASENAME "/qtcreator"); engine->addImportPath(QDir::cleanPath(pluginPath)); facilitateQml(engine); - foreach (Utils::IWelcomePage *plugin, plugins) { + foreach (Core::IWelcomePage *plugin, plugins) { plugin->facilitateQml(engine); m_pluginList.append(plugin); } @@ -275,16 +275,16 @@ void WelcomeMode::initPlugins() void WelcomeMode::welcomePluginAdded(QObject *obj) { - QHash pluginHash; + QHash pluginHash; foreach (QObject *obj, m_pluginList) { - Utils::IWelcomePage *plugin = qobject_cast(obj); + Core::IWelcomePage *plugin = qobject_cast(obj); pluginHash.insert(plugin->id(), plugin); } - if (Utils::IWelcomePage *plugin = qobject_cast(obj)) { + if (Core::IWelcomePage *plugin = qobject_cast(obj)) { //check for duplicated id if (pluginHash.contains(plugin->id())) { - Utils::IWelcomePage* pluginOther = pluginHash.value(plugin->id()); + Core::IWelcomePage* pluginOther = pluginHash.value(plugin->id()); if (pluginOther->priority() > plugin->priority()) m_pluginList.removeAll(pluginOther); @@ -293,7 +293,7 @@ void WelcomeMode::welcomePluginAdded(QObject *obj) } int insertPos = 0; - foreach (Utils::IWelcomePage* p, PluginManager::getObjects()) { + foreach (Core::IWelcomePage* p, PluginManager::getObjects()) { if (plugin->priority() < p->priority()) insertPos++; else