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,9 +733,11 @@ void ToolChainKitAspect::kitsWereLoaded()
void ToolChainKitAspect::toolChainUpdated(ToolChain *tc) 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); notifyAboutUpdate(k);
} }
}
void ToolChainKitAspect::toolChainRemoved(ToolChain *tc) void ToolChainKitAspect::toolChainRemoved(ToolChain *tc)
{ {

View File

@@ -430,12 +430,9 @@ static KitList restoreKitsHelper(const FilePath &fileName)
return result; 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); return Utils::toRawPointer<QList>(d->m_kitList);
if (predicate)
return Utils::filtered(result, predicate);
return result;
} }
Kit *KitManager::kit(Id id) Kit *KitManager::kit(Id id)

View File

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

View File

@@ -328,7 +328,7 @@ Project::RestoreResult QmlProject::fromMap(const QVariantMap &map, QString *erro
if (!activeTarget()) { if (!activeTarget()) {
// find a kit that matches prerequisites (prefer default one) // 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); return !containsType(projectIssues(k), Task::TaskType::Error);
}); });