From 435f6caa1a2db3cd32b2f5294f97b32ee40daa34 Mon Sep 17 00:00:00 2001 From: Tobias Hunger Date: Fri, 29 May 2015 11:43:03 +0200 Subject: [PATCH] Wizards: Simplify code a bit Change-Id: I3d80ca7810001cb02fe7e147fbfa013a9aaaebbf Reviewed-by: Eike Ziller --- src/plugins/coreplugin/iwizardfactory.cpp | 27 +++++++---------------- 1 file changed, 8 insertions(+), 19 deletions(-) diff --git a/src/plugins/coreplugin/iwizardfactory.cpp b/src/plugins/coreplugin/iwizardfactory.cpp index c1c199e4b7c..e85a39f59e5 100644 --- a/src/plugins/coreplugin/iwizardfactory.cpp +++ b/src/plugins/coreplugin/iwizardfactory.cpp @@ -38,7 +38,6 @@ #include #include -#include #include #include @@ -159,16 +158,15 @@ bool s_areFactoriesLoaded = false; } /* A utility to find all wizards supporting a view mode and matching a predicate */ -template - QList findWizardFactories(Predicate predicate) +QList findWizardFactories(const std::function &predicate) { - // Filter all wizards - const QList allFactories = IWizardFactory::allWizardFactories(); - QList rc; - const QList::const_iterator cend = allFactories.constEnd(); - for (QList::const_iterator it = allFactories.constBegin(); it != cend; ++it) - if (predicate(*(*it))) + const QList allFactories = IWizardFactory::allWizardFactories(); + QList rc; + auto cend = allFactories.constEnd(); + for (auto it = allFactories.constBegin(); it != cend; ++it) { + if (predicate(*it)) rc.push_back(*it); + } return rc; } @@ -218,18 +216,9 @@ QList IWizardFactory::allWizardFactories() } // Utility to find all registered wizards of a certain kind - -class WizardKindPredicate { -public: - WizardKindPredicate(IWizardFactory::WizardKind kind) : m_kind(kind) {} - bool operator()(const IWizardFactory &w) const { return w.kind() == m_kind; } -private: - const IWizardFactory::WizardKind m_kind; -}; - QList IWizardFactory::wizardFactoriesOfKind(WizardKind kind) { - return findWizardFactories(WizardKindPredicate(kind)); + return findWizardFactories([kind](IWizardFactory *f) { return f->kind() == kind; }); } QString IWizardFactory::runPath(const QString &defaultPath)