ProjectExplorer: Drop filtering from KitManager::Kits

Only uses twice out of 54 cases, saves a few cycles and bytes
in the others.

Change-Id: I180005d041e3abaf841890d208adfbcb1a51fb74
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
This commit is contained in:
hjk
2019-08-13 14:03:12 +02:00
parent 835ff7e692
commit 2d9471137c
4 changed files with 9 additions and 10 deletions

View File

@@ -733,8 +733,10 @@ void ToolChainKitAspect::kitsWereLoaded()
void ToolChainKitAspect::toolChainUpdated(ToolChain *tc)
{
for (Kit *k : KitManager::kits([tc](const Kit *k) { return toolChain(k, tc->language()) == tc; }))
for (Kit *k : KitManager::kits()) {
if (toolChain(k, tc->language()) == tc)
notifyAboutUpdate(k);
}
}
void ToolChainKitAspect::toolChainRemoved(ToolChain *tc)

View File

@@ -430,13 +430,10 @@ static KitList restoreKitsHelper(const FilePath &fileName)
return result;
}
const QList<Kit *> KitManager::kits(const Kit::Predicate &predicate)
const QList<Kit *> KitManager::kits()
{
const QList<Kit *> result = Utils::toRawPointer<QList>(d->m_kitList);
if (predicate)
return Utils::filtered(result, predicate);
return result;
}
return Utils::toRawPointer<QList>(d->m_kitList);
}
Kit *KitManager::kit(Id id)
{

View File

@@ -167,7 +167,7 @@ public:
static KitManager *instance();
~KitManager() override;
static const QList<Kit *> kits(const Kit::Predicate &predicate = Kit::Predicate());
static const QList<Kit *> kits();
static Kit *kit(const Kit::Predicate &predicate);
static Kit *kit(Core::Id id);
static Kit *defaultKit();

View File

@@ -328,7 +328,7 @@ Project::RestoreResult QmlProject::fromMap(const QVariantMap &map, QString *erro
if (!activeTarget()) {
// find a kit that matches prerequisites (prefer default one)
const QList<Kit*> kits = KitManager::kits([this](const Kit *k) {
const QList<Kit*> kits = Utils::filtered(KitManager::kits(), [this](const Kit *k) {
return !containsType(projectIssues(k), Task::TaskType::Error);
});