forked from qt-creator/qt-creator
Android: Make AndroidManifestEditor have a AndroidManifestEditorWidget
As the IEditor interface suggests, not the other way round. This way the widget doesn't have to know about the editor. Change-Id: I49e69047544dc89efdbcff51f2550ca827072c91 Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
This commit is contained in:
@@ -65,8 +65,6 @@ using namespace Utils;
|
||||
|
||||
namespace Android::Internal {
|
||||
|
||||
class AndroidManifestEditor;
|
||||
|
||||
const char infoBarId[] = "Android.AndroidManifestEditor.InfoBar";
|
||||
|
||||
static bool checkPackageName(const QString &packageName)
|
||||
@@ -127,7 +125,6 @@ public:
|
||||
void preSave();
|
||||
void postSave();
|
||||
|
||||
Core::IEditor *editor() const;
|
||||
TextEditor::TextEditorWidget *textEditorWidget() const;
|
||||
|
||||
void setDirty(bool dirty = true);
|
||||
@@ -211,35 +208,10 @@ private:
|
||||
|
||||
QTimer m_timerParseCheck;
|
||||
TextEditor::TextEditorWidget *m_textEditorWidget;
|
||||
AndroidManifestEditor *m_editor;
|
||||
QString m_androidNdkPlatform;
|
||||
QTabWidget *m_advanvedTabWidget = nullptr;
|
||||
};
|
||||
|
||||
// AndroidManifestEditor
|
||||
|
||||
class AndroidManifestEditor : public Core::IEditor
|
||||
{
|
||||
public:
|
||||
explicit AndroidManifestEditor(AndroidManifestEditorWidget *editorWidget);
|
||||
|
||||
QWidget *toolBar() override;
|
||||
Core::IDocument *document() const override;
|
||||
TextEditor::TextEditorWidget *textEditor() const;
|
||||
|
||||
int currentLine() const override;
|
||||
int currentColumn() const override;
|
||||
void gotoLine(int line, int column = 0, bool centerLine = true) override;
|
||||
|
||||
private:
|
||||
AndroidManifestEditorWidget *ownWidget() const;
|
||||
void changeEditorPage(QAction *action);
|
||||
|
||||
QString m_displayName;
|
||||
QToolBar *m_toolBar;
|
||||
QActionGroup *m_actionGroup;
|
||||
};
|
||||
|
||||
class AndroidManifestTextEditorWidget : public TextEditor::TextEditorWidget
|
||||
{
|
||||
public:
|
||||
@@ -259,8 +231,6 @@ AndroidManifestEditorWidget::AndroidManifestEditorWidget()
|
||||
m_timerParseCheck.setInterval(800);
|
||||
m_timerParseCheck.setSingleShot(true);
|
||||
|
||||
m_editor = new AndroidManifestEditor(this);
|
||||
|
||||
connect(&m_timerParseCheck, &QTimer::timeout,
|
||||
this, &AndroidManifestEditorWidget::delayedParseCheck);
|
||||
|
||||
@@ -744,11 +714,6 @@ void AndroidManifestEditorWidget::postSave()
|
||||
}
|
||||
}
|
||||
|
||||
Core::IEditor *AndroidManifestEditorWidget::editor() const
|
||||
{
|
||||
return m_editor;
|
||||
}
|
||||
|
||||
TextEditor::TextEditorWidget *AndroidManifestEditorWidget::textEditorWidget() const
|
||||
{
|
||||
return m_textEditorWidget;
|
||||
@@ -1591,6 +1556,28 @@ AndroidManifestTextEditorWidget::AndroidManifestTextEditorWidget(AndroidManifest
|
||||
|
||||
// AndroidManifestEditor
|
||||
|
||||
class AndroidManifestEditor : public Core::IEditor
|
||||
{
|
||||
public:
|
||||
explicit AndroidManifestEditor(AndroidManifestEditorWidget *editorWidget);
|
||||
|
||||
QWidget *toolBar() override;
|
||||
Core::IDocument *document() const override;
|
||||
TextEditor::TextEditorWidget *textEditor() const;
|
||||
|
||||
int currentLine() const override;
|
||||
int currentColumn() const override;
|
||||
void gotoLine(int line, int column = 0, bool centerLine = true) override;
|
||||
|
||||
private:
|
||||
AndroidManifestEditorWidget *ownWidget() const;
|
||||
void changeEditorPage(QAction *action);
|
||||
|
||||
QString m_displayName;
|
||||
QToolBar *m_toolBar;
|
||||
QActionGroup *m_actionGroup;
|
||||
};
|
||||
|
||||
AndroidManifestEditor::AndroidManifestEditor(AndroidManifestEditorWidget *editorWidget)
|
||||
: m_toolBar(nullptr)
|
||||
{
|
||||
@@ -1674,8 +1661,9 @@ public:
|
||||
setDisplayName(Tr::tr("Android Manifest editor"));
|
||||
addMimeType(Constants::ANDROID_MANIFEST_MIME_TYPE);
|
||||
setEditorCreator([] {
|
||||
auto androidManifestEditorWidget = new AndroidManifestEditorWidget;
|
||||
return androidManifestEditorWidget->editor();
|
||||
auto widget = new AndroidManifestEditorWidget;
|
||||
auto editor = new AndroidManifestEditor(widget);
|
||||
return editor;
|
||||
});
|
||||
}
|
||||
};
|
||||
|
Reference in New Issue
Block a user