diff --git a/src/plugins/qnx/bardescriptoreditor.cpp b/src/plugins/qnx/bardescriptoreditor.cpp index a52c98c9105..671a34e6772 100644 --- a/src/plugins/qnx/bardescriptoreditor.cpp +++ b/src/plugins/qnx/bardescriptoreditor.cpp @@ -54,11 +54,12 @@ using namespace ProjectExplorer; namespace Qnx { namespace Internal { -BarDescriptorEditor::BarDescriptorEditor(BarDescriptorEditorWidget *editorWidget) +BarDescriptorEditor::BarDescriptorEditor() { + BarDescriptorEditorWidget *editorWidget = new BarDescriptorEditorWidget(this); setWidget(editorWidget); - m_file = new BarDescriptorDocument(editorWidget); + connect(editorWidget, SIGNAL(changed()), m_file, SIGNAL(changed())); m_toolBar = new QToolBar(editorWidget); diff --git a/src/plugins/qnx/bardescriptoreditor.h b/src/plugins/qnx/bardescriptoreditor.h index abe319d88bb..ce235885e20 100644 --- a/src/plugins/qnx/bardescriptoreditor.h +++ b/src/plugins/qnx/bardescriptoreditor.h @@ -60,7 +60,7 @@ public: Source }; - explicit BarDescriptorEditor(BarDescriptorEditorWidget *editorWidget); + BarDescriptorEditor(); bool open(QString *errorString, const QString &fileName, const QString &realFileName); Core::IDocument *document(); diff --git a/src/plugins/qnx/bardescriptoreditorfactory.cpp b/src/plugins/qnx/bardescriptoreditorfactory.cpp index 529b6272c3b..2bf90396f96 100644 --- a/src/plugins/qnx/bardescriptoreditorfactory.cpp +++ b/src/plugins/qnx/bardescriptoreditorfactory.cpp @@ -32,6 +32,7 @@ #include "bardescriptoreditorfactory.h" #include "qnxconstants.h" +#include "bardescriptoreditor.h" #include "bardescriptoreditorwidget.h" #include @@ -67,6 +68,6 @@ BarDescriptorEditorFactory::BarDescriptorEditorFactory(QObject *parent) Core::IEditor *BarDescriptorEditorFactory::createEditor() { - BarDescriptorEditorWidget *editorWidget = new BarDescriptorEditorWidget(); - return editorWidget->editor(); + BarDescriptorEditor *editor = new BarDescriptorEditor(); + return editor; } diff --git a/src/plugins/qnx/bardescriptoreditorwidget.cpp b/src/plugins/qnx/bardescriptoreditorwidget.cpp index 88b51ed128c..8a00efa22aa 100644 --- a/src/plugins/qnx/bardescriptoreditorwidget.cpp +++ b/src/plugins/qnx/bardescriptoreditorwidget.cpp @@ -51,9 +51,9 @@ using namespace Qnx; using namespace Qnx::Internal; -BarDescriptorEditorWidget::BarDescriptorEditorWidget(QWidget *parent) +BarDescriptorEditorWidget::BarDescriptorEditorWidget(BarDescriptorEditor *editor, QWidget *parent) : QStackedWidget(parent) - , m_editor(0) + , m_editor(editor) , m_dirty(false) { Core::IContext *myContext = new Core::IContext(this); @@ -170,11 +170,6 @@ void BarDescriptorEditorWidget::initPanelSize(ProjectExplorer::PanelsWidget *pan Core::IEditor *BarDescriptorEditorWidget::editor() const { - if (!m_editor) { - m_editor = const_cast(this)->createEditor(); - connect(this, SIGNAL(changed()), m_editor->document(), SIGNAL(changed())); - } - return m_editor; } @@ -269,8 +264,3 @@ void BarDescriptorEditorWidget::setDirty(bool dirty) m_dirty = dirty; emit changed(); } - -BarDescriptorEditor *BarDescriptorEditorWidget::createEditor() -{ - return new BarDescriptorEditor(this); -} diff --git a/src/plugins/qnx/bardescriptoreditorwidget.h b/src/plugins/qnx/bardescriptoreditorwidget.h index f20cf40bc33..256546de83e 100644 --- a/src/plugins/qnx/bardescriptoreditorwidget.h +++ b/src/plugins/qnx/bardescriptoreditorwidget.h @@ -66,7 +66,7 @@ class BarDescriptorEditorWidget : public QStackedWidget Q_OBJECT public: - explicit BarDescriptorEditorWidget(QWidget *parent = 0); + explicit BarDescriptorEditorWidget(BarDescriptorEditor *editor, QWidget *parent = 0); Core::IEditor *editor() const; @@ -96,15 +96,13 @@ signals: void changed(); private: - BarDescriptorEditor *createEditor(); - void initGeneralPage(); void initApplicationPage(); void initAssetsPage(); void initSourcePage(); void initPanelSize(ProjectExplorer::PanelsWidget *panelsWidget); - mutable Core::IEditor *m_editor; + Core::IEditor *m_editor; bool m_dirty;