Android: More FilePath use in CreateAndroidManifestWizard

Change-Id: I9e54d4534f4df99c972096e749c30f37e578158f
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
This commit is contained in:
hjk
2021-08-10 19:16:26 +02:00
parent 52e5023bcc
commit 68313a1e27
4 changed files with 20 additions and 19 deletions

View File

@@ -270,7 +270,11 @@ PathChooser::PathChooser(QWidget *parent) :
[this] { emit rawPathChanged(rawPath()); }); [this] { emit rawPathChanged(rawPath()); });
connect(d->m_lineEdit, &FancyLineEdit::validChanged, this, &PathChooser::validChanged); connect(d->m_lineEdit, &FancyLineEdit::validChanged, this, &PathChooser::validChanged);
connect(d->m_lineEdit, &QLineEdit::editingFinished, this, &PathChooser::editingFinished); 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_lineEdit->setMinimumWidth(120);
d->m_hLayout->addWidget(d->m_lineEdit); d->m_hLayout->addWidget(d->m_lineEdit);

View File

@@ -167,6 +167,7 @@ signals:
void validChanged(bool validState); void validChanged(bool validState);
void rawPathChanged(const QString &text); void rawPathChanged(const QString &text);
void pathChanged(const QString &path); void pathChanged(const QString &path);
void filePathChanged(const FilePath &path);
void editingFinished(); void editingFinished();
void beforeBrowsing(); void beforeBrowsing();
void browsingFinished(); void browsingFinished();

View File

@@ -177,7 +177,7 @@ ChooseDirectoryPage::ChooseDirectoryPage(CreateAndroidManifestWizard *wizard)
m_sourceDirectoryWarning->setWordWrap(true); m_sourceDirectoryWarning->setWordWrap(true);
m_layout->addRow(m_sourceDirectoryWarning); m_layout->addRow(m_sourceDirectoryWarning);
connect(m_androidPackageSourceDir, &PathChooser::pathChanged, connect(m_androidPackageSourceDir, &PathChooser::filePathChanged,
m_wizard, &CreateAndroidManifestWizard::setDirectory); m_wizard, &CreateAndroidManifestWizard::setDirectory);
if (wizard->copyGradle()) { 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; m_buildKey = buildKey;
} }
void CreateAndroidManifestWizard::setDirectory(const QString &directory) void CreateAndroidManifestWizard::setDirectory(const FilePath &directory)
{ {
m_directory = directory; m_directory = directory;
} }
@@ -302,25 +302,21 @@ void CreateAndroidManifestWizard::createAndroidTemplateFiles()
if (!version) if (!version)
return; return;
if (version->qtVersion() < QtSupport::QtVersionNumber(5, 4, 0)) { if (version->qtVersion() < QtSupport::QtVersionNumber(5, 4, 0)) {
const QString src = version->prefix().toString() + "/src/android/java/AndroidManifest.xml"; FileUtils::copyRecursively(version->prefix() / "src/android/java/AndroidManifest.xml",
FileUtils::copyRecursively(FilePath::fromString(src), m_directory / "AndroidManifest.xml",
FilePath::fromString(m_directory
+ QLatin1String("/AndroidManifest.xml")),
nullptr, nullptr,
copy); copy);
} else { } else {
const QString src = version->prefix().toString() + "/src/android/templates"; FileUtils::copyRecursively(version->prefix() / "src/android/templates",
m_directory,
FileUtils::copyRecursively(FilePath::fromString(src),
FilePath::fromString(m_directory),
nullptr, nullptr,
copy); copy);
if (m_copyGradle) { if (m_copyGradle) {
FilePath gradlePath = version->prefix().pathAppended("src/3rdparty/gradle"); FilePath gradlePath = version->prefix() / "src/3rdparty/gradle";
if (!gradlePath.exists()) if (!gradlePath.exists())
gradlePath = AndroidConfigurations::currentConfig().sdkLocation().pathAppended("/tools/templates/gradle/wrapper"); gradlePath = AndroidConfigurations::currentConfig().sdkLocation() / "/tools/templates/gradle/wrapper";
FileUtils::copyRecursively(gradlePath, FilePath::fromString(m_directory), nullptr, copy); FileUtils::copyRecursively(gradlePath, m_directory, nullptr, copy);
} }
AndroidManager::updateGradleProperties(target, m_buildKey); AndroidManager::updateGradleProperties(target, m_buildKey);
@@ -338,7 +334,7 @@ void CreateAndroidManifestWizard::createAndroidTemplateFiles()
const BuildTargetInfo bti = target->buildTarget(m_buildKey); const BuildTargetInfo bti = target->buildTarget(m_buildKey);
const QString value = "$$PWD/" const QString value = "$$PWD/"
+ bti.projectFilePath.toFileInfo().absoluteDir().relativeFilePath( + bti.projectFilePath.toFileInfo().absoluteDir().relativeFilePath(
m_directory); m_directory.toString());
bool result = node->setData(Android::Constants::AndroidPackageSourceDir, value); bool result = node->setData(Android::Constants::AndroidPackageSourceDir, value);
if (!result) { 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 BuildSystem *CreateAndroidManifestWizard::buildSystem() const

View File

@@ -48,7 +48,7 @@ public:
void accept(); void accept();
bool copyGradle(); bool copyGradle();
void setDirectory(const QString &directory); void setDirectory(const Utils::FilePath &directory);
void setCopyGradle(bool copy); void setCopyGradle(bool copy);
ProjectExplorer::BuildSystem *buildSystem() const; ProjectExplorer::BuildSystem *buildSystem() const;
@@ -58,7 +58,7 @@ private:
void createAndroidTemplateFiles(); void createAndroidTemplateFiles();
ProjectExplorer::BuildSystem *m_buildSystem; ProjectExplorer::BuildSystem *m_buildSystem;
QString m_buildKey; QString m_buildKey;
QString m_directory; Utils::FilePath m_directory;
bool m_copyGradle; bool m_copyGradle;
}; };