Qt: Fix slow options page

For remote devices, reading and parsing all the information
of a qt version, can take a long time. This patch delays the read
until the user actually opens the details widget.

Change-Id: I7bd34d05acc8d01f17609996e84630f958091b3a
Reviewed-by: hjk <hjk@qt.io>
This commit is contained in:
Marcus Tillmanns
2023-08-09 13:41:06 +02:00
parent 7630801293
commit 8ac37d3df4

View File

@@ -436,7 +436,15 @@ void QtOptionsPageWidget::toolChainsUpdated()
void QtOptionsPageWidget::setInfoWidgetVisibility()
{
m_versionInfoWidget->setVisible(m_infoWidget->state() == DetailsWidget::Collapsed);
bool isExpanded = m_infoWidget->state() == DetailsWidget::Expanded;
if (isExpanded && m_infoBrowser->toPlainText().isEmpty()) {
QtVersionItem *item = currentItem();
const QtVersion *version = item ? item->version() : nullptr;
if (version)
m_infoBrowser->setHtml(version->toHtml(true));
}
m_versionInfoWidget->setVisible(!isExpanded);
m_infoWidget->setVisible(true);
}
@@ -755,11 +763,10 @@ void QtOptionsPageWidget::updateDescriptionLabel()
if (item)
item->setIcon(info.icon);
m_infoBrowser->clear();
if (version) {
m_infoBrowser->setHtml(version->toHtml(true));
setInfoWidgetVisibility();
} else {
m_infoBrowser->clear();
m_versionInfoWidget->setVisible(false);
m_infoWidget->setVisible(false);
}