From 41d3f0f2f25fb611c10e71e5134517e5939b73ff Mon Sep 17 00:00:00 2001 From: Daniel Teske Date: Tue, 18 Mar 2014 15:55:22 +0100 Subject: [PATCH] AndroidSettingsDialog: Warn the user that spaces in the ndk path are bad Task-number: QTCREATORBUG-11629 Change-Id: I576940fa5ac3fd47376cf3fc700689e1046387b0 Reviewed-by: Alessandro Portale --- src/plugins/android/androidsettingswidget.cpp | 8 ++++++-- src/plugins/android/androidsettingswidget.h | 1 + 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/src/plugins/android/androidsettingswidget.cpp b/src/plugins/android/androidsettingswidget.cpp index d6d366d17aa..cd7529a5130 100644 --- a/src/plugins/android/androidsettingswidget.cpp +++ b/src/plugins/android/androidsettingswidget.cpp @@ -172,6 +172,11 @@ void AndroidSettingsWidget::check(AndroidSettingsWidget::Mode mode) || !toolChainPath.appendPath(QLatin1String("toolchains")).toFileInfo().exists() || !sourcesPath.appendPath(QLatin1String("sources/cxx-stl")).toFileInfo().exists()) { m_ndkState = Error; + m_ndkErrorMessage = tr("\"%1\" does not seem to be an Android NDK top folder.") + .arg(m_androidConfig.ndkLocation().toUserOutput()); + } else if (platformPath.toString().contains(QLatin1String(" "))) { + m_ndkState = Error; + m_ndkErrorMessage = tr("The Android NDK cannot be installed into a path with spaces."); } else { QList compilerPaths = AndroidToolChainFactory::toolchainPathsForNdk(m_androidConfig.ndkLocation()); @@ -242,14 +247,13 @@ void AndroidSettingsWidget::applyToUi(AndroidSettingsWidget::Mode mode) } if (mode & Ndk) { - Utils::FileName location = Utils::FileName::fromUserInput(m_ui->NDKLocationLineEdit->text()); if (m_ndkState == NotSet) { m_ui->ndkWarningIconLabel->setVisible(false); m_ui->toolchainFoundLabel->setVisible(false); m_ui->kitWarningIconLabel->setVisible(false); m_ui->kitWarningLabel->setVisible(false); } else if (m_ndkState == Error) { - m_ui->toolchainFoundLabel->setText(tr("\"%1\" does not seem to be an Android NDK top folder.").arg(location.toUserOutput())); + m_ui->toolchainFoundLabel->setText(m_ndkErrorMessage); m_ui->toolchainFoundLabel->setVisible(true); m_ui->ndkWarningIconLabel->setVisible(true); m_ui->kitWarningIconLabel->setVisible(false); diff --git a/src/plugins/android/androidsettingswidget.h b/src/plugins/android/androidsettingswidget.h index 5e6fb1238d1..03aa1ef6545 100644 --- a/src/plugins/android/androidsettingswidget.h +++ b/src/plugins/android/androidsettingswidget.h @@ -103,6 +103,7 @@ private: State m_sdkState; State m_ndkState; + QString m_ndkErrorMessage; int m_ndkCompilerCount; QString m_ndkMissingQtArchs; State m_javaState;