forked from qt-creator/qt-creator
Android: Use a bit more LayoutBuilder in AndroidApkBuildStep
Change-Id: Ic783a528c56849d02f828013683ed58d9fd575be Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
This commit is contained in:
@@ -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 {
|
||||||
m_step->buildAAB,
|
title(Tr::tr("Advanced Actions")),
|
||||||
m_step->openPackageLocation,
|
Column {
|
||||||
m_step->verboseOutput,
|
m_step->buildAAB,
|
||||||
m_addDebuggerCheckBox
|
m_step->openPackageLocation,
|
||||||
}.attachTo(advancedGroup);
|
m_step->verboseOutput,
|
||||||
|
m_addDebuggerCheckBox
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
// Additional Libraries group
|
// Additional Libraries group
|
||||||
|
Reference in New Issue
Block a user