QmlDesigner: Use ScopedPointer instead of raw pointer

Change-Id: I2fb52fdb01c287fa1a4090b639f26521a3aabc6d
Reviewed-by: Thomas Hartmann <Thomas.Hartmann@digia.com>
This commit is contained in:
Marco Bubke
2013-02-06 17:12:04 +01:00
committed by Thomas Hartmann
parent f185097b4c
commit 109669452f
4 changed files with 33 additions and 47 deletions

View File

@@ -97,7 +97,7 @@ DesignDocument::DesignDocument(QObject *parent) :
QObject(parent),
m_documentModel(Model::create("QtQuick.Item", 1, 0)),
m_inFileComponentModel(Model::create("QtQuick.Item", 1, 0)),
m_currentModel(m_documentModel),
m_currentModel(m_documentModel.data()),
m_subComponentManager(new SubComponentManager(m_documentModel.data(), this)),
m_rewriterView (new RewriterView(RewriterView::Amend, m_documentModel.data())),
m_documentLoaded(false),
@@ -108,13 +108,6 @@ DesignDocument::DesignDocument(QObject *parent) :
DesignDocument::~DesignDocument()
{
delete m_documentModel.data();
delete m_inFileComponentModel.data();
delete rewriterView();
delete m_inFileComponentTextModifier.data();
delete m_documentTextModifier.data();
}
Model *DesignDocument::currentModel() const
@@ -132,7 +125,7 @@ void DesignDocument::changeToDocumentModel()
viewManager().detachRewriterView();
viewManager().detachViewsExceptRewriterAndComponetView();
m_currentModel = m_documentModel;
m_currentModel = m_documentModel.data();
viewManager().attachRewriterView(m_documentTextModifier.data());
viewManager().attachViewsExceptRewriterAndComponetView();
@@ -143,7 +136,7 @@ void DesignDocument::changeToInFileComponentModel()
viewManager().detachRewriterView();
viewManager().detachViewsExceptRewriterAndComponetView();
m_currentModel = m_inFileComponentModel;
m_currentModel = m_inFileComponentModel.data();
viewManager().attachRewriterView(m_inFileComponentTextModifier.data());
viewManager().attachViewsExceptRewriterAndComponetView();
@@ -208,12 +201,11 @@ bool DesignDocument::loadInFileComponent(const ModelNode &componentNode)
return false;
if (!componentNode.isRootNode()) {
Q_ASSERT(m_currentModel == m_documentModel);
//change to subcomponent model
if (m_inFileComponentTextModifier)
delete m_inFileComponentTextModifier.data();
m_inFileComponentTextModifier = createComponentTextModifier(m_documentTextModifier.data(), rewriterView(), componentText, componentNode);
m_inFileComponentTextModifier.reset(createComponentTextModifier(m_documentTextModifier.data(), rewriterView(), componentText, componentNode));
changeToInFileComponentModel();
}
@@ -286,7 +278,7 @@ bool DesignDocument::isDocumentLoaded() const
void DesignDocument::resetToDocumentModel()
{
m_currentModel = m_documentModel;
m_currentModel = m_documentModel.data();
m_rewriterView->setTextModifier(m_documentTextModifier.data());
}
@@ -301,9 +293,9 @@ void DesignDocument::loadDocument(QPlainTextEdit *edit)
connect(edit, SIGNAL(modificationChanged(bool)),
this, SIGNAL(dirtyStateChanged(bool)));
m_documentTextModifier = new BaseTextEditModifier(dynamic_cast<TextEditor::BaseTextEditorWidget*>(plainTextEdit()));
m_documentTextModifier.reset(new BaseTextEditModifier(dynamic_cast<TextEditor::BaseTextEditorWidget*>(plainTextEdit())));
m_inFileComponentTextModifier.clear();
m_inFileComponentTextModifier.reset();
//masterModel = Model::create(textModifier, searchPath, errors);
@@ -314,11 +306,6 @@ void DesignDocument::loadDocument(QPlainTextEdit *edit)
m_documentLoaded = true;
}
static const QString fileNameOfCurrentDocument()
{
return QmlDesignerPlugin::instance()->documentManager().currentDesignDocument()->textEditor()->document()->fileName();
}
void DesignDocument::changeCurrentModelTo(const ModelNode &node)
{
if (QmlDesignerPlugin::instance()->currentDesignDocument() != this)
@@ -334,18 +321,15 @@ void DesignDocument::changeToSubComponent(const ModelNode &componentNode)
QWeakPointer<Model> oldModel = m_currentModel;
Q_ASSERT(oldModel.data());
if (m_currentModel == m_inFileComponentModel) {
if (m_currentModel.data() == m_inFileComponentModel.data()) {
changeToDocumentModel();
}
bool subComponentLoaded = loadInFileComponent(componentNode);
if (subComponentLoaded) {
Q_ASSERT(m_documentModel);
Q_ASSERT(m_currentModel);
if (subComponentLoaded)
activateCurrentModel(m_inFileComponentTextModifier.data());
}
if (!componentNode.id().isEmpty())
QmlDesignerPlugin::instance()->viewManager().pushInFileComponentOnCrambleBar(componentNode.id());
}