summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/plugins/coreplugin/basefilewizardfactory.cpp2
-rw-r--r--src/plugins/coreplugin/basefilewizardfactory.h8
-rw-r--r--src/plugins/coreplugin/dialogs/newdialog.cpp23
-rw-r--r--src/plugins/coreplugin/dialogs/newdialog.h2
-rw-r--r--src/plugins/coreplugin/featureprovider.h6
-rw-r--r--src/plugins/coreplugin/iwizardfactory.cpp34
-rw-r--r--src/plugins/coreplugin/iwizardfactory.h14
-rw-r--r--src/plugins/projectexplorer/baseprojectwizarddialog.cpp6
-rw-r--r--src/plugins/projectexplorer/baseprojectwizarddialog.h4
-rw-r--r--src/plugins/projectexplorer/jsonwizard/jsonkitspage.cpp2
-rw-r--r--src/plugins/projectexplorer/jsonwizard/jsonwizardfactory.cpp12
-rw-r--r--src/plugins/projectexplorer/jsonwizard/jsonwizardfactory.h4
-rw-r--r--src/plugins/projectexplorer/jsonwizard/jsonwizardgeneratorfactory.cpp4
-rw-r--r--src/plugins/projectexplorer/jsonwizard/jsonwizardgeneratorfactory.h6
-rw-r--r--src/plugins/projectexplorer/kit.cpp10
-rw-r--r--src/plugins/projectexplorer/kit.h6
-rw-r--r--src/plugins/projectexplorer/kitfeatureprovider.h6
-rw-r--r--src/plugins/projectexplorer/kitmanager.cpp32
-rw-r--r--src/plugins/projectexplorer/kitmanager.h10
-rw-r--r--src/plugins/qmakeprojectmanager/wizards/guiappwizarddialog.cpp2
-rw-r--r--src/plugins/qmakeprojectmanager/wizards/qtwizard.cpp6
-rw-r--r--src/plugins/qmakeprojectmanager/wizards/qtwizard.h2
-rw-r--r--src/plugins/qtsupport/qtkitinformation.cpp21
-rw-r--r--src/plugins/qtsupport/qtkitinformation.h6
24 files changed, 113 insertions, 115 deletions
diff --git a/src/plugins/coreplugin/basefilewizardfactory.cpp b/src/plugins/coreplugin/basefilewizardfactory.cpp
index 0da221b12b..b978a1046b 100644
--- a/src/plugins/coreplugin/basefilewizardfactory.cpp
+++ b/src/plugins/coreplugin/basefilewizardfactory.cpp
@@ -80,7 +80,7 @@ static int indexOfFile(const GeneratedFiles &f, const QString &path)
*/
Utils::Wizard *BaseFileWizardFactory::runWizardImpl(const QString &path, QWidget *parent,
- const QString &platform,
+ Id platform,
const QVariantMap &extraValues)
{
QTC_ASSERT(!path.isEmpty(), return 0);
diff --git a/src/plugins/coreplugin/basefilewizardfactory.h b/src/plugins/coreplugin/basefilewizardfactory.h
index cdc020f3a8..e1709a957c 100644
--- a/src/plugins/coreplugin/basefilewizardfactory.h
+++ b/src/plugins/coreplugin/basefilewizardfactory.h
@@ -62,7 +62,7 @@ public:
};
Q_DECLARE_FLAGS(DialogParameterFlags, DialogParameterEnum)
- explicit WizardDialogParameters(const QString &defaultPath, const QString &platform,
+ explicit WizardDialogParameters(const QString &defaultPath, Id platform,
const QSet<Id> &requiredFeatures, DialogParameterFlags flags,
QVariantMap extraValues)
: m_defaultPath(defaultPath),
@@ -75,7 +75,7 @@ public:
QString defaultPath() const
{ return m_defaultPath; }
- QString selectedPlatform() const
+ Id selectedPlatform() const
{ return m_selectedPlatform; }
QSet<Id> requiredFeatures() const
@@ -89,7 +89,7 @@ public:
private:
QString m_defaultPath;
- QString m_selectedPlatform;
+ Id m_selectedPlatform;
QSet<Id> m_requiredFeatures;
DialogParameterFlags m_parameterFlags;
QVariantMap m_extraValues;
@@ -123,7 +123,7 @@ protected:
private:
// IWizard
- Utils::Wizard *runWizardImpl(const QString &path, QWidget *parent, const QString &platform,
+ Utils::Wizard *runWizardImpl(const QString &path, QWidget *parent, Id platform,
const QVariantMap &extraValues) override;
};
diff --git a/src/plugins/coreplugin/dialogs/newdialog.cpp b/src/plugins/coreplugin/dialogs/newdialog.cpp
index 5632bbd5f6..903794dba7 100644
--- a/src/plugins/coreplugin/dialogs/newdialog.cpp
+++ b/src/plugins/coreplugin/dialogs/newdialog.cpp
@@ -34,6 +34,7 @@
#include <coreplugin/coreicons.h>
#include <coreplugin/icontext.h>
#include <coreplugin/icore.h>
+#include <utils/algorithm.h>
#include <utils/qtcassert.h>
#include <QAbstractProxyModel>
@@ -76,7 +77,7 @@ class PlatformFilterProxyModel : public QSortFilterProxyModel
public:
PlatformFilterProxyModel(QObject *parent = 0): QSortFilterProxyModel(parent) {}
- void setPlatform(const QString& platform)
+ void setPlatform(Core::Id platform)
{
m_platform = platform;
invalidateFilter();
@@ -95,7 +96,7 @@ public:
return true;
}
private:
- QString m_platform;
+ Core::Id m_platform;
};
class TwoLevelProxyModel : public QAbstractProxyModel
@@ -270,12 +271,12 @@ void NewDialog::setWizardFactories(QList<IWizardFactory *> factories,
if (m_dummyIcon.isNull())
m_dummyIcon = Core::Icons::NEWFILE.icon();
- QStringList availablePlatforms = IWizardFactory::allAvailablePlatforms();
- m_ui->comboBox->addItem(tr("All Templates"), QString());
+ QSet<Id> availablePlatforms = IWizardFactory::allAvailablePlatforms();
+ m_ui->comboBox->addItem(tr("All Templates"), Id().toSetting());
- foreach (const QString &platform, availablePlatforms) {
+ foreach (Id platform, availablePlatforms) {
const QString displayNameForPlatform = IWizardFactory::displayNameForPlatform(platform);
- m_ui->comboBox->addItem(tr("%1 Templates").arg(displayNameForPlatform), platform);
+ m_ui->comboBox->addItem(tr("%1 Templates").arg(displayNameForPlatform), platform.toSetting());
}
m_ui->comboBox->setCurrentIndex(0); // "All templates"
@@ -334,11 +335,10 @@ void NewDialog::showDialog()
show();
}
-QString NewDialog::selectedPlatform() const
+Id NewDialog::selectedPlatform() const
{
- int index = m_ui->comboBox->currentIndex();
-
- return m_ui->comboBox->itemData(index).toString();
+ const int index = m_ui->comboBox->currentIndex();
+ return Id::fromSetting(m_ui->comboBox->itemData(index));
}
bool NewDialog::isRunning()
@@ -422,8 +422,9 @@ void NewDialog::currentItemChanged(const QModelIndex &index)
if (const IWizardFactory *wizard = factoryOfItem(cat)) {
QString desciption = wizard->description();
QStringList displayNamesForSupportedPlatforms;
- foreach (const QString &platform, wizard->supportedPlatforms())
+ foreach (Id platform, wizard->supportedPlatforms())
displayNamesForSupportedPlatforms << IWizardFactory::displayNameForPlatform(platform);
+ Utils::sort(displayNamesForSupportedPlatforms);
if (!Qt::mightBeRichText(desciption))
desciption.replace(QLatin1Char('\n'), QLatin1String("<br>"));
desciption += QLatin1String("<br><br><b>");
diff --git a/src/plugins/coreplugin/dialogs/newdialog.h b/src/plugins/coreplugin/dialogs/newdialog.h
index a8351fbaa9..0cfd30a834 100644
--- a/src/plugins/coreplugin/dialogs/newdialog.h
+++ b/src/plugins/coreplugin/dialogs/newdialog.h
@@ -65,7 +65,7 @@ public:
void setWizardFactories(QList<IWizardFactory*> factories, const QString &defaultLocation, const QVariantMap &extraVariables);
void showDialog();
- QString selectedPlatform() const;
+ Id selectedPlatform() const;
static bool isRunning();
diff --git a/src/plugins/coreplugin/featureprovider.h b/src/plugins/coreplugin/featureprovider.h
index e0e0d886c4..cb9bad4cd4 100644
--- a/src/plugins/coreplugin/featureprovider.h
+++ b/src/plugins/coreplugin/featureprovider.h
@@ -47,9 +47,9 @@ class CORE_EXPORT IFeatureProvider
public:
virtual ~IFeatureProvider() = default;
- virtual QSet<Id> availableFeatures(const QString &platform) const = 0;
- virtual QStringList availablePlatforms() const = 0;
- virtual QString displayNameForPlatform(const QString &string) const = 0;
+ virtual QSet<Id> availableFeatures(Id id) const = 0;
+ virtual QSet<Id> availablePlatforms() const = 0;
+ virtual QString displayNameForPlatform(Id id) const = 0;
};
} // namespace Core
diff --git a/src/plugins/coreplugin/iwizardfactory.cpp b/src/plugins/coreplugin/iwizardfactory.cpp
index bcfe43c612..18359952d9 100644
--- a/src/plugins/coreplugin/iwizardfactory.cpp
+++ b/src/plugins/coreplugin/iwizardfactory.cpp
@@ -250,7 +250,7 @@ QList<IWizardFactory*> IWizardFactory::allWizardFactories()
connect(newFactory->m_action, &QAction::triggered, newFactory, [newFactory]() {
if (!ICore::isNewItemDialogRunning()) {
QString path = newFactory->runPath(QString());
- newFactory->runWizard(path, ICore::dialogParent(), QString(), QVariantMap());
+ newFactory->runWizard(path, ICore::dialogParent(), Id(), QVariantMap());
}
});
@@ -290,7 +290,7 @@ QString IWizardFactory::runPath(const QString &defaultPath)
return path;
}
-Utils::Wizard *IWizardFactory::runWizard(const QString &path, QWidget *parent, const QString &platform, const QVariantMap &variables)
+Utils::Wizard *IWizardFactory::runWizard(const QString &path, QWidget *parent, Id platform, const QVariantMap &variables)
{
QTC_ASSERT(!s_isWizardRunning, return 0);
@@ -326,24 +326,24 @@ Utils::Wizard *IWizardFactory::runWizard(const QString &path, QWidget *parent, c
return wizard;
}
-bool IWizardFactory::isAvailable(const QString &platformName) const
+bool IWizardFactory::isAvailable(Id platformId) const
{
- if (platformName.isEmpty())
+ if (!platformId.isValid())
return true;
- return availableFeatures(platformName).contains(requiredFeatures());
+ return availableFeatures(platformId).contains(requiredFeatures());
}
-QStringList IWizardFactory::supportedPlatforms() const
+QSet<Id> IWizardFactory::supportedPlatforms() const
{
- QStringList stringList;
+ QSet<Id> platformIds;
- foreach (const QString &platform, allAvailablePlatforms()) {
+ foreach (Id platform, allAvailablePlatforms()) {
if (isAvailable(platform))
- stringList.append(platform);
+ platformIds.insert(platform);
}
- return stringList;
+ return platformIds;
}
void IWizardFactory::registerFactoryCreator(const IWizardFactory::FactoryCreator &creator)
@@ -351,20 +351,20 @@ void IWizardFactory::registerFactoryCreator(const IWizardFactory::FactoryCreator
s_factoryCreators << creator;
}
-QStringList IWizardFactory::allAvailablePlatforms()
+QSet<Id> IWizardFactory::allAvailablePlatforms()
{
- QStringList platforms;
+ QSet<Id> platforms;
foreach (const IFeatureProvider *featureManager, s_providerList)
- platforms.append(featureManager->availablePlatforms());
+ platforms.unite(featureManager->availablePlatforms());
return platforms;
}
-QString IWizardFactory::displayNameForPlatform(const QString &string)
+QString IWizardFactory::displayNameForPlatform(Id i)
{
foreach (const IFeatureProvider *featureManager, s_providerList) {
- QString displayName = featureManager->displayNameForPlatform(string);
+ const QString displayName = featureManager->displayNameForPlatform(i);
if (!displayName.isEmpty())
return displayName;
}
@@ -420,12 +420,12 @@ QSet<Id> IWizardFactory::pluginFeatures() const
return plugins;
}
-QSet<Id> IWizardFactory::availableFeatures(const QString &platformName) const
+QSet<Id> IWizardFactory::availableFeatures(Id platformId) const
{
QSet<Id> availableFeatures;
foreach (const IFeatureProvider *featureManager, s_providerList)
- availableFeatures.unite(featureManager->availableFeatures(platformName));
+ availableFeatures.unite(featureManager->availableFeatures(platformId));
return availableFeatures;
}
diff --git a/src/plugins/coreplugin/iwizardfactory.h b/src/plugins/coreplugin/iwizardfactory.h
index d0c3f4293b..b82c170104 100644
--- a/src/plugins/coreplugin/iwizardfactory.h
+++ b/src/plugins/coreplugin/iwizardfactory.h
@@ -89,11 +89,11 @@ public:
QString runPath(const QString &defaultPath);
// Does bookkeeping and the calls runWizardImpl. Please implement that.
- virtual Utils::Wizard *runWizard(const QString &path, QWidget *parent, const QString &platform,
+ virtual Utils::Wizard *runWizard(const QString &path, QWidget *parent, Id platform,
const QVariantMap &variables);
- virtual bool isAvailable(const QString &platformName) const;
- QStringList supportedPlatforms() const;
+ virtual bool isAvailable(Id platformId) const;
+ QSet<Id> supportedPlatforms() const;
typedef std::function<QList<IWizardFactory *>()> FactoryCreator;
static void registerFactoryCreator(const FactoryCreator &creator);
@@ -102,8 +102,8 @@ public:
static QList<IWizardFactory*> allWizardFactories();
// Utility to find all registered wizards of a certain kind
static QList<IWizardFactory*> wizardFactoriesOfKind(WizardKind kind);
- static QStringList allAvailablePlatforms();
- static QString displayNameForPlatform(const QString &string);
+ static QSet<Id> allAvailablePlatforms();
+ static QString displayNameForPlatform(Id i);
static void registerFeatureProvider(IFeatureProvider *provider);
@@ -116,9 +116,9 @@ public:
protected:
QSet<Id> pluginFeatures() const;
- QSet<Id> availableFeatures(const QString &platformName) const;
+ QSet<Id> availableFeatures(Id platformId) const;
- virtual Utils::Wizard *runWizardImpl(const QString &path, QWidget *parent, const QString &platform,
+ virtual Utils::Wizard *runWizardImpl(const QString &path, QWidget *parent, Id platform,
const QVariantMap &variables) = 0;
private:
diff --git a/src/plugins/projectexplorer/baseprojectwizarddialog.cpp b/src/plugins/projectexplorer/baseprojectwizarddialog.cpp
index ee07a78ccf..1cbf35a9bf 100644
--- a/src/plugins/projectexplorer/baseprojectwizarddialog.cpp
+++ b/src/plugins/projectexplorer/baseprojectwizarddialog.cpp
@@ -53,7 +53,7 @@ struct BaseProjectWizardDialogPrivate {
const int desiredIntroPageId;
Utils::ProjectIntroPage *introPage;
int introPageId;
- QString selectedPlatform;
+ Core::Id selectedPlatform;
QSet<Core::Id> requiredFeatureSet;
};
@@ -189,12 +189,12 @@ void BaseProjectWizardDialog::addExtensionPages(const QList<QWizardPage *> &wiza
addPage(p);
}
-QString BaseProjectWizardDialog::selectedPlatform() const
+Core::Id BaseProjectWizardDialog::selectedPlatform() const
{
return d->selectedPlatform;
}
-void BaseProjectWizardDialog::setSelectedPlatform(const QString &platform)
+void BaseProjectWizardDialog::setSelectedPlatform(Core::Id platform)
{
d->selectedPlatform = platform;
}
diff --git a/src/plugins/projectexplorer/baseprojectwizarddialog.h b/src/plugins/projectexplorer/baseprojectwizarddialog.h
index c1dade2de9..84062bb70c 100644
--- a/src/plugins/projectexplorer/baseprojectwizarddialog.h
+++ b/src/plugins/projectexplorer/baseprojectwizarddialog.h
@@ -77,8 +77,8 @@ signals:
protected:
Utils::ProjectIntroPage *introPage() const;
- QString selectedPlatform() const;
- void setSelectedPlatform(const QString &platform);
+ Core::Id selectedPlatform() const;
+ void setSelectedPlatform(Core::Id platform);
QSet<Core::Id> requiredFeatures() const;
void setRequiredFeatures(const QSet<Core::Id> &featureSet);
diff --git a/src/plugins/projectexplorer/jsonwizard/jsonkitspage.cpp b/src/plugins/projectexplorer/jsonwizard/jsonkitspage.cpp
index 8514dc6b22..6e6d6fa456 100644
--- a/src/plugins/projectexplorer/jsonwizard/jsonkitspage.cpp
+++ b/src/plugins/projectexplorer/jsonwizard/jsonkitspage.cpp
@@ -62,7 +62,7 @@ void JsonKitsPage::initializePage()
connect(wiz, &JsonWizard::filesPolished, this, &JsonKitsPage::setupProjectFiles);
- const QString platform = wiz->stringValue(QLatin1String("Platform"));
+ const Id platform = Id::fromString(wiz->stringValue(QLatin1String("Platform")));
const QSet<Id> preferred
= evaluate(m_preferredFeatures, wiz->value(QLatin1String("PreferredFeatures")), wiz);
const QSet<Id> required
diff --git a/src/plugins/projectexplorer/jsonwizard/jsonwizardfactory.cpp b/src/plugins/projectexplorer/jsonwizard/jsonwizardfactory.cpp
index 23cc89fafb..4623655948 100644
--- a/src/plugins/projectexplorer/jsonwizard/jsonwizardfactory.cpp
+++ b/src/plugins/projectexplorer/jsonwizard/jsonwizardfactory.cpp
@@ -357,7 +357,7 @@ JsonWizardFactory::~JsonWizardFactory()
{ }
Utils::Wizard *JsonWizardFactory::runWizardImpl(const QString &path, QWidget *parent,
- const QString &platform,
+ Core::Id platform,
const QVariantMap &variables)
{
auto wizard = new JsonWizard(parent);
@@ -380,7 +380,7 @@ Utils::Wizard *JsonWizardFactory::runWizardImpl(const QString &path, QWidget *pa
wizard->setValue(i.key(), i.value());
wizard->setValue(QStringLiteral("InitialPath"), path);
- wizard->setValue(QStringLiteral("Platform"), platform);
+ wizard->setValue(QStringLiteral("Platform"), platform.toString());
QString kindStr = QLatin1String(Core::Constants::WIZARD_KIND_UNKNOWN);
if (kind() == IWizardFactory::FileWizard)
@@ -483,17 +483,17 @@ QString JsonWizardFactory::localizedString(const QVariant &value)
return QCoreApplication::translate("ProjectExplorer::JsonWizardFactory", value.toByteArray());
}
-bool JsonWizardFactory::isAvailable(const QString &platformName) const
+bool JsonWizardFactory::isAvailable(Core::Id platformId) const
{
- if (!IWizardFactory::isAvailable(platformName)) // check for required features
+ if (!IWizardFactory::isAvailable(platformId)) // check for required features
return false;
Utils::MacroExpander expander;
Utils::MacroExpander *e = &expander;
expander.registerVariable("Platform", tr("The platform selected for the wizard."),
- [platformName]() { return platformName; });
+ [platformId]() { return platformId.toString(); });
expander.registerVariable("Features", tr("The features available to this wizard."),
- [this, e, platformName]() { return JsonWizard::stringListToArrayString(Core::Id::toStringList(availableFeatures(platformName)), e); });
+ [this, e, platformId]() { return JsonWizard::stringListToArrayString(Core::Id::toStringList(availableFeatures(platformId)), e); });
expander.registerVariable("Plugins", tr("The plugins loaded."),
[this, e]() { return JsonWizard::stringListToArrayString(Core::Id::toStringList(pluginFeatures()), e); });
diff --git a/src/plugins/projectexplorer/jsonwizard/jsonwizardfactory.h b/src/plugins/projectexplorer/jsonwizard/jsonwizardfactory.h
index 280af740be..6b60b642c6 100644
--- a/src/plugins/projectexplorer/jsonwizard/jsonwizardfactory.h
+++ b/src/plugins/projectexplorer/jsonwizard/jsonwizardfactory.h
@@ -91,10 +91,10 @@ public:
static QString localizedString(const QVariant &value);
- bool isAvailable(const QString &platformName) const override;
+ bool isAvailable(Core::Id platformId) const override;
private:
- Utils::Wizard *runWizardImpl(const QString &path, QWidget *parent, const QString &platform,
+ Utils::Wizard *runWizardImpl(const QString &path, QWidget *parent, Core::Id platform,
const QVariantMap &variables) override;
// Create all wizards. As other plugins might register factories for derived
diff --git a/src/plugins/projectexplorer/jsonwizard/jsonwizardgeneratorfactory.cpp b/src/plugins/projectexplorer/jsonwizard/jsonwizardgeneratorfactory.cpp
index 04ae241145..3908f22910 100644
--- a/src/plugins/projectexplorer/jsonwizard/jsonwizardgeneratorfactory.cpp
+++ b/src/plugins/projectexplorer/jsonwizard/jsonwizardgeneratorfactory.cpp
@@ -312,7 +312,7 @@ FileGeneratorFactory::FileGeneratorFactory()
}
JsonWizardGenerator *FileGeneratorFactory::create(Id typeId, const QVariant &data,
- const QString &path, const QString &platform,
+ const QString &path, Id platform,
const QVariantMap &variables)
{
Q_UNUSED(path);
@@ -352,7 +352,7 @@ ScannerGeneratorFactory::ScannerGeneratorFactory()
}
JsonWizardGenerator *ScannerGeneratorFactory::create(Id typeId, const QVariant &data,
- const QString &path, const QString &platform,
+ const QString &path, Id platform,
const QVariantMap &variables)
{
Q_UNUSED(path);
diff --git a/src/plugins/projectexplorer/jsonwizard/jsonwizardgeneratorfactory.h b/src/plugins/projectexplorer/jsonwizard/jsonwizardgeneratorfactory.h
index e9b182dfc1..6ffa475df8 100644
--- a/src/plugins/projectexplorer/jsonwizard/jsonwizardgeneratorfactory.h
+++ b/src/plugins/projectexplorer/jsonwizard/jsonwizardgeneratorfactory.h
@@ -79,7 +79,7 @@ public:
QList<Core::Id> supportedIds() const { return m_typeIds; }
virtual JsonWizardGenerator *create(Core::Id typeId, const QVariant &data,
- const QString &path, const QString &platform,
+ const QString &path, Core::Id platform,
const QVariantMap &variables) = 0;
// Basic syntax check for the data taken from the wizard.json file:
@@ -104,7 +104,7 @@ public:
FileGeneratorFactory();
JsonWizardGenerator *create(Core::Id typeId, const QVariant &data,
- const QString &path, const QString &platform,
+ const QString &path, Core::Id platform,
const QVariantMap &variables);
bool validateData(Core::Id typeId, const QVariant &data, QString *errorMessage);
};
@@ -117,7 +117,7 @@ public:
ScannerGeneratorFactory();
JsonWizardGenerator *create(Core::Id typeId, const QVariant &data,
- const QString &path, const QString &platform,
+ const QString &path, Core::Id platform,
const QVariantMap &variables);
bool validateData(Core::Id typeId, const QVariant &data, QString *errorMessage);
};
diff --git a/src/plugins/projectexplorer/kit.cpp b/src/plugins/projectexplorer/kit.cpp
index 6415436694..8cec3c5eea 100644
--- a/src/plugins/projectexplorer/kit.cpp
+++ b/src/plugins/projectexplorer/kit.cpp
@@ -613,22 +613,22 @@ bool Kit::isMutable(Id id) const
return d->m_mutable.contains(id);
}
-QSet<QString> Kit::availablePlatforms() const
+QSet<Id> Kit::availablePlatforms() const
{
- QSet<QString> platforms;
+ QSet<Id> platforms;
foreach (const KitInformation *ki, KitManager::kitInformation())
platforms.unite(ki->availablePlatforms(this));
return platforms;
}
-bool Kit::hasPlatform(const QString &platform) const
+bool Kit::hasPlatform(Id platform) const
{
- if (platform.isEmpty())
+ if (!platform.isValid())
return true;
return availablePlatforms().contains(platform);
}
-QString Kit::displayNameForPlatform(const QString &platform) const
+QString Kit::displayNameForPlatform(Id platform) const
{
foreach (const KitInformation *ki, KitManager::kitInformation()) {
const QString displayName = ki->displayNameForPlatform(this, platform);
diff --git a/src/plugins/projectexplorer/kit.h b/src/plugins/projectexplorer/kit.h
index 8101ea4a65..56f5083dc1 100644
--- a/src/plugins/projectexplorer/kit.h
+++ b/src/plugins/projectexplorer/kit.h
@@ -121,9 +121,9 @@ public:
void setMutable(Core::Id id, bool b);
bool isMutable(Core::Id id) const;
- QSet<QString> availablePlatforms() const;
- bool hasPlatform(const QString &platform) const;
- QString displayNameForPlatform(const QString &platform) const;
+ QSet<Core::Id> availablePlatforms() const;
+ bool hasPlatform(Core::Id platform) const;
+ QString displayNameForPlatform(Core::Id platform) const;
QSet<Core::Id> availableFeatures() const;
bool hasFeatures(const QSet<Core::Id> &features) const;
Utils::MacroExpander *macroExpander() const;
diff --git a/src/plugins/projectexplorer/kitfeatureprovider.h b/src/plugins/projectexplorer/kitfeatureprovider.h
index 1bb2b55d31..01701cfd85 100644
--- a/src/plugins/projectexplorer/kitfeatureprovider.h
+++ b/src/plugins/projectexplorer/kitfeatureprovider.h
@@ -40,9 +40,9 @@ namespace Internal {
class KitFeatureProvider : public Core::IFeatureProvider
{
public:
- QSet<Core::Id> availableFeatures(const QString &platform) const;
- QStringList availablePlatforms() const;
- QString displayNameForPlatform(const QString &string) const;
+ QSet<Core::Id> availableFeatures(Core::Id id) const;
+ QSet<Core::Id> availablePlatforms() const;
+ QString displayNameForPlatform(Core::Id id) const;
};
} // namespace Internal
diff --git a/src/plugins/projectexplorer/kitmanager.cpp b/src/plugins/projectexplorer/kitmanager.cpp
index 3101ca09a6..900dc1955a 100644
--- a/src/plugins/projectexplorer/kitmanager.cpp
+++ b/src/plugins/projectexplorer/kitmanager.cpp
@@ -302,15 +302,15 @@ void KitManager::deregisterKitInformation(KitInformation *ki)
delete ki;
}
-QSet<QString> KitManager::availablePlatforms()
+QSet<Id> KitManager::availablePlatforms()
{
- QSet<QString> platforms;
+ QSet<Id> platforms;
foreach (const Kit *k, kits())
platforms.unite(k->availablePlatforms());
return platforms;
}
-QString KitManager::displayNameForPlatform(const QString &platform)
+QString KitManager::displayNameForPlatform(Id platform)
{
foreach (const Kit *k, kits()) {
const QString displayName = k->displayNameForPlatform(platform);
@@ -320,13 +320,13 @@ QString KitManager::displayNameForPlatform(const QString &platform)
return QString();
}
-QSet<Id> KitManager::availableFeatures(const QString &platform)
+QSet<Id> KitManager::availableFeatures(Id platform)
{
QSet<Id> features;
foreach (const Kit *k, kits()) {
- QSet<QString> kitPlatforms = k->availablePlatforms();
- if (kitPlatforms.isEmpty() || kitPlatforms.contains(platform) || platform.isEmpty())
- features |= k->availableFeatures();
+ QSet<Id> kitPlatforms = k->availablePlatforms();
+ if (kitPlatforms.isEmpty() || kitPlatforms.contains(platform) || !platform.isValid())
+ features.unite(k->availableFeatures());
}
return features;
}
@@ -553,13 +553,13 @@ QString KitInformation::displayNamePostfix(const Kit *k) const
return QString();
}
-QSet<QString> KitInformation::availablePlatforms(const Kit *k) const
+QSet<Id> KitInformation::availablePlatforms(const Kit *k) const
{
Q_UNUSED(k);
- return QSet<QString>();
+ return QSet<Id>();
}
-QString KitInformation::displayNameForPlatform(const Kit *k, const QString &platform) const
+QString KitInformation::displayNameForPlatform(const Kit *k, Id platform) const
{
Q_UNUSED(k);
Q_UNUSED(platform);
@@ -588,19 +588,19 @@ void KitInformation::notifyAboutUpdate(Kit *k)
// KitFeatureProvider:
// --------------------------------------------------------------------
-QSet<Id> KitFeatureProvider::availableFeatures(const QString &platform) const
+QSet<Id> KitFeatureProvider::availableFeatures(Id id) const
{
- return KitManager::availableFeatures(platform);
+ return KitManager::availableFeatures(id);
}
-QStringList KitFeatureProvider::availablePlatforms() const
+QSet<Id> KitFeatureProvider::availablePlatforms() const
{
- return KitManager::availablePlatforms().toList();
+ return KitManager::availablePlatforms();
}
-QString KitFeatureProvider::displayNameForPlatform(const QString &string) const
+QString KitFeatureProvider::displayNameForPlatform(Id id) const
{
- return KitManager::displayNameForPlatform(string);
+ return KitManager::displayNameForPlatform(id);
}
} // namespace ProjectExplorer
diff --git a/src/plugins/projectexplorer/kitmanager.h b/src/plugins/projectexplorer/kitmanager.h
index 2168cd6d12..64f3c46ef0 100644
--- a/src/plugins/projectexplorer/kitmanager.h
+++ b/src/plugins/projectexplorer/kitmanager.h
@@ -95,8 +95,8 @@ public:
virtual QString displayNamePostfix(const Kit *k) const;
- virtual QSet<QString> availablePlatforms(const Kit *k) const;
- virtual QString displayNameForPlatform(const Kit *k, const QString &platform) const;
+ virtual QSet<Core::Id> availablePlatforms(const Kit *k) const;
+ virtual QString displayNameForPlatform(const Kit *k, Core::Id platform) const;
virtual QSet<Core::Id> availableFeatures(const Kit *k) const;
virtual void addToMacroExpander(ProjectExplorer::Kit *kit, Utils::MacroExpander *expander) const;
@@ -152,9 +152,9 @@ public:
static void registerKitInformation(KitInformation *ki);
static void deregisterKitInformation(KitInformation *ki);
- static QSet<QString> availablePlatforms();
- static QString displayNameForPlatform(const QString &platform);
- static QSet<Core::Id> availableFeatures(const QString &platform);
+ static QSet<Core::Id> availablePlatforms();
+ static QString displayNameForPlatform(Core::Id platform);
+ static QSet<Core::Id> availableFeatures(Core::Id platform);
static QList<Kit *> sortKits(const QList<Kit *> kits); // Avoid sorting whenever possible!
diff --git a/src/plugins/qmakeprojectmanager/wizards/guiappwizarddialog.cpp b/src/plugins/qmakeprojectmanager/wizards/guiappwizarddialog.cpp
index 3d6830d4ae..adc8a2bdac 100644
--- a/src/plugins/qmakeprojectmanager/wizards/guiappwizarddialog.cpp
+++ b/src/plugins/qmakeprojectmanager/wizards/guiappwizarddialog.cpp
@@ -110,7 +110,7 @@ GuiAppParameters GuiAppWizardDialog::parameters() const
rc.formFileName = m_filesPage->formFileName();
rc.designerForm = m_filesPage->formInputChecked();
rc.isMobileApplication = true;
- if (isQtPlatformSelected(QLatin1String(QtSupport::Constants::ANDROID_PLATFORM))) {
+ if (isQtPlatformSelected(QtSupport::Constants::ANDROID_PLATFORM)) {
rc.widgetWidth = 800;
rc.widgetHeight = 480;
} else {
diff --git a/src/plugins/qmakeprojectmanager/wizards/qtwizard.cpp b/src/plugins/qmakeprojectmanager/wizards/qtwizard.cpp
index ac73757151..bc2f3589f2 100644
--- a/src/plugins/qmakeprojectmanager/wizards/qtwizard.cpp
+++ b/src/plugins/qmakeprojectmanager/wizards/qtwizard.cpp
@@ -203,9 +203,9 @@ int BaseQmakeProjectWizardDialog::addModulesPage(int id)
int BaseQmakeProjectWizardDialog::addTargetSetupPage(int id)
{
m_targetSetupPage = new ProjectExplorer::TargetSetupPage;
- const QString platform = selectedPlatform();
+ const Core::Id platform = selectedPlatform();
QSet<Core::Id> features = { QtSupport::Constants::FEATURE_DESKTOP };
- if (platform.isEmpty())
+ if (!platform.isValid())
m_targetSetupPage->setPreferredKitMatcher(QtKitInformation::qtVersionMatcher(features));
else
m_targetSetupPage->setPreferredKitMatcher(QtKitInformation::platformMatcher(platform));
@@ -278,7 +278,7 @@ bool BaseQmakeProjectWizardDialog::setupProject(QmakeProject *project) const
return m_targetSetupPage->setupProject(project);
}
-bool BaseQmakeProjectWizardDialog::isQtPlatformSelected(const QString &platform) const
+bool BaseQmakeProjectWizardDialog::isQtPlatformSelected(Core::Id platform) const
{
QList<Core::Id> selectedKitList = selectedKits();
diff --git a/src/plugins/qmakeprojectmanager/wizards/qtwizard.h b/src/plugins/qmakeprojectmanager/wizards/qtwizard.h
index fb22a458b9..1ef3265cdb 100644
--- a/src/plugins/qmakeprojectmanager/wizards/qtwizard.h
+++ b/src/plugins/qmakeprojectmanager/wizards/qtwizard.h
@@ -131,7 +131,7 @@ public:
bool writeUserFile(const QString &proFileName) const;
bool setupProject(QmakeProject *project) const;
- bool isQtPlatformSelected(const QString &platform) const;
+ bool isQtPlatformSelected(Core::Id platform) const;
QList<Core::Id> selectedKits() const;
void addExtensionPages(const QList<QWizardPage *> &wizardPageList);
diff --git a/src/plugins/qtsupport/qtkitinformation.cpp b/src/plugins/qtsupport/qtkitinformation.cpp
index 9aa10f7dcd..94aa930d15 100644
--- a/src/plugins/qtsupport/qtkitinformation.cpp
+++ b/src/plugins/qtsupport/qtkitinformation.cpp
@@ -220,11 +220,11 @@ void QtKitInformation::kitsWereLoaded()
this, SLOT(qtVersionsChanged(QList<int>,QList<int>,QList<int>)));
}
-KitMatcher QtKitInformation::platformMatcher(const QString &platform)
+KitMatcher QtKitInformation::platformMatcher(Core::Id platform)
{
return std::function<bool(const Kit *)>([platform](const Kit *kit) -> bool {
BaseQtVersion *version = QtKitInformation::qtVersion(kit);
- return version && version->platformName() == platform;
+ return version && Core::Id::fromString(version->platformName()) == platform;
});
}
@@ -244,22 +244,19 @@ KitMatcher QtKitInformation::qtVersionMatcher(const QSet<Core::Id> &required,
});
}
-QSet<QString> QtKitInformation::availablePlatforms(const Kit *k) const
+QSet<Core::Id> QtKitInformation::availablePlatforms(const Kit *k) const
{
- QSet<QString> result;
BaseQtVersion *version = QtKitInformation::qtVersion(k);
- if (version) {
- QString platform = version->platformName();
- if (!platform.isEmpty())
- result.insert(version->platformName());
- }
- return result;
+ const QString platform = version ? version->platformName() : QString();
+ if (!platform.isEmpty())
+ return { Core::Id::fromString(platform) };
+ return QSet<Core::Id>();
}
-QString QtKitInformation::displayNameForPlatform(const Kit *k, const QString &platform) const
+QString QtKitInformation::displayNameForPlatform(const Kit *k, Core::Id platform) const
{
BaseQtVersion *version = QtKitInformation::qtVersion(k);
- if (version && version->platformName() == platform)
+ if (version && Core::Id::fromString(version->platformName()) == platform)
return version->platformDisplayName();
return QString();
}
diff --git a/src/plugins/qtsupport/qtkitinformation.h b/src/plugins/qtsupport/qtkitinformation.h
index 9478082429..bb5b8eddc9 100644
--- a/src/plugins/qtsupport/qtkitinformation.h
+++ b/src/plugins/qtsupport/qtkitinformation.h
@@ -69,13 +69,13 @@ public:
static BaseQtVersion *qtVersion(const ProjectExplorer::Kit *k);
static void setQtVersion(ProjectExplorer::Kit *k, const BaseQtVersion *v);
- static ProjectExplorer::KitMatcher platformMatcher(const QString &availablePlatforms);
+ static ProjectExplorer::KitMatcher platformMatcher(Core::Id availablePlatforms);
static ProjectExplorer::KitMatcher qtVersionMatcher(const QSet<Core::Id> &required = QSet<Core::Id>(),
const QtVersionNumber &min = QtVersionNumber(0, 0, 0),
const QtVersionNumber &max = QtVersionNumber(INT_MAX, INT_MAX, INT_MAX));
- QSet<QString> availablePlatforms(const ProjectExplorer::Kit *k) const;
- QString displayNameForPlatform(const ProjectExplorer::Kit *k, const QString &platform) const;
+ QSet<Core::Id> availablePlatforms(const ProjectExplorer::Kit *k) const;
+ QString displayNameForPlatform(const ProjectExplorer::Kit *k, Core::Id platform) const;
QSet<Core::Id> availableFeatures(const ProjectExplorer::Kit *k) const;
private slots: