ProjectExplorer: Inline KitManager::supportedPlatforms

... and availableFeatures into their only (local) user.
Fringe functionality that's unlikely to be re-used.

Also make kits() return value const to allow clutter-free
use of ranged for.

Change-Id: Ie36fd0b5086d7141fc1844ef9bf0477221ce5ffe
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
This commit is contained in:
hjk
2019-08-13 13:48:01 +02:00
parent cdf4562eb8
commit 53f2b69124
2 changed files with 12 additions and 26 deletions

View File

@@ -359,25 +359,6 @@ void KitManager::deregisterKitAspect(KitAspect *ki)
d->removeKitAspect(ki);
}
QSet<Id> KitManager::supportedPlatforms()
{
QSet<Id> platforms;
foreach (const Kit *k, kits())
platforms.unite(k->supportedPlatforms());
return platforms;
}
QSet<Id> KitManager::availableFeatures(Core::Id platformId)
{
QSet<Id> features;
foreach (const Kit *k, kits()) {
if (!k->supportedPlatforms().contains(platformId))
continue;
features.unite(k->availableFeatures());
}
return features;
}
QList<Kit *> KitManager::sortKits(const QList<Kit *> &kits)
{
// This method was added to delay the sorting of kits as long as possible.
@@ -449,7 +430,7 @@ static KitList restoreKitsHelper(const FilePath &fileName)
return result;
}
QList<Kit *> KitManager::kits(const Kit::Predicate &predicate)
const QList<Kit *> KitManager::kits(const Kit::Predicate &predicate)
{
const QList<Kit *> result = Utils::toRawPointer<QList>(d->m_kitList);
if (predicate)
@@ -658,12 +639,20 @@ void KitAspectWidget::setStyle(QStyle *s)
QSet<Id> KitFeatureProvider::availableFeatures(Id id) const
{
return KitManager::availableFeatures(id);
QSet<Id> features;
for (const Kit *k : KitManager::kits()) {
if (k->supportedPlatforms().contains(id))
features.unite(k->availableFeatures());
}
return features;
}
QSet<Id> KitFeatureProvider::availablePlatforms() const
{
return KitManager::supportedPlatforms();
QSet<Id> platforms;
for (const Kit *k : KitManager::kits())
platforms.unite(k->supportedPlatforms());
return platforms;
}
QString KitFeatureProvider::displayNameForPlatform(Id id) const

View File

@@ -167,7 +167,7 @@ public:
static KitManager *instance();
~KitManager() override;
static QList<Kit *> kits(const Kit::Predicate &predicate = Kit::Predicate());
static const QList<Kit *> kits(const Kit::Predicate &predicate = Kit::Predicate());
static Kit *kit(const Kit::Predicate &predicate);
static Kit *kit(Core::Id id);
static Kit *defaultKit();
@@ -180,9 +180,6 @@ public:
static void deregisterKit(Kit *k);
static void setDefaultKit(Kit *k);
static QSet<Core::Id> supportedPlatforms();
static QSet<Core::Id> availableFeatures(Core::Id platformId);
static QList<Kit *> sortKits(const QList<Kit *> &kits); // Avoid sorting whenever possible!
static void saveKits();