diff --git a/src/plugins/projectexplorer/projectimporter.h b/src/plugins/projectexplorer/projectimporter.h index 2cca307d5b3..6946054ca9e 100644 --- a/src/plugins/projectexplorer/projectimporter.h +++ b/src/plugins/projectexplorer/projectimporter.h @@ -36,7 +36,7 @@ public: virtual const QList import(const Utils::FilePath &importPath, bool silent = false); virtual Utils::FilePaths importCandidates() = 0; virtual Target *preferredTarget(const QList &possibleTargets); - virtual QString kitFilterText() { return QString(); } + virtual bool filter(Kit *) const { return true; } bool isUpdating() const { return m_isUpdating; } diff --git a/src/plugins/projectexplorer/targetsetuppage.cpp b/src/plugins/projectexplorer/targetsetuppage.cpp index a4af51996a4..72e77fd6644 100644 --- a/src/plugins/projectexplorer/targetsetuppage.cpp +++ b/src/plugins/projectexplorer/targetsetuppage.cpp @@ -304,6 +304,8 @@ void TargetSetupPagePrivate::setupWidgets(const QString &filterText) for (Kit *k : KitManager::sortedKits()) { if (!filterText.isEmpty() && !k->displayName().contains(filterText, Qt::CaseInsensitive)) continue; + if (m_importer && !m_importer->filter(k)) + continue; const auto widget = new TargetSetupWidget(k, m_projectPath); connect(widget, &TargetSetupWidget::selectedToggled, this, &TargetSetupPagePrivate::kitSelectionChanged); @@ -569,10 +571,6 @@ void TargetSetupPagePrivate::doInitializePage() setupWidgets(); setupImports(); - const QString filterText = m_importer ? m_importer->kitFilterText() : QString{}; - kitFilterLineEdit->setText(filterText); - kitFilterLineEdit->filterChanged(filterText); - selectAtLeastOneEnabledKit(); updateVisibility(); }