aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJarek Kobus <[email protected]>2024-11-12 16:16:09 +0100
committerJarek Kobus <[email protected]>2024-11-12 16:40:52 +0000
commita42fad9a8bff50d118b11539c55a402f58667d37 (patch)
treef18b28201afb737be22e02357edc04385008c653
parentc45684db94f35e6b50766d01ed9cb20746423234 (diff)
Android: Hide CreateAndroidManifestWizard in cpp
Rename it to manifestwizard.h. Provide executeManifestWizard() global function. Change-Id: Ibe27d7b1fdb346dc10c04d0e0476d719091f5bb3 Reviewed-by: hjk <[email protected]>
-rw-r--r--src/plugins/android/CMakeLists.txt2
-rw-r--r--src/plugins/android/android.qbs4
-rw-r--r--src/plugins/android/androidbuildapkstep.cpp5
-rw-r--r--src/plugins/android/createandroidmanifestwizard.h39
-rw-r--r--src/plugins/android/manifestwizard.cpp (renamed from src/plugins/android/createandroidmanifestwizard.cpp)108
-rw-r--r--src/plugins/android/manifestwizard.h12
6 files changed, 55 insertions, 115 deletions
diff --git a/src/plugins/android/CMakeLists.txt b/src/plugins/android/CMakeLists.txt
index 97cb5e50729..68fe8ea2504 100644
--- a/src/plugins/android/CMakeLists.txt
+++ b/src/plugins/android/CMakeLists.txt
@@ -33,11 +33,11 @@ add_qtc_plugin(Android
androidutils.cpp androidutils.h
avddialog.cpp avddialog.h
avdmanageroutputparser.cpp avdmanageroutputparser.h
- createandroidmanifestwizard.cpp createandroidmanifestwizard.h
javaeditor.cpp javaeditor.h
javaindenter.cpp javaindenter.h
javalanguageserver.cpp javalanguageserver.h
javaparser.cpp javaparser.h
+ manifestwizard.cpp manifestwizard.h
splashscreencontainerwidget.cpp splashscreencontainerwidget.h
sdkmanageroutputparser.cpp sdkmanageroutputparser.h
)
diff --git a/src/plugins/android/android.qbs b/src/plugins/android/android.qbs
index 96be929f86f..5382ef596c0 100644
--- a/src/plugins/android/android.qbs
+++ b/src/plugins/android/android.qbs
@@ -69,8 +69,6 @@ QtcPlugin {
"avddialog.h",
"avdmanageroutputparser.cpp",
"avdmanageroutputparser.h",
- "createandroidmanifestwizard.h",
- "createandroidmanifestwizard.cpp",
"javaeditor.cpp",
"javaeditor.h",
"javaindenter.cpp",
@@ -79,6 +77,8 @@ QtcPlugin {
"javalanguageserver.h",
"javaparser.cpp",
"javaparser.h",
+ "manifestwizard.h",
+ "manifestwizard.cpp",
"splashscreencontainerwidget.cpp",
"splashscreencontainerwidget.h",
"sdkmanageroutputparser.cpp",
diff --git a/src/plugins/android/androidbuildapkstep.cpp b/src/plugins/android/androidbuildapkstep.cpp
index 2421bd76a54..4cb750cbdc2 100644
--- a/src/plugins/android/androidbuildapkstep.cpp
+++ b/src/plugins/android/androidbuildapkstep.cpp
@@ -10,7 +10,7 @@
#include "androidsdkmanager.h"
#include "androidtr.h"
#include "androidutils.h"
-#include "createandroidmanifestwizard.h"
+#include "manifestwizard.h"
#include "javaparser.h"
#include <coreplugin/fileutils.h>
@@ -442,8 +442,7 @@ AndroidBuildApkWidget::AndroidBuildApkWidget(AndroidBuildApkStep *step)
createAndroidTemplatesButton->setToolTip(
Tr::tr("Create an Android package for Custom Java code, assets, and Gradle configurations."));
connect(createAndroidTemplatesButton, &QAbstractButton::clicked, this, [this] {
- CreateAndroidManifestWizard wizard(m_step->buildSystem());
- wizard.exec();
+ executeManifestWizard(m_step->buildSystem());
});
Group applicationGroup {
diff --git a/src/plugins/android/createandroidmanifestwizard.h b/src/plugins/android/createandroidmanifestwizard.h
deleted file mode 100644
index b00dff4a80c..00000000000
--- a/src/plugins/android/createandroidmanifestwizard.h
+++ /dev/null
@@ -1,39 +0,0 @@
-// Copyright (C) 2016 The Qt Company Ltd.
-// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0
-
-#pragma once
-
-#include <utils/filepath.h>
-#include <utils/wizard.h>
-
-namespace ProjectExplorer { class BuildSystem; }
-
-namespace Android::Internal {
-
-class CreateAndroidManifestWizard : public Utils::Wizard
-{
-public:
- CreateAndroidManifestWizard(ProjectExplorer::BuildSystem *buildSystem);
-
- QString buildKey() const;
- void setBuildKey(const QString &buildKey);
-
- void accept() override;
- bool copyGradleTemplates() const;
- bool allowGradleTemplates() const;
-
- void setDirectory(const Utils::FilePath &directory);
- void setCopyGradleTemplates(bool copy);
-
- ProjectExplorer::BuildSystem *buildSystem() const;
-
-private:
- void createAndroidManifestFile();
- void createAndroidTemplateFiles();
- ProjectExplorer::BuildSystem *m_buildSystem;
- QString m_buildKey;
- Utils::FilePath m_directory;
- bool m_copyGradleTemplates;
-};
-
-} // Android::Internal
diff --git a/src/plugins/android/createandroidmanifestwizard.cpp b/src/plugins/android/manifestwizard.cpp
index de79f197e02..3627c118173 100644
--- a/src/plugins/android/createandroidmanifestwizard.cpp
+++ b/src/plugins/android/manifestwizard.cpp
@@ -1,10 +1,10 @@
// Copyright (C) 2024 The Qt Company Ltd.
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0
-#include "createandroidmanifestwizard.h"
+#include "manifestwizard.h"
-#include "androidtr.h"
#include "androidconstants.h"
+#include "androidtr.h"
#include "androidutils.h"
#include <coreplugin/editormanager/editormanager.h>
@@ -22,6 +22,7 @@
#include <utils/infolabel.h>
#include <utils/pathchooser.h>
#include <utils/qtcassert.h>
+#include <utils/wizard.h>
#include <QCheckBox>
#include <QComboBox>
@@ -36,9 +37,35 @@ using namespace Utils;
namespace Android::Internal {
-//
-// NoApplicationTargetPage
-//
+class CreateAndroidManifestWizard : public Wizard
+{
+public:
+ CreateAndroidManifestWizard(BuildSystem *buildSystem);
+
+ QString buildKey() const { return m_buildKey; }
+ void setBuildKey(const QString &buildKey) { m_buildKey = buildKey; }
+
+ void accept() override
+ {
+ createAndroidTemplateFiles();
+ Wizard::accept();
+ }
+ bool copyGradleTemplates() const { return m_copyGradleTemplates; }
+ bool allowGradleTemplates() const
+ { return bool(QtSupport::QtKitAspect::qtVersion(m_buildSystem->kit())); }
+ void setDirectory(const FilePath &directory) { m_directory = directory; }
+ void setCopyGradleTemplates(bool copy) { m_copyGradleTemplates = copy; }
+
+ BuildSystem *buildSystem() const { return m_buildSystem; }
+
+private:
+ void createAndroidManifestFile();
+ void createAndroidTemplateFiles();
+ BuildSystem *m_buildSystem;
+ QString m_buildKey;
+ FilePath m_directory;
+ bool m_copyGradleTemplates;
+};
class NoApplicationTargetPage : public QWizardPage
{
@@ -56,18 +83,14 @@ NoApplicationTargetPage::NoApplicationTargetPage(CreateAndroidManifestWizard *)
setTitle(Tr::tr("No Application Build Target"));
}
-
-//
-// ChooseProFilePage
-//
-
class ChooseProFilePage : public QWizardPage
{
public:
explicit ChooseProFilePage(CreateAndroidManifestWizard *wizard);
private:
- void nodeSelected(int index);
+ void nodeSelected()
+ { m_wizard->setBuildKey(m_comboBox->itemData(m_comboBox->currentIndex()).toString()); }
CreateAndroidManifestWizard *m_wizard;
QComboBox *m_comboBox;
@@ -93,24 +116,13 @@ ChooseProFilePage::ChooseProFilePage(CreateAndroidManifestWizard *wizard)
m_comboBox->setCurrentIndex(m_comboBox->count() - 1);
}
- nodeSelected(m_comboBox->currentIndex());
+ nodeSelected();
connect(m_comboBox, &QComboBox::currentIndexChanged, this, &ChooseProFilePage::nodeSelected);
fl->addRow(Tr::tr("Build target:"), m_comboBox);
setTitle(Tr::tr("Select a build target"));
}
-void ChooseProFilePage::nodeSelected(int index)
-{
- Q_UNUSED(index)
- m_wizard->setBuildKey(m_comboBox->itemData(m_comboBox->currentIndex()).toString());
-}
-
-
-//
-// ChooseDirectoryPage
-//
-
class ChooseDirectoryPage : public QWizardPage
{
public:
@@ -118,7 +130,7 @@ public:
private:
void initializePage() final;
- bool isComplete() const final;
+ bool isComplete() const final { return m_complete; }
void checkPackageSourceDir();
CreateAndroidManifestWizard *m_wizard;
@@ -184,11 +196,6 @@ void ChooseDirectoryPage::checkPackageSourceDir()
}
}
-bool ChooseDirectoryPage::isComplete() const
-{
- return m_complete;
-}
-
void ChooseDirectoryPage::initializePage()
{
const Target *target = m_wizard->buildSystem()->target();
@@ -223,9 +230,6 @@ void ChooseDirectoryPage::initializePage()
m_wizard->setDirectory(m_androidPackageSourceDir->filePath());
}
-//
-// CreateAndroidManifestWizard
-//
CreateAndroidManifestWizard::CreateAndroidManifestWizard(BuildSystem *buildSystem)
: Wizard(Core::ICore::dialogParent())
, m_buildSystem(buildSystem)
@@ -246,36 +250,6 @@ CreateAndroidManifestWizard::CreateAndroidManifestWizard(BuildSystem *buildSyste
}
}
-QString CreateAndroidManifestWizard::buildKey() const
-{
- return m_buildKey;
-}
-
-void CreateAndroidManifestWizard::setBuildKey(const QString &buildKey)
-{
- m_buildKey = buildKey;
-}
-
-void CreateAndroidManifestWizard::setDirectory(const FilePath &directory)
-{
- m_directory = directory;
-}
-
-bool CreateAndroidManifestWizard::copyGradleTemplates() const
-{
- return m_copyGradleTemplates;
-}
-
-bool CreateAndroidManifestWizard::allowGradleTemplates() const
-{
- return bool(QtSupport::QtKitAspect::qtVersion(m_buildSystem->kit()));
-}
-
-void CreateAndroidManifestWizard::setCopyGradleTemplates(bool copy)
-{
- m_copyGradleTemplates = copy;
-}
-
void CreateAndroidManifestWizard::createAndroidTemplateFiles()
{
if (m_directory.isEmpty())
@@ -322,15 +296,9 @@ void CreateAndroidManifestWizard::createAndroidTemplateFiles()
Core::EditorManager::openEditor(m_directory / "AndroidManifest.xml");
}
-BuildSystem *CreateAndroidManifestWizard::buildSystem() const
-{
- return m_buildSystem;
-}
-
-void CreateAndroidManifestWizard::accept()
+void executeManifestWizard(BuildSystem *buildSystem)
{
- createAndroidTemplateFiles();
- Wizard::accept();
+ CreateAndroidManifestWizard(buildSystem).exec();
}
} // namespace Android::Internal
diff --git a/src/plugins/android/manifestwizard.h b/src/plugins/android/manifestwizard.h
new file mode 100644
index 00000000000..8a94e146282
--- /dev/null
+++ b/src/plugins/android/manifestwizard.h
@@ -0,0 +1,12 @@
+// Copyright (C) 2016 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0
+
+#pragma once
+
+namespace ProjectExplorer { class BuildSystem; }
+
+namespace Android::Internal {
+
+void executeManifestWizard(ProjectExplorer::BuildSystem *buildSystem);
+
+} // Android::Internal