aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins/projectexplorer
diff options
context:
space:
mode:
authorCristian Adam <cristian.adam@qt.io>2024-02-08 18:50:57 +0100
committerCristian Adam <cristian.adam@qt.io>2024-02-12 09:55:20 +0000
commitc553d63a32f9df7fdc999421e353647c20b0fd91 (patch)
tree8dc9bf8f7cb9c8e9005c6df1879cba172f7bb3fe /src/plugins/projectexplorer
parent354f50f258bf42cf1289fc98514fcb1841d89aa1 (diff)
PE: Allow ProjectImporter to filter kits in TargetSetupPage
Amends b9f546cf1bb7d867bb5f0a31ada0c5c670c52f6e Change-Id: Icf64f3cd751480c9fe2ae740f47954a62c252cc4 Reviewed-by: Marcus Tillmanns <marcus.tillmanns@qt.io> Reviewed-by: Christian Kandeler <christian.kandeler@qt.io> Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Diffstat (limited to 'src/plugins/projectexplorer')
-rw-r--r--src/plugins/projectexplorer/projectimporter.h2
-rw-r--r--src/plugins/projectexplorer/targetsetuppage.cpp6
2 files changed, 3 insertions, 5 deletions
diff --git a/src/plugins/projectexplorer/projectimporter.h b/src/plugins/projectexplorer/projectimporter.h
index 2cca307d5b..6946054ca9 100644
--- a/src/plugins/projectexplorer/projectimporter.h
+++ b/src/plugins/projectexplorer/projectimporter.h
@@ -36,7 +36,7 @@ public:
virtual const QList<BuildInfo> import(const Utils::FilePath &importPath, bool silent = false);
virtual Utils::FilePaths importCandidates() = 0;
virtual Target *preferredTarget(const QList<Target *> &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 a4af51996a..72e77fd664 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();
}