PE: Allow ProjectImporter to filter kits in TargetSetupPage

Amends b9f546cf1b

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>
This commit is contained in:
Cristian Adam
2024-02-08 18:50:57 +01:00
parent 354f50f258
commit c553d63a32
2 changed files with 3 additions and 5 deletions

View File

@@ -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; }

View File

@@ -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();
}