forked from qt-creator/qt-creator
Android: Turn SDK manager from QTabWidget into QGroupBox
Since the AVD manager moved into the "Devices" option page, the SDK manager tab was left alone in the QTabWidget. One single tab looks strange and uses more space than needed. This change turns the SDK manager area into a QGroupBox, which is consistent with the rest of the Android Options page. This patch also adjusts the margins and spacings of the SDK manager widget to fit to the rest of the options page. Change-Id: Id1ed38862e8f9e984f53cdfb59492e30902162a7 Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
This commit is contained in:
@@ -291,16 +291,14 @@ AndroidSettingsWidget::AndroidSettingsWidget()
|
||||
{
|
||||
m_ui.setupUi(this);
|
||||
m_sdkManagerWidget = new AndroidSdkManagerWidget(m_androidConfig, &m_sdkManager,
|
||||
m_ui.sdkManagerTab);
|
||||
auto sdkMangerLayout = new QVBoxLayout(m_ui.sdkManagerTab);
|
||||
sdkMangerLayout->setContentsMargins(0, 0, 0, 0);
|
||||
m_ui.sdkManagerGroupBox);
|
||||
auto sdkMangerLayout = new QVBoxLayout(m_ui.sdkManagerGroupBox);
|
||||
sdkMangerLayout->addWidget(m_sdkManagerWidget);
|
||||
connect(m_sdkManagerWidget, &AndroidSdkManagerWidget::updatingSdk, [this] {
|
||||
// Disable the top level UI to keep the user from unintentionally interrupting operations
|
||||
m_ui.androidSettingsGroupBox->setEnabled(false);
|
||||
m_ui.androidOpenSSLSettingsGroupBox->setEnabled(false);
|
||||
m_ui.CreateKitCheckBox->setEnabled(false);
|
||||
m_ui.managerTabWidget->tabBar()->setEnabled(false);
|
||||
m_androidSummary->setState(DetailsWidget::Collapsed);
|
||||
m_androidProgress->hide();
|
||||
});
|
||||
@@ -308,13 +306,12 @@ AndroidSettingsWidget::AndroidSettingsWidget()
|
||||
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] {
|
||||
QObject *parentWidget = parent();
|
||||
while (parentWidget) {
|
||||
if (auto scrollArea = qobject_cast<QScrollArea *>(parentWidget)) {
|
||||
scrollArea->ensureWidgetVisible(m_ui.managerTabWidget);
|
||||
scrollArea->ensureWidgetVisible(m_ui.sdkManagerGroupBox);
|
||||
break;
|
||||
}
|
||||
parentWidget = parentWidget->parent();
|
||||
@@ -530,7 +527,6 @@ void AndroidSettingsWidget::validateSdk()
|
||||
auto userInput = QMessageBox::information(this, tr("Missing Android SDK Packages"),
|
||||
message, QMessageBox::Yes | QMessageBox::No);
|
||||
if (userInput == QMessageBox::Yes) {
|
||||
m_ui.managerTabWidget->setCurrentWidget(m_ui.sdkManagerTab);
|
||||
m_sdkManagerWidget->installEssentials();
|
||||
}
|
||||
}
|
||||
@@ -651,7 +647,7 @@ void AndroidSettingsWidget::updateUI()
|
||||
const bool androidSetupOk = m_androidSummary->allRowsOk();
|
||||
const bool openSslOk = m_openSslSummary->allRowsOk();
|
||||
|
||||
m_ui.sdkManagerTab->setEnabled(sdkToolsOk);
|
||||
m_ui.sdkManagerGroupBox->setEnabled(sdkToolsOk);
|
||||
|
||||
const QListWidgetItem *currentItem = m_ui.ndkListWidget->currentItem();
|
||||
const FilePath currentNdk = FilePath::fromString(currentItem ? currentItem->text() : "");
|
||||
|
||||
Reference in New Issue
Block a user