Android: disable controls when sdkmanager is running a task

Change-Id: Ib8220fa3510a186d69e17ae46a23c5b40f1de76b
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
This commit is contained in:
Assam Boudjelthia
2020-06-30 12:06:46 +03:00
parent 560f5bfdc7
commit 67634d0d46
2 changed files with 12 additions and 7 deletions

View File

@@ -350,13 +350,18 @@ AndroidSettingsWidget::AndroidSettingsWidget()
sdkMangerLayout->setContentsMargins(0, 0, 0, 0);
sdkMangerLayout->addWidget(m_sdkManagerWidget);
connect(m_sdkManagerWidget, &AndroidSdkManagerWidget::updatingSdk, [this] {
m_ui.SDKLocationPathChooser->setEnabled(false);
// Disable the tab bar to restrict the user moving away from sdk manager tab untill
// operations finish.
// Disable the top level UI to keep the user from unintentionally interrupting operations
m_ui.javaSettingsGroupBox->setEnabled(false);
m_ui.androidSettingsGroupBox->setEnabled(false);
m_ui.androidOpenSSLSettingsGroupBox->setEnabled(false);
m_ui.CreateKitCheckBox->setEnabled(false);
m_ui.managerTabWidget->tabBar()->setEnabled(false);
});
connect(m_sdkManagerWidget, &AndroidSdkManagerWidget::updatingSdkFinished, [this] {
m_ui.SDKLocationPathChooser->setEnabled(true);
m_ui.javaSettingsGroupBox->setEnabled(true);
m_ui.androidSettingsGroupBox->setEnabled(true);
m_ui.androidOpenSSLSettingsGroupBox->setEnabled(true);
m_ui.CreateKitCheckBox->setEnabled(true);
m_ui.managerTabWidget->tabBar()->setEnabled(true);
});
connect(m_sdkManagerWidget, &AndroidSdkManagerWidget::licenseWorkflowStarted, [this] {

View File

@@ -66,7 +66,7 @@
<number>0</number>
</property>
<item>
<widget class="QGroupBox" name="javaSettingsGroup">
<widget class="QGroupBox" name="javaSettingsGroupBox">
<property name="minimumSize">
<size>
<width>0</width>
@@ -124,7 +124,7 @@
</widget>
</item>
<item>
<widget class="QGroupBox" name="groupBox">
<widget class="QGroupBox" name="androidSettingsGroupBox">
<property name="title">
<string>Android Settings</string>
</property>
@@ -263,7 +263,7 @@
</widget>
</item>
<item>
<widget class="QGroupBox" name="groupBox_2">
<widget class="QGroupBox" name="androidOpenSSLSettingsGroupBox">
<property name="title">
<string>Android OpenSSL settings (Optional)</string>
</property>