From fbd370e2150d29df9262aee3417bc583922f1c6f Mon Sep 17 00:00:00 2001 From: Thomas Hartmann <Thomas.Hartmann@nokia.com> Date: Thu, 23 Sep 2010 15:47:06 +0200 Subject: [PATCH] QmlDesigner.Model: Add notifier refactoring at nodeOrderChanged RewriterView and NodeInstanceView was not notified about a model change. --- .../qmldesigner/designercore/model/model.cpp | 23 ++++++++++++++----- 1 file changed, 17 insertions(+), 6 deletions(-) diff --git a/src/plugins/qmldesigner/designercore/model/model.cpp b/src/plugins/qmldesigner/designercore/model/model.cpp index 623c848a3b7..4f046fdd4bf 100644 --- a/src/plugins/qmldesigner/designercore/model/model.cpp +++ b/src/plugins/qmldesigner/designercore/model/model.cpp @@ -886,17 +886,28 @@ void ModelPrivate::notifyNodeOrderChanged(const InternalNodeListPropertyPointer bool resetModel = false; QString description; + try { + if (rewriterView()) + rewriterView()->nodeOrderChanged(NodeListProperty(internalListPropertyPointer, model(), rewriterView()), + ModelNode(internalNodePointer, model(), rewriterView()), + oldIndex); + } catch (RewritingException &e) { + description = e.description(); + resetModel = true; + } + foreach (const QWeakPointer<AbstractView> &view, m_viewList) { Q_ASSERT(!view.isNull()); - try { - view->nodeOrderChanged(NodeListProperty(internalListPropertyPointer, model(), view.data()), + view->nodeOrderChanged(NodeListProperty(internalListPropertyPointer, model(), view.data()), ModelNode(internalNodePointer, model(), view.data()), oldIndex); - } catch (RewritingException &e) { - description = e.description(); - resetModel = true; - } } + + if (nodeInstanceView()) + nodeInstanceView()->nodeOrderChanged(NodeListProperty(internalListPropertyPointer, model(), nodeInstanceView()), + ModelNode(internalNodePointer, model(), nodeInstanceView()), + oldIndex); + if (resetModel) { resetModelByRewriter(description); } -- GitLab