Android: Use a bit more LayoutBuilder in AndroidApkBuildStep

Change-Id: Ic783a528c56849d02f828013683ed58d9fd575be
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
This commit is contained in:
hjk
2023-08-23 12:32:06 +02:00
parent eef56c79b9
commit 837fadafbd

View File

@@ -133,12 +133,7 @@ AndroidBuildApkWidget::AndroidBuildApkWidget(AndroidBuildApkStep *step)
// Application Signature Group // Application Signature Group
auto signPackageGroup = new QGroupBox(Tr::tr("Application Signature"), this); auto keystoreLocationChooser = new PathChooser;
auto keystoreLocationLabel = new QLabel(Tr::tr("Keystore:"), signPackageGroup);
keystoreLocationLabel->setAlignment(Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter);
auto keystoreLocationChooser = new PathChooser(signPackageGroup);
keystoreLocationChooser->setExpectedKind(PathChooser::File); keystoreLocationChooser->setExpectedKind(PathChooser::File);
keystoreLocationChooser->lineEdit()->setReadOnly(true); keystoreLocationChooser->lineEdit()->setReadOnly(true);
keystoreLocationChooser->setFilePath(m_step->keystorePath()); keystoreLocationChooser->setFilePath(m_step->keystorePath());
@@ -153,7 +148,7 @@ AndroidBuildApkWidget::AndroidBuildApkWidget(AndroidBuildApkStep *step)
setCertificates(); setCertificates();
}); });
auto keystoreCreateButton = new QPushButton(Tr::tr("Create..."), signPackageGroup); auto keystoreCreateButton = new QPushButton(Tr::tr("Create..."));
connect(keystoreCreateButton, &QAbstractButton::clicked, this, [this, keystoreLocationChooser] { connect(keystoreCreateButton, &QAbstractButton::clicked, this, [this, keystoreLocationChooser] {
AndroidCreateKeystoreCertificate d; AndroidCreateKeystoreCertificate d;
if (d.exec() != QDialog::Accepted) if (d.exec() != QDialog::Accepted)
@@ -166,26 +161,29 @@ AndroidBuildApkWidget::AndroidBuildApkWidget(AndroidBuildApkStep *step)
setCertificates(); setCertificates();
}); });
m_signPackageCheckBox = new QCheckBox(Tr::tr("Sign package"), signPackageGroup); m_signPackageCheckBox = new QCheckBox(Tr::tr("Sign package"));
m_signPackageCheckBox->setChecked(m_step->signPackage()); m_signPackageCheckBox->setChecked(m_step->signPackage());
m_signingDebugWarningLabel = new Utils::InfoLabel(Tr::tr("Signing a debug package"), m_signingDebugWarningLabel = new InfoLabel(Tr::tr("Signing a debug package"),
Utils::InfoLabel::Warning, signPackageGroup); InfoLabel::Warning);
m_signingDebugWarningLabel->hide(); m_signingDebugWarningLabel->hide();
m_signingDebugWarningLabel->setSizePolicy(QSizePolicy::MinimumExpanding,
QSizePolicy::Preferred);
auto certificateAliasLabel = new QLabel(Tr::tr("Certificate alias:"), signPackageGroup); m_certificatesAliasComboBox = new QComboBox;
certificateAliasLabel->setAlignment(Qt::AlignRight|Qt::AlignVCenter);
m_certificatesAliasComboBox = new QComboBox(signPackageGroup);
m_certificatesAliasComboBox->setEnabled(false); m_certificatesAliasComboBox->setEnabled(false);
m_certificatesAliasComboBox->setSizeAdjustPolicy(QComboBox::AdjustToContents); m_certificatesAliasComboBox->setSizeAdjustPolicy(QComboBox::AdjustToContents);
using namespace Layouting; using namespace Layouting;
Column { Group signPackageGroup {
Row { keystoreLocationLabel, keystoreLocationChooser, keystoreCreateButton }, title(Tr::tr("Application Signature")),
m_signPackageCheckBox, Form {
Row { m_signingDebugWarningLabel, certificateAliasLabel, m_certificatesAliasComboBox } Tr::tr("Keystore:"), keystoreLocationChooser, keystoreCreateButton, br,
}.attachTo(signPackageGroup); m_signPackageCheckBox, br,
Tr::tr("Certificate alias:"), m_certificatesAliasComboBox,
m_signingDebugWarningLabel, st, br,
}
};
connect(m_signPackageCheckBox, &QAbstractButton::toggled, connect(m_signPackageCheckBox, &QAbstractButton::toggled,
this, &AndroidBuildApkWidget::signPackageCheckBoxToggled); this, &AndroidBuildApkWidget::signPackageCheckBoxToggled);
@@ -207,8 +205,6 @@ AndroidBuildApkWidget::AndroidBuildApkWidget(AndroidBuildApkStep *step)
filteredSdkPlatforms(minApiSupported)); filteredSdkPlatforms(minApiSupported));
targets.removeDuplicates(); targets.removeDuplicates();
auto applicationGroup = new QGroupBox(Tr::tr("Application"), this);
auto targetSDKComboBox = new QComboBox(); auto targetSDKComboBox = new QComboBox();
targetSDKComboBox->addItems(targets); targetSDKComboBox->addItems(targets);
targetSDKComboBox->setCurrentIndex(targets.indexOf(m_step->buildTargetSdk())); targetSDKComboBox->setCurrentIndex(targets.indexOf(m_step->buildTargetSdk()));
@@ -238,9 +234,6 @@ AndroidBuildApkWidget::AndroidBuildApkWidget(AndroidBuildApkStep *step)
: buildToolsVersions.indexOf(m_step->buildToolsVersion()); : buildToolsVersions.indexOf(m_step->buildToolsVersion());
buildToolsSdkComboBox->setCurrentIndex(initIdx); buildToolsSdkComboBox->setCurrentIndex(initIdx);
auto formLayout = new QFormLayout(applicationGroup);
formLayout->addRow(Tr::tr("Android build-tools version:"), buildToolsSdkComboBox);
formLayout->addRow(Tr::tr("Android build platform SDK:"), targetSDKComboBox);
auto createAndroidTemplatesButton = new QPushButton(Tr::tr("Create Templates")); auto createAndroidTemplatesButton = new QPushButton(Tr::tr("Create Templates"));
createAndroidTemplatesButton->setToolTip( createAndroidTemplatesButton->setToolTip(
@@ -250,13 +243,19 @@ AndroidBuildApkWidget::AndroidBuildApkWidget(AndroidBuildApkStep *step)
wizard.exec(); wizard.exec();
}); });
formLayout->addRow(Tr::tr("Android customization:"), createAndroidTemplatesButton); Group applicationGroup {
title(Tr::tr("Application")),
Form {
Tr::tr("Android build-tools version:"), buildToolsSdkComboBox, br,
Tr::tr("Android build platform SDK:"), targetSDKComboBox, br,
Tr::tr("Android customization:"), createAndroidTemplatesButton,
}
};
// Advanced Actions group // Advanced Actions group
auto advancedGroup = new QGroupBox(Tr::tr("Advanced Actions"), this); m_addDebuggerCheckBox = new QCheckBox(Tr::tr("Add debug server"));
m_addDebuggerCheckBox = new QCheckBox(Tr::tr("Add debug server"), advancedGroup);
m_addDebuggerCheckBox->setEnabled(false); m_addDebuggerCheckBox->setEnabled(false);
m_addDebuggerCheckBox->setToolTip(Tr::tr("Packages debug server with " m_addDebuggerCheckBox->setToolTip(Tr::tr("Packages debug server with "
"the APK to enable debugging. For the signed APK this option is unchecked by default.")); "the APK to enable debugging. For the signed APK this option is unchecked by default."));
@@ -264,12 +263,15 @@ AndroidBuildApkWidget::AndroidBuildApkWidget(AndroidBuildApkStep *step)
connect(m_addDebuggerCheckBox, &QAbstractButton::toggled, connect(m_addDebuggerCheckBox, &QAbstractButton::toggled,
m_step, &AndroidBuildApkStep::setAddDebugger); m_step, &AndroidBuildApkStep::setAddDebugger);
Layouting::Column { Group advancedGroup {
title(Tr::tr("Advanced Actions")),
Column {
m_step->buildAAB, m_step->buildAAB,
m_step->openPackageLocation, m_step->openPackageLocation,
m_step->verboseOutput, m_step->verboseOutput,
m_addDebuggerCheckBox m_addDebuggerCheckBox
}.attachTo(advancedGroup); }
};
// Additional Libraries group // Additional Libraries group