forked from qt-creator/qt-creator
ProjectExplorer: Merge the two update functions in TargetSetupWidget
It was very confusing that we had two different functions that acted on kit updates independently. Change-Id: I4801b284c51cab1527324ac9a9f244d9fe9900c3 Reviewed-by: hjk <hjk@qt.io>
This commit is contained in:
@@ -603,7 +603,7 @@ void TargetSetupPage::updateWidget(TargetSetupWidget *widget)
|
||||
QTC_ASSERT(widget, return );
|
||||
widget->setKitSelected(widget->isEnabled() && m_preferredPredicate
|
||||
&& m_preferredPredicate(widget->kit()));
|
||||
widget->updateStatus(m_requiredPredicate);
|
||||
widget->update(m_requiredPredicate);
|
||||
}
|
||||
|
||||
bool TargetSetupPage::isUsable(const Kit *kit) const
|
||||
|
@@ -77,8 +77,6 @@ TargetSetupWidget::TargetSetupWidget(Kit *k, const FilePath &projectPath) :
|
||||
panelLayout->addWidget(m_manageButton);
|
||||
m_detailsWidget->setToolWidget(panel);
|
||||
|
||||
handleKitUpdate(m_kit);
|
||||
|
||||
auto widget = new QWidget;
|
||||
auto layout = new QVBoxLayout;
|
||||
widget->setLayout(layout);
|
||||
@@ -100,9 +98,6 @@ TargetSetupWidget::TargetSetupWidget(Kit *k, const FilePath &projectPath) :
|
||||
connect(m_detailsWidget, &Utils::DetailsWidget::checked,
|
||||
this, &TargetSetupWidget::targetCheckBoxToggled);
|
||||
|
||||
connect(KitManager::instance(), &KitManager::kitUpdated,
|
||||
this, &TargetSetupWidget::handleKitUpdate);
|
||||
|
||||
connect(m_manageButton, &QAbstractButton::clicked, this, &TargetSetupWidget::manageKit);
|
||||
}
|
||||
|
||||
@@ -226,8 +221,10 @@ void TargetSetupWidget::expandWidget()
|
||||
m_detailsWidget->setState(Utils::DetailsWidget::Expanded);
|
||||
}
|
||||
|
||||
void TargetSetupWidget::updateStatus(const Kit::Predicate &predicate)
|
||||
void TargetSetupWidget::update(const Kit::Predicate &predicate)
|
||||
{
|
||||
m_detailsWidget->setSummaryText(kit()->displayName());
|
||||
|
||||
// Kits that we deem invalid get a warning icon, but users can still select them,
|
||||
// e.g. in case we misdetected an ABI mismatch.
|
||||
// Kits that don't fulfill the project predicate are not selectable, because we cannot
|
||||
@@ -238,9 +235,8 @@ void TargetSetupWidget::updateStatus(const Kit::Predicate &predicate)
|
||||
"the project's prerequisites."));
|
||||
return;
|
||||
}
|
||||
if (!kit()->isValid())
|
||||
m_detailsWidget->setIcon(Icons::CRITICAL.icon());
|
||||
setEnabled(true);
|
||||
m_detailsWidget->setIcon(kit()->isValid() ? kit()->icon() : Icons::CRITICAL.icon());
|
||||
m_detailsWidget->setToolTip(m_kit->toHtml());
|
||||
}
|
||||
|
||||
@@ -254,15 +250,6 @@ const QList<BuildInfo> TargetSetupWidget::buildInfoList(const Kit *k, const File
|
||||
return {info};
|
||||
}
|
||||
|
||||
void TargetSetupWidget::handleKitUpdate(Kit *k)
|
||||
{
|
||||
if (k != m_kit)
|
||||
return;
|
||||
|
||||
m_detailsWidget->setIcon(k->icon());
|
||||
m_detailsWidget->setSummaryText(k->displayName());
|
||||
}
|
||||
|
||||
const QList<BuildInfo> TargetSetupWidget::selectedBuildInfoList() const
|
||||
{
|
||||
QList<BuildInfo> result;
|
||||
|
@@ -70,7 +70,7 @@ public:
|
||||
const QList<BuildInfo> selectedBuildInfoList() const;
|
||||
void setProjectPath(const Utils::FilePath &projectPath);
|
||||
void expandWidget();
|
||||
void updateStatus(const Kit::Predicate &predicate);
|
||||
void update(const Kit::Predicate &predicate);
|
||||
|
||||
signals:
|
||||
void selectedToggled() const;
|
||||
@@ -78,8 +78,6 @@ signals:
|
||||
private:
|
||||
static const QList<BuildInfo> buildInfoList(const Kit *k, const Utils::FilePath &projectPath);
|
||||
|
||||
void handleKitUpdate(ProjectExplorer::Kit *k);
|
||||
|
||||
void checkBoxToggled(bool b);
|
||||
void pathChanged();
|
||||
void targetCheckBoxToggled(bool b);
|
||||
|
Reference in New Issue
Block a user