Android: Hide some manifesteditorwidget code in the .cpp

Change-Id: I4478cb2d85535c8d92aeef5e1e664e001d168ec5
Reviewed-by: Jarek Kobus <jaroslaw.kobus@qt.io>
This commit is contained in:
hjk
2023-07-14 10:02:34 +02:00
parent 944a1e8a11
commit 7dfdb6d36c
2 changed files with 31 additions and 33 deletions

View File

@@ -41,6 +41,7 @@
#include <QFileDialog> #include <QFileDialog>
#include <QFileInfo> #include <QFileInfo>
#include <QFormLayout> #include <QFormLayout>
#include <QGroupBox>
#include <QHBoxLayout> #include <QHBoxLayout>
#include <QImage> #include <QImage>
#include <QLabel> #include <QLabel>
@@ -84,6 +85,32 @@ static Target *androidTarget(const FilePath &fileName)
return nullptr; return nullptr;
} }
class PermissionsModel: public QAbstractListModel
{
public:
PermissionsModel(QObject *parent = nullptr);
void setPermissions(const QStringList &permissions);
const QStringList &permissions();
QModelIndex addPermission(const QString &permission);
void removePermission(int index);
QVariant data(const QModelIndex &index, int role) const override;
protected:
int rowCount(const QModelIndex &parent) const override;
private:
QStringList m_permissions;
};
class AndroidManifestTextEditorWidget : public TextEditor::TextEditorWidget
{
public:
explicit AndroidManifestTextEditorWidget(AndroidManifestEditorWidget *parent);
private:
Core::IContext *m_context;
};
AndroidManifestEditorWidget::AndroidManifestEditorWidget() AndroidManifestEditorWidget::AndroidManifestEditorWidget()
{ {
m_textEditorWidget = new AndroidManifestTextEditorWidget(this); m_textEditorWidget = new AndroidManifestTextEditorWidget(this);

View File

@@ -5,23 +5,19 @@
#include <texteditor/texteditor.h> #include <texteditor/texteditor.h>
#include <QAbstractListModel>
#include <QGroupBox>
#include <QTabWidget>
#include <QStackedWidget> #include <QStackedWidget>
#include <QTimer> #include <QTimer>
QT_BEGIN_NAMESPACE QT_BEGIN_NAMESPACE
class QCheckBox; class QCheckBox;
class QDomDocument; class QDomDocument;
class QDomElement;
class QComboBox; class QComboBox;
class QGroupBox;
class QPushButton; class QPushButton;
class QLabel; class QLabel;
class QLineEdit; class QLineEdit;
class QListView; class QListView;
class QSpinBox; class QTabWidget;
class QToolButton;
class QXmlStreamReader; class QXmlStreamReader;
class QXmlStreamWriter; class QXmlStreamWriter;
QT_END_NAMESPACE QT_END_NAMESPACE
@@ -32,38 +28,13 @@ namespace Android::Internal {
class AndroidManifestEditor; class AndroidManifestEditor;
class AndroidManifestEditorIconContainerWidget; class AndroidManifestEditorIconContainerWidget;
class AndroidManifestEditorWidget; class PermissionsModel;
class SplashScreenContainerWidget; class SplashScreenContainerWidget;
class PermissionsModel: public QAbstractListModel
{
public:
PermissionsModel(QObject *parent = nullptr);
void setPermissions(const QStringList &permissions);
const QStringList &permissions();
QModelIndex addPermission(const QString &permission);
void removePermission(int index);
QVariant data(const QModelIndex &index, int role) const override;
protected:
int rowCount(const QModelIndex &parent) const override;
private:
QStringList m_permissions;
};
class AndroidManifestTextEditorWidget : public TextEditor::TextEditorWidget
{
public:
explicit AndroidManifestTextEditorWidget(AndroidManifestEditorWidget *parent);
private:
Core::IContext *m_context;
};
class AndroidManifestEditorWidget : public QStackedWidget class AndroidManifestEditorWidget : public QStackedWidget
{ {
Q_OBJECT Q_OBJECT
public: public:
enum EditorPage { enum EditorPage {
General = 0, General = 0,