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 {
|
namespace Android::Internal {
|
||||||
|
|
||||||
class AndroidManifestEditor;
|
|
||||||
|
|
||||||
const char infoBarId[] = "Android.AndroidManifestEditor.InfoBar";
|
const char infoBarId[] = "Android.AndroidManifestEditor.InfoBar";
|
||||||
|
|
||||||
static bool checkPackageName(const QString &packageName)
|
static bool checkPackageName(const QString &packageName)
|
||||||
@@ -127,7 +125,6 @@ public:
|
|||||||
void preSave();
|
void preSave();
|
||||||
void postSave();
|
void postSave();
|
||||||
|
|
||||||
Core::IEditor *editor() const;
|
|
||||||
TextEditor::TextEditorWidget *textEditorWidget() const;
|
TextEditor::TextEditorWidget *textEditorWidget() const;
|
||||||
|
|
||||||
void setDirty(bool dirty = true);
|
void setDirty(bool dirty = true);
|
||||||
@@ -211,35 +208,10 @@ private:
|
|||||||
|
|
||||||
QTimer m_timerParseCheck;
|
QTimer m_timerParseCheck;
|
||||||
TextEditor::TextEditorWidget *m_textEditorWidget;
|
TextEditor::TextEditorWidget *m_textEditorWidget;
|
||||||
AndroidManifestEditor *m_editor;
|
|
||||||
QString m_androidNdkPlatform;
|
QString m_androidNdkPlatform;
|
||||||
QTabWidget *m_advanvedTabWidget = nullptr;
|
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
|
class AndroidManifestTextEditorWidget : public TextEditor::TextEditorWidget
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
@@ -259,8 +231,6 @@ AndroidManifestEditorWidget::AndroidManifestEditorWidget()
|
|||||||
m_timerParseCheck.setInterval(800);
|
m_timerParseCheck.setInterval(800);
|
||||||
m_timerParseCheck.setSingleShot(true);
|
m_timerParseCheck.setSingleShot(true);
|
||||||
|
|
||||||
m_editor = new AndroidManifestEditor(this);
|
|
||||||
|
|
||||||
connect(&m_timerParseCheck, &QTimer::timeout,
|
connect(&m_timerParseCheck, &QTimer::timeout,
|
||||||
this, &AndroidManifestEditorWidget::delayedParseCheck);
|
this, &AndroidManifestEditorWidget::delayedParseCheck);
|
||||||
|
|
||||||
@@ -744,11 +714,6 @@ void AndroidManifestEditorWidget::postSave()
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
Core::IEditor *AndroidManifestEditorWidget::editor() const
|
|
||||||
{
|
|
||||||
return m_editor;
|
|
||||||
}
|
|
||||||
|
|
||||||
TextEditor::TextEditorWidget *AndroidManifestEditorWidget::textEditorWidget() const
|
TextEditor::TextEditorWidget *AndroidManifestEditorWidget::textEditorWidget() const
|
||||||
{
|
{
|
||||||
return m_textEditorWidget;
|
return m_textEditorWidget;
|
||||||
@@ -1591,6 +1556,28 @@ AndroidManifestTextEditorWidget::AndroidManifestTextEditorWidget(AndroidManifest
|
|||||||
|
|
||||||
// AndroidManifestEditor
|
// 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)
|
AndroidManifestEditor::AndroidManifestEditor(AndroidManifestEditorWidget *editorWidget)
|
||||||
: m_toolBar(nullptr)
|
: m_toolBar(nullptr)
|
||||||
{
|
{
|
||||||
@@ -1674,8 +1661,9 @@ public:
|
|||||||
setDisplayName(Tr::tr("Android Manifest editor"));
|
setDisplayName(Tr::tr("Android Manifest editor"));
|
||||||
addMimeType(Constants::ANDROID_MANIFEST_MIME_TYPE);
|
addMimeType(Constants::ANDROID_MANIFEST_MIME_TYPE);
|
||||||
setEditorCreator([] {
|
setEditorCreator([] {
|
||||||
auto androidManifestEditorWidget = new AndroidManifestEditorWidget;
|
auto widget = new AndroidManifestEditorWidget;
|
||||||
return androidManifestEditorWidget->editor();
|
auto editor = new AndroidManifestEditor(widget);
|
||||||
|
return editor;
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
Reference in New Issue
Block a user