From c553d63a32f9df7fdc999421e353647c20b0fd91 Mon Sep 17 00:00:00 2001 From: Cristian Adam Date: Thu, 8 Feb 2024 18:50:57 +0100 Subject: [PATCH] PE: Allow ProjectImporter to filter kits in TargetSetupPage Amends b9f546cf1bb7d867bb5f0a31ada0c5c670c52f6e Change-Id: Icf64f3cd751480c9fe2ae740f47954a62c252cc4 Reviewed-by: Marcus Tillmanns Reviewed-by: Christian Kandeler Reviewed-by: --- src/plugins/projectexplorer/projectimporter.h | 2 +- src/plugins/projectexplorer/targetsetuppage.cpp | 6 ++---- 2 files changed, 3 insertions(+), 5 deletions(-) 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(); }