forked from qt-creator/qt-creator
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:
@@ -436,7 +436,15 @@ void QtOptionsPageWidget::toolChainsUpdated()
|
|||||||
|
|
||||||
void QtOptionsPageWidget::setInfoWidgetVisibility()
|
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);
|
m_infoWidget->setVisible(true);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -755,11 +763,10 @@ void QtOptionsPageWidget::updateDescriptionLabel()
|
|||||||
if (item)
|
if (item)
|
||||||
item->setIcon(info.icon);
|
item->setIcon(info.icon);
|
||||||
|
|
||||||
|
m_infoBrowser->clear();
|
||||||
if (version) {
|
if (version) {
|
||||||
m_infoBrowser->setHtml(version->toHtml(true));
|
|
||||||
setInfoWidgetVisibility();
|
setInfoWidgetVisibility();
|
||||||
} else {
|
} else {
|
||||||
m_infoBrowser->clear();
|
|
||||||
m_versionInfoWidget->setVisible(false);
|
m_versionInfoWidget->setVisible(false);
|
||||||
m_infoWidget->setVisible(false);
|
m_infoWidget->setVisible(false);
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user