WebAssembly: Simplify initial settings UI update

This removes the need for a delayed call of
WebAssemblySettings::updateStatus(), and a possible visual glitch where
too many widgets are visible for a split sencond.

Change-Id: I2b4b39f6576d16d4fde6b3e3df1ce09e6805086d
Reviewed-by: Marcus Tillmanns <marcus.tillmanns@qt.io>
This commit is contained in:
Alessandro Portale
2024-07-23 12:48:37 +02:00
parent ddbf884c12
commit 72509fbe10
2 changed files with 2 additions and 8 deletions

View File

@@ -103,7 +103,6 @@ WebAssemblySettings::WebAssemblySettings()
},
Group {
title(Tr::tr("Emscripten SDK environment:")),
bindTo(&m_emSdkEnvGroupBox),
Column {
m_emSdkEnvDisplay,
},
@@ -115,9 +114,7 @@ WebAssemblySettings::WebAssemblySettings()
connect(emSdk.pathChooser(), &Utils::PathChooser::textChanged,
this, &WebAssemblySettings::updateStatus);
// updateStatus() uses m_emSdkEnvGroupBox which only exists
// after this here emerges. So delay the update a bit.
QTimer::singleShot(0, this, &WebAssemblySettings::updateStatus);
updateStatus();
return col;
});
@@ -132,10 +129,8 @@ void WebAssemblySettings::updateStatus()
const Utils::FilePath newEmSdk = emSdk.pathChooser()->filePath();
const bool sdkValid = newEmSdk.exists() && WebAssemblyEmSdk::isValid(newEmSdk);
QTC_ASSERT(m_emSdkVersionDisplay, return);
QTC_ASSERT(m_emSdkEnvGroupBox, return);
m_emSdkVersionDisplay->setVisible(sdkValid);
m_emSdkEnvGroupBox->setEnabled(sdkValid);
m_emSdkEnvDisplay->setEnabled(sdkValid);
if (sdkValid) {
const QVersionNumber sdkVersion = WebAssemblyEmSdk::version(newEmSdk);

View File

@@ -21,7 +21,6 @@ public:
Utils::FilePathAspect emSdk{this};
private:
QWidget *m_emSdkEnvGroupBox = nullptr;
Utils::InfoLabel *m_emSdkVersionDisplay = nullptr;
QTextBrowser *m_emSdkEnvDisplay = nullptr;
Utils::InfoLabel *m_qtVersionDisplay = nullptr;