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