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()); });
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);

View File

@@ -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();

View File

@@ -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

View File

@@ -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;
};