forked from qt-creator/qt-creator
ProjectExplorer: Do not reset kit selection in target setup widget
... on kit update. We don't know why the kit was originally selected, and keeping track of this information would add unreasonable book- keeping effort. Plus, the user probably does not expect the selection to change anyway. Change-Id: I341e1727a3f1fdd481c3a1670f821aee0e6b9cdd Reviewed-by: hjk <hjk@qt.io>
This commit is contained in:
@@ -267,6 +267,7 @@ void TargetSetupPage::setupWidgets(const QString &filterText)
|
|||||||
if (!filterText.isEmpty() && !k->displayName().contains(filterText, Qt::CaseInsensitive))
|
if (!filterText.isEmpty() && !k->displayName().contains(filterText, Qt::CaseInsensitive))
|
||||||
continue;
|
continue;
|
||||||
const auto widget = new TargetSetupWidget(k, m_projectPath);
|
const auto widget = new TargetSetupWidget(k, m_projectPath);
|
||||||
|
setInitialCheckState(widget);
|
||||||
connect(widget, &TargetSetupWidget::selectedToggled,
|
connect(widget, &TargetSetupWidget::selectedToggled,
|
||||||
this, &TargetSetupPage::kitSelectionChanged);
|
this, &TargetSetupPage::kitSelectionChanged);
|
||||||
connect(widget, &TargetSetupWidget::selectedToggled, this, &QWizardPage::completeChanged);
|
connect(widget, &TargetSetupWidget::selectedToggled, this, &QWizardPage::completeChanged);
|
||||||
@@ -298,6 +299,12 @@ void TargetSetupPage::reset()
|
|||||||
m_ui->allKitsCheckBox->setChecked(false);
|
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 *TargetSetupPage::widget(const Core::Id kitId,
|
||||||
TargetSetupWidget *fallback) const
|
TargetSetupWidget *fallback) const
|
||||||
{
|
{
|
||||||
@@ -559,6 +566,7 @@ void TargetSetupPage::removeWidget(TargetSetupWidget *w)
|
|||||||
TargetSetupWidget *TargetSetupPage::addWidget(Kit *k)
|
TargetSetupWidget *TargetSetupPage::addWidget(Kit *k)
|
||||||
{
|
{
|
||||||
const auto widget = new TargetSetupWidget(k, m_projectPath);
|
const auto widget = new TargetSetupWidget(k, m_projectPath);
|
||||||
|
setInitialCheckState(widget);
|
||||||
updateWidget(widget);
|
updateWidget(widget);
|
||||||
connect(widget, &TargetSetupWidget::selectedToggled,
|
connect(widget, &TargetSetupWidget::selectedToggled,
|
||||||
this, &TargetSetupPage::kitSelectionChanged);
|
this, &TargetSetupPage::kitSelectionChanged);
|
||||||
@@ -601,8 +609,6 @@ void TargetSetupPage::removeAdditionalWidgets(QLayout *layout)
|
|||||||
void TargetSetupPage::updateWidget(TargetSetupWidget *widget)
|
void TargetSetupPage::updateWidget(TargetSetupWidget *widget)
|
||||||
{
|
{
|
||||||
QTC_ASSERT(widget, return );
|
QTC_ASSERT(widget, return );
|
||||||
widget->setKitSelected(widget->isEnabled() && m_preferredPredicate
|
|
||||||
&& m_preferredPredicate(widget->kit()));
|
|
||||||
widget->update(m_requiredPredicate);
|
widget->update(m_requiredPredicate);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -118,6 +118,7 @@ private:
|
|||||||
|
|
||||||
void setupWidgets(const QString &filterText = QString());
|
void setupWidgets(const QString &filterText = QString());
|
||||||
void reset();
|
void reset();
|
||||||
|
void setInitialCheckState(Internal::TargetSetupWidget *widget);
|
||||||
|
|
||||||
Internal::TargetSetupWidget *widget(Kit *k, Internal::TargetSetupWidget *fallback = nullptr) const
|
Internal::TargetSetupWidget *widget(Kit *k, Internal::TargetSetupWidget *fallback = nullptr) const
|
||||||
{ return widget(k->id(), fallback); }
|
{ return widget(k->id(), fallback); }
|
||||||
|
Reference in New Issue
Block a user