ProjectExplorer: Expand selected details widgets in target setup page

Rationale:
  - Selecting and unselecting should behave symmetrically.
  - The user is informed of and can easily change the set of
    pre-configured build configurations.

Fixes: QTCREATORBUG-30412
Change-Id: I86e6a41c3baed280df9a694d6cf6eb631cb537f9
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Marcus Tillmanns <marcus.tillmanns@qt.io>
This commit is contained in:
Christian Kandeler
2024-02-29 17:22:57 +01:00
parent 44b6dea740
commit 5d41ab126f

View File

@@ -103,6 +103,7 @@ void TargetSetupWidget::setKitSelected(bool b)
b &= hasSelectedBuildConfigurations(); b &= hasSelectedBuildConfigurations();
const GuardLocker locker(m_ignoreChanges); const GuardLocker locker(m_ignoreChanges);
m_detailsWidget->setChecked(b); m_detailsWidget->setChecked(b);
m_detailsWidget->setState(b ? DetailsWidget::Expanded : DetailsWidget::Collapsed);
m_detailsWidget->widget()->setEnabled(b); m_detailsWidget->widget()->setEnabled(b);
} }
@@ -168,12 +169,7 @@ void TargetSetupWidget::targetCheckBoxToggled(bool b)
if (m_ignoreChanges.isLocked()) if (m_ignoreChanges.isLocked())
return; return;
m_detailsWidget->widget()->setEnabled(b); m_detailsWidget->widget()->setEnabled(b);
if (b && (contains(m_infoStore, &BuildInfoStore::hasIssues) m_detailsWidget->setState(b ? DetailsWidget::Expanded : DetailsWidget::Collapsed);
|| !contains(m_infoStore, &BuildInfoStore::isEnabled))) {
m_detailsWidget->setState(DetailsWidget::Expanded);
} else if (!b) {
m_detailsWidget->setState(DetailsWidget::Collapsed);
}
emit selectedToggled(); emit selectedToggled();
} }