From a13ef73db5633f221a181ee9c67de44c3eda3769 Mon Sep 17 00:00:00 2001 From: hjk Date: Thu, 21 Aug 2014 21:12:04 +0200 Subject: [PATCH] DiffEditor: Merge the two construction paths Change-Id: I3c0c750517c9000dffe13de724b063008fd426b7 Reviewed-by: Christian Stenger --- src/plugins/diffeditor/diffeditor.cpp | 31 ++------------------ src/plugins/diffeditor/diffeditor.h | 7 ++--- src/plugins/diffeditor/diffeditorfactory.cpp | 3 +- 3 files changed, 8 insertions(+), 33 deletions(-) diff --git a/src/plugins/diffeditor/diffeditor.cpp b/src/plugins/diffeditor/diffeditor.cpp index 357fbdc2d85..1e612752371 100644 --- a/src/plugins/diffeditor/diffeditor.cpp +++ b/src/plugins/diffeditor/diffeditor.cpp @@ -193,9 +193,8 @@ void DescriptionEditorWidget::handleCurrentContents() ///////////////////////////////// DiffEditor ////////////////////////////////// -DiffEditor::DiffEditor() - : IEditor(0) - , m_document(new DiffEditorDocument()) +DiffEditor::DiffEditor(const QSharedPointer &doc) + : m_document(doc) , m_descriptionWidget(0) , m_stackedWidget(0) , m_sideBySideEditor(0) @@ -208,30 +207,6 @@ DiffEditor::DiffEditor() , m_toggleDescriptionAction(0) , m_reloadAction(0) , m_diffEditorSwitcher(0) -{ - ctor(); -} - -DiffEditor::DiffEditor(DiffEditor *other) - : IEditor(0) - , m_document(other->m_document) - , m_descriptionWidget(0) - , m_stackedWidget(0) - , m_sideBySideEditor(0) - , m_unifiedEditor(0) - , m_currentEditor(0) - , m_controller(0) - , m_guiController(0) - , m_toolBar(0) - , m_entriesComboBox(0) - , m_toggleDescriptionAction(0) - , m_reloadAction(0) - , m_diffEditorSwitcher(0) -{ - ctor(); -} - -void DiffEditor::ctor() { setDuplicateSupported(true); @@ -303,7 +278,7 @@ DiffEditor::~DiffEditor() Core::IEditor *DiffEditor::duplicate() { - return new DiffEditor(this); + return new DiffEditor(m_document); } bool DiffEditor::open(QString *errorString, diff --git a/src/plugins/diffeditor/diffeditor.h b/src/plugins/diffeditor/diffeditor.h index 8be9cb1a81e..66a045305a9 100644 --- a/src/plugins/diffeditor/diffeditor.h +++ b/src/plugins/diffeditor/diffeditor.h @@ -55,10 +55,10 @@ class UnifiedDiffEditorWidget; class DIFFEDITOR_EXPORT DiffEditor : public Core::IEditor { Q_OBJECT + public: - DiffEditor(); - DiffEditor(DiffEditor *other); - virtual ~DiffEditor(); + DiffEditor(const QSharedPointer &doc); + ~DiffEditor(); public: DiffEditorController *controller() const; @@ -86,7 +86,6 @@ private slots: void slotDiffEditorSwitched(); private: - void ctor(); void updateEntryToolTip(); void showDiffEditor(QWidget *newEditor); void updateDiffEditorSwitcher(); diff --git a/src/plugins/diffeditor/diffeditorfactory.cpp b/src/plugins/diffeditor/diffeditorfactory.cpp index b0b23b2771b..874d0e72950 100644 --- a/src/plugins/diffeditor/diffeditorfactory.cpp +++ b/src/plugins/diffeditor/diffeditorfactory.cpp @@ -29,6 +29,7 @@ #include "diffeditor.h" #include "diffeditorconstants.h" +#include "diffeditordocument.h" #include "diffeditorfactory.h" #include "sidebysidediffeditorwidget.h" @@ -48,7 +49,7 @@ DiffEditorFactory::DiffEditorFactory(QObject *parent) Core::IEditor *DiffEditorFactory::createEditor() { - return new DiffEditor(); + return new DiffEditor(QSharedPointer(new DiffEditorDocument)); } } // namespace Internal