diff --git a/src/plugins/projectexplorer/targetsetuppage.cpp b/src/plugins/projectexplorer/targetsetuppage.cpp index 78c8f442730..0f3d9944fa7 100644 --- a/src/plugins/projectexplorer/targetsetuppage.cpp +++ b/src/plugins/projectexplorer/targetsetuppage.cpp @@ -267,6 +267,7 @@ void TargetSetupPage::setupWidgets(const QString &filterText) if (!filterText.isEmpty() && !k->displayName().contains(filterText, Qt::CaseInsensitive)) continue; const auto widget = new TargetSetupWidget(k, m_projectPath); + setInitialCheckState(widget); connect(widget, &TargetSetupWidget::selectedToggled, this, &TargetSetupPage::kitSelectionChanged); connect(widget, &TargetSetupWidget::selectedToggled, this, &QWizardPage::completeChanged); @@ -298,6 +299,12 @@ void TargetSetupPage::reset() m_ui->allKitsCheckBox->setChecked(false); } +void TargetSetupPage::setInitialCheckState(TargetSetupWidget *widget) +{ + widget->setKitSelected(widget->isEnabled() && m_preferredPredicate + && m_preferredPredicate(widget->kit())); +} + TargetSetupWidget *TargetSetupPage::widget(const Core::Id kitId, TargetSetupWidget *fallback) const { @@ -559,6 +566,7 @@ void TargetSetupPage::removeWidget(TargetSetupWidget *w) TargetSetupWidget *TargetSetupPage::addWidget(Kit *k) { const auto widget = new TargetSetupWidget(k, m_projectPath); + setInitialCheckState(widget); updateWidget(widget); connect(widget, &TargetSetupWidget::selectedToggled, this, &TargetSetupPage::kitSelectionChanged); @@ -601,8 +609,6 @@ void TargetSetupPage::removeAdditionalWidgets(QLayout *layout) void TargetSetupPage::updateWidget(TargetSetupWidget *widget) { QTC_ASSERT(widget, return ); - widget->setKitSelected(widget->isEnabled() && m_preferredPredicate - && m_preferredPredicate(widget->kit())); widget->update(m_requiredPredicate); } diff --git a/src/plugins/projectexplorer/targetsetuppage.h b/src/plugins/projectexplorer/targetsetuppage.h index 7c59e490990..7ac07015c69 100644 --- a/src/plugins/projectexplorer/targetsetuppage.h +++ b/src/plugins/projectexplorer/targetsetuppage.h @@ -118,6 +118,7 @@ private: void setupWidgets(const QString &filterText = QString()); void reset(); + void setInitialCheckState(Internal::TargetSetupWidget *widget); Internal::TargetSetupWidget *widget(Kit *k, Internal::TargetSetupWidget *fallback = nullptr) const { return widget(k->id(), fallback); }