forked from qt-creator/qt-creator
Android: Merge Java settings into Android settings
... to save some space. Change-Id: I68d7cae1b007eff0624f2c0993e191c64fb415fc Reviewed-by: Alessandro Portale <alessandro.portale@qt.io> Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io> Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
This commit is contained in:
@@ -115,23 +115,17 @@ private:
|
||||
bool m_isInitialReloadDone = false;
|
||||
|
||||
SummaryWidget *m_androidSummary = nullptr;
|
||||
SummaryWidget *m_javaSummary = nullptr;
|
||||
SummaryWidget *m_openSslSummary = nullptr;
|
||||
};
|
||||
|
||||
enum JavaValidation {
|
||||
JavaPathExistsRow,
|
||||
JavaJdkValidRow
|
||||
};
|
||||
|
||||
enum AndroidValidation {
|
||||
SdkPathExistsRow,
|
||||
SdkPathWritableRow,
|
||||
JavaPathExistsAndWritableRow,
|
||||
SdkPathExistsAndWritableRow,
|
||||
SdkToolsInstalledRow,
|
||||
PlatformToolsInstalledRow,
|
||||
BuildToolsInstalledRow,
|
||||
SdkManagerSuccessfulRow,
|
||||
PlatformSdkInstalledRow,
|
||||
BuildToolsInstalledRow,
|
||||
AllEssentialsInstalledRow,
|
||||
};
|
||||
|
||||
@@ -288,14 +282,12 @@ AndroidSettingsWidget::AndroidSettingsWidget()
|
||||
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.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.javaSettingsGroupBox->setEnabled(true);
|
||||
m_ui.androidSettingsGroupBox->setEnabled(true);
|
||||
m_ui.androidOpenSSLSettingsGroupBox->setEnabled(true);
|
||||
m_ui.CreateKitCheckBox->setEnabled(true);
|
||||
@@ -312,15 +304,10 @@ AndroidSettingsWidget::AndroidSettingsWidget()
|
||||
};
|
||||
});
|
||||
|
||||
QMap<int, QString> javaValidationPoints;
|
||||
javaValidationPoints[JavaPathExistsRow] = tr("JDK path exists.");
|
||||
javaValidationPoints[JavaJdkValidRow] = tr("JDK path is a valid JDK root folder.");
|
||||
m_javaSummary = new SummaryWidget(javaValidationPoints, tr("Java Settings are OK."),
|
||||
tr("Java settings have errors."), m_ui.javaDetailsWidget);
|
||||
|
||||
QMap<int, QString> androidValidationPoints;
|
||||
androidValidationPoints[SdkPathExistsRow] = tr("Android SDK path exists.");
|
||||
androidValidationPoints[SdkPathWritableRow] = tr("Android SDK path writable.");
|
||||
androidValidationPoints[SdkPathExistsAndWritableRow] =
|
||||
tr("Android SDK path exists and is writable.");
|
||||
androidValidationPoints[JavaPathExistsAndWritableRow] = tr("JDK path exists and is writable.");
|
||||
androidValidationPoints[SdkToolsInstalledRow] = tr("SDK tools installed.");
|
||||
androidValidationPoints[PlatformToolsInstalledRow] = tr("Platform tools installed.");
|
||||
androidValidationPoints[SdkManagerSuccessfulRow] = tr(
|
||||
@@ -443,10 +430,9 @@ void AndroidSettingsWidget::validateJdk()
|
||||
{
|
||||
m_androidConfig.setOpenJDKLocation(m_ui.OpenJDKLocationPathChooser->filePath());
|
||||
bool jdkPathExists = m_androidConfig.openJDKLocation().exists();
|
||||
m_javaSummary->setPointValid(JavaPathExistsRow, jdkPathExists);
|
||||
|
||||
const FilePath bin = m_androidConfig.openJDKLocation().pathAppended("bin/javac" QTC_HOST_EXE_SUFFIX);
|
||||
m_javaSummary->setPointValid(JavaJdkValidRow, jdkPathExists && bin.exists());
|
||||
const FilePath bin = m_androidConfig.openJDKLocation()
|
||||
.pathAppended("bin/javac" QTC_HOST_EXE_SUFFIX);
|
||||
m_androidSummary->setPointValid(JavaPathExistsAndWritableRow, jdkPathExists && bin.exists());
|
||||
|
||||
updateUI();
|
||||
|
||||
@@ -486,8 +472,9 @@ void AndroidSettingsWidget::validateSdk()
|
||||
const FilePath sdkPath = m_ui.SDKLocationPathChooser->filePath().cleanPath();
|
||||
m_androidConfig.setSdkLocation(sdkPath);
|
||||
|
||||
m_androidSummary->setPointValid(SdkPathExistsRow, m_androidConfig.sdkLocation().exists());
|
||||
m_androidSummary->setPointValid(SdkPathWritableRow, m_androidConfig.sdkLocation().isWritableDir());
|
||||
const FilePath path = m_androidConfig.sdkLocation();
|
||||
m_androidSummary->setPointValid(SdkPathExistsAndWritableRow,
|
||||
path.exists() && path.isWritableDir());
|
||||
m_androidSummary->setPointValid(SdkToolsInstalledRow,
|
||||
!m_androidConfig.sdkToolsVersion().isNull());
|
||||
m_androidSummary->setPointValid(PlatformToolsInstalledRow,
|
||||
@@ -502,8 +489,7 @@ void AndroidSettingsWidget::validateSdk()
|
||||
m_androidSummary->setPointValid(AllEssentialsInstalledRow,
|
||||
m_androidConfig.allEssentialsInstalled(&m_sdkManager));
|
||||
|
||||
const bool sdkToolsOk = m_androidSummary->rowsOk({SdkPathExistsRow,
|
||||
SdkPathWritableRow,
|
||||
const bool sdkToolsOk = m_androidSummary->rowsOk({SdkPathExistsAndWritableRow,
|
||||
SdkToolsInstalledRow,
|
||||
SdkManagerSuccessfulRow});
|
||||
const bool componentsOk = m_androidSummary->rowsOk({PlatformToolsInstalledRow,
|
||||
@@ -635,8 +621,7 @@ void AndroidSettingsWidget::createKitToggled()
|
||||
|
||||
void AndroidSettingsWidget::updateUI()
|
||||
{
|
||||
const bool javaSetupOk = m_javaSummary->allRowsOk();
|
||||
const bool sdkToolsOk = m_androidSummary->rowsOk({SdkPathExistsRow, SdkPathWritableRow, SdkToolsInstalledRow});
|
||||
const bool sdkToolsOk = m_androidSummary->rowsOk({SdkPathExistsAndWritableRow, SdkToolsInstalledRow});
|
||||
const bool androidSetupOk = m_androidSummary->allRowsOk();
|
||||
const bool openSslOk = m_openSslSummary->allRowsOk();
|
||||
|
||||
@@ -649,7 +634,6 @@ void AndroidSettingsWidget::updateUI()
|
||||
.arg(currentNdk.isEmpty() ? "" : m_androidConfig.ndkVersion(currentNdk).toString());
|
||||
m_androidSummary->setInfoText(androidSetupOk ? infoText : "");
|
||||
|
||||
m_javaSummary->setSetupOk(javaSetupOk);
|
||||
m_androidSummary->setSetupOk(androidSetupOk);
|
||||
m_openSslSummary->setSetupOk(openSslOk);
|
||||
}
|
||||
@@ -668,7 +652,7 @@ void AndroidSettingsWidget::downloadSdk()
|
||||
auto userInput = QMessageBox::information(this, AndroidSdkDownloader::dialogTitle(),
|
||||
message, QMessageBox::Yes | QMessageBox::No);
|
||||
if (userInput == QMessageBox::Yes) {
|
||||
if (m_javaSummary->allRowsOk()) {
|
||||
if (m_androidSummary->rowsOk({JavaPathExistsAndWritableRow})) {
|
||||
auto javaPath = m_ui.OpenJDKLocationPathChooser->filePath();
|
||||
m_sdkDownloader.downloadAndExtractSdk(
|
||||
javaPath,
|
||||
|
@@ -6,94 +6,24 @@
|
||||
<string>Android Configuration</string>
|
||||
</property>
|
||||
<layout class="QVBoxLayout" name="verticalLayout">
|
||||
<item>
|
||||
<widget class="QGroupBox" name="javaSettingsGroupBox">
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>0</width>
|
||||
<height>0</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="title">
|
||||
<string>Java Settings</string>
|
||||
</property>
|
||||
<layout class="QGridLayout" name="gridLayout">
|
||||
<item row="0" column="1">
|
||||
<widget class="Utils::PathChooser" name="OpenJDKLocationPathChooser" native="true">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Expanding" vsizetype="Preferred">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="2">
|
||||
<widget class="QToolButton" name="downloadOpenJDKToolButton">
|
||||
<property name="toolTip">
|
||||
<string>Open JDK download URL in the system's browser.</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="0">
|
||||
<widget class="QLabel" name="OpenJDKLocationLabel">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Preferred" vsizetype="Preferred">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>JDK location:</string>
|
||||
</property>
|
||||
<property name="alignment">
|
||||
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="0" colspan="3">
|
||||
<widget class="Utils::DetailsWidget" name="javaDetailsWidget" native="true">
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>0</width>
|
||||
<height>0</height>
|
||||
</size>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QGroupBox" name="androidSettingsGroupBox">
|
||||
<property name="title">
|
||||
<string>Android Settings</string>
|
||||
</property>
|
||||
<layout class="QGridLayout" name="gridLayout_3">
|
||||
<item row="2" column="1" rowspan="3">
|
||||
<widget class="QListWidget" name="ndkListWidget">
|
||||
<property name="sizeAdjustPolicy">
|
||||
<enum>QAbstractScrollArea::AdjustToContents</enum>
|
||||
</property>
|
||||
<property name="iconSize">
|
||||
<size>
|
||||
<width>16</width>
|
||||
<height>16</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="resizeMode">
|
||||
<enum>QListView::Adjust</enum>
|
||||
</property>
|
||||
<property name="modelColumn">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<property name="sortingEnabled">
|
||||
<bool>false</bool>
|
||||
<item row="1" column="1">
|
||||
<widget class="Utils::PathChooser" name="SDKLocationPathChooser" native="true"/>
|
||||
</item>
|
||||
<item row="1" column="6">
|
||||
<widget class="QToolButton" name="downloadSDKToolButton">
|
||||
<property name="toolTip">
|
||||
<string>Open Android SDK download URL in the system's browser.</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="2" column="2" rowspan="3" colspan="4">
|
||||
<layout class="QVBoxLayout" name="verticalLayout_3">
|
||||
<item row="3" column="2" rowspan="3" colspan="4">
|
||||
<layout class="QVBoxLayout" name="ndkListControlsLayout">
|
||||
<item>
|
||||
<widget class="QPushButton" name="addCustomNdkButton">
|
||||
<property name="enabled">
|
||||
@@ -133,7 +63,7 @@
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<spacer name="verticalSpacer_3">
|
||||
<spacer name="ndkListControlsSpacer">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Vertical</enum>
|
||||
</property>
|
||||
@@ -147,24 +77,65 @@
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
<item row="5" column="0" colspan="7">
|
||||
<item row="6" column="0" colspan="7">
|
||||
<widget class="Utils::DetailsWidget" name="androidDetailsWidget" native="true"/>
|
||||
</item>
|
||||
<item row="2" column="0">
|
||||
<widget class="QLabel" name="ndkComboBoxLabel">
|
||||
<property name="text">
|
||||
<string>Android NDK list:</string>
|
||||
<item row="3" column="1" rowspan="3">
|
||||
<widget class="QListWidget" name="ndkListWidget">
|
||||
<property name="sizeAdjustPolicy">
|
||||
<enum>QAbstractScrollArea::AdjustToContents</enum>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="6">
|
||||
<widget class="QToolButton" name="downloadSDKToolButton">
|
||||
<property name="toolTip">
|
||||
<string>Open Android SDK download URL in the system's browser.</string>
|
||||
<property name="iconSize">
|
||||
<size>
|
||||
<width>16</width>
|
||||
<height>16</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="resizeMode">
|
||||
<enum>QListView::Adjust</enum>
|
||||
</property>
|
||||
<property name="modelColumn">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<property name="sortingEnabled">
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="0">
|
||||
<widget class="QLabel" name="OpenJDKLocationLabel">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Fixed" vsizetype="Preferred">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>JDK location:</string>
|
||||
</property>
|
||||
<property name="alignment">
|
||||
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="1">
|
||||
<widget class="Utils::PathChooser" name="OpenJDKLocationPathChooser" native="true">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Expanding" vsizetype="Preferred">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="6">
|
||||
<widget class="QToolButton" name="downloadOpenJDKToolButton">
|
||||
<property name="toolTip">
|
||||
<string>Open JDK download URL in the system's browser.</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="0">
|
||||
<widget class="QLabel" name="SDKLocationLabel">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Fixed" vsizetype="Preferred">
|
||||
@@ -180,7 +151,21 @@
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="2" column="6">
|
||||
<item row="1" column="2" colspan="4">
|
||||
<widget class="QPushButton" name="sdkToolsAutoDownloadButton">
|
||||
<property name="text">
|
||||
<string>Set Up SDK</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="3" column="0">
|
||||
<widget class="QLabel" name="ndkComboBoxLabel">
|
||||
<property name="text">
|
||||
<string>Android NDK list:</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="3" column="6">
|
||||
<widget class="QToolButton" name="downloadNDKToolButton">
|
||||
<property name="toolTip">
|
||||
<string>Open Android NDK download URL in the system's browser.</string>
|
||||
@@ -190,16 +175,6 @@
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="1">
|
||||
<widget class="Utils::PathChooser" name="SDKLocationPathChooser" native="true"/>
|
||||
</item>
|
||||
<item row="0" column="2" colspan="4">
|
||||
<widget class="QPushButton" name="sdkToolsAutoDownloadButton">
|
||||
<property name="text">
|
||||
<string>Set Up SDK</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
</item>
|
||||
|
Reference in New Issue
Block a user