From 68313a1e27d2247889f731ea2f10a06c608c8e10 Mon Sep 17 00:00:00 2001 From: hjk Date: Tue, 10 Aug 2021 19:16:26 +0200 Subject: [PATCH] Android: More FilePath use in CreateAndroidManifestWizard Change-Id: I9e54d4534f4df99c972096e749c30f37e578158f Reviewed-by: Christian Stenger --- src/libs/utils/pathchooser.cpp | 6 +++- src/libs/utils/pathchooser.h | 1 + .../android/createandroidmanifestwizard.cpp | 28 ++++++++----------- .../android/createandroidmanifestwizard.h | 4 +-- 4 files changed, 20 insertions(+), 19 deletions(-) diff --git a/src/libs/utils/pathchooser.cpp b/src/libs/utils/pathchooser.cpp index e2dadc4c059..432ec2b1ac6 100644 --- a/src/libs/utils/pathchooser.cpp +++ b/src/libs/utils/pathchooser.cpp @@ -270,7 +270,11 @@ PathChooser::PathChooser(QWidget *parent) : [this] { emit rawPathChanged(rawPath()); }); connect(d->m_lineEdit, &FancyLineEdit::validChanged, this, &PathChooser::validChanged); connect(d->m_lineEdit, &QLineEdit::editingFinished, this, &PathChooser::editingFinished); - connect(d->m_lineEdit, &QLineEdit::textChanged, this, [this] { emit pathChanged(d->m_lineEdit->text()); }); + connect(d->m_lineEdit, &QLineEdit::textChanged, this, [this] { + const QString text = d->m_lineEdit->text(); + emit pathChanged(text); + emit filePathChanged(FilePath::fromString(text)); + }); d->m_lineEdit->setMinimumWidth(120); d->m_hLayout->addWidget(d->m_lineEdit); diff --git a/src/libs/utils/pathchooser.h b/src/libs/utils/pathchooser.h index 44346cf4d05..2a0329f4a1d 100644 --- a/src/libs/utils/pathchooser.h +++ b/src/libs/utils/pathchooser.h @@ -167,6 +167,7 @@ signals: void validChanged(bool validState); void rawPathChanged(const QString &text); void pathChanged(const QString &path); + void filePathChanged(const FilePath &path); void editingFinished(); void beforeBrowsing(); void browsingFinished(); diff --git a/src/plugins/android/createandroidmanifestwizard.cpp b/src/plugins/android/createandroidmanifestwizard.cpp index 54e77173406..a7a23101346 100644 --- a/src/plugins/android/createandroidmanifestwizard.cpp +++ b/src/plugins/android/createandroidmanifestwizard.cpp @@ -177,7 +177,7 @@ ChooseDirectoryPage::ChooseDirectoryPage(CreateAndroidManifestWizard *wizard) m_sourceDirectoryWarning->setWordWrap(true); m_layout->addRow(m_sourceDirectoryWarning); - connect(m_androidPackageSourceDir, &PathChooser::pathChanged, + connect(m_androidPackageSourceDir, &PathChooser::filePathChanged, m_wizard, &CreateAndroidManifestWizard::setDirectory); if (wizard->copyGradle()) { @@ -239,7 +239,7 @@ void ChooseDirectoryPage::initializePage() } - m_wizard->setDirectory(m_androidPackageSourceDir->filePath().toString()); + m_wizard->setDirectory(m_androidPackageSourceDir->filePath()); } // @@ -276,7 +276,7 @@ void CreateAndroidManifestWizard::setBuildKey(const QString &buildKey) m_buildKey = buildKey; } -void CreateAndroidManifestWizard::setDirectory(const QString &directory) +void CreateAndroidManifestWizard::setDirectory(const FilePath &directory) { m_directory = directory; } @@ -302,25 +302,21 @@ void CreateAndroidManifestWizard::createAndroidTemplateFiles() if (!version) return; if (version->qtVersion() < QtSupport::QtVersionNumber(5, 4, 0)) { - const QString src = version->prefix().toString() + "/src/android/java/AndroidManifest.xml"; - FileUtils::copyRecursively(FilePath::fromString(src), - FilePath::fromString(m_directory - + QLatin1String("/AndroidManifest.xml")), + FileUtils::copyRecursively(version->prefix() / "src/android/java/AndroidManifest.xml", + m_directory / "AndroidManifest.xml", nullptr, copy); } else { - const QString src = version->prefix().toString() + "/src/android/templates"; - - FileUtils::copyRecursively(FilePath::fromString(src), - FilePath::fromString(m_directory), + FileUtils::copyRecursively(version->prefix() / "src/android/templates", + m_directory, nullptr, copy); if (m_copyGradle) { - FilePath gradlePath = version->prefix().pathAppended("src/3rdparty/gradle"); + FilePath gradlePath = version->prefix() / "src/3rdparty/gradle"; if (!gradlePath.exists()) - gradlePath = AndroidConfigurations::currentConfig().sdkLocation().pathAppended("/tools/templates/gradle/wrapper"); - FileUtils::copyRecursively(gradlePath, FilePath::fromString(m_directory), nullptr, copy); + gradlePath = AndroidConfigurations::currentConfig().sdkLocation() / "/tools/templates/gradle/wrapper"; + FileUtils::copyRecursively(gradlePath, m_directory, nullptr, copy); } AndroidManager::updateGradleProperties(target, m_buildKey); @@ -338,7 +334,7 @@ void CreateAndroidManifestWizard::createAndroidTemplateFiles() const BuildTargetInfo bti = target->buildTarget(m_buildKey); const QString value = "$$PWD/" + bti.projectFilePath.toFileInfo().absoluteDir().relativeFilePath( - m_directory); + m_directory.toString()); bool result = node->setData(Android::Constants::AndroidPackageSourceDir, value); if (!result) { @@ -349,7 +345,7 @@ void CreateAndroidManifestWizard::createAndroidTemplateFiles() } } } - Core::EditorManager::openEditor(m_directory + QLatin1String("/AndroidManifest.xml")); + Core::EditorManager::openEditor(m_directory / "AndroidManifest.xml"); } BuildSystem *CreateAndroidManifestWizard::buildSystem() const diff --git a/src/plugins/android/createandroidmanifestwizard.h b/src/plugins/android/createandroidmanifestwizard.h index 694e4b8cb78..c0757a9a60a 100644 --- a/src/plugins/android/createandroidmanifestwizard.h +++ b/src/plugins/android/createandroidmanifestwizard.h @@ -48,7 +48,7 @@ public: void accept(); bool copyGradle(); - void setDirectory(const QString &directory); + void setDirectory(const Utils::FilePath &directory); void setCopyGradle(bool copy); ProjectExplorer::BuildSystem *buildSystem() const; @@ -58,7 +58,7 @@ private: void createAndroidTemplateFiles(); ProjectExplorer::BuildSystem *m_buildSystem; QString m_buildKey; - QString m_directory; + Utils::FilePath m_directory; bool m_copyGradle; };