From 40d0e2d90c6423b85b80f176190c98ede0d18ff6 Mon Sep 17 00:00:00 2001 From: Thomas Hartmann <Thomas.Hartmann@nokia.com> Date: Wed, 15 Dec 2010 17:11:27 +0100 Subject: [PATCH] QmlDesigner.formEditorView: adding reset() by imports changing imports now resets the form editor --- .../components/formeditor/formeditorview.cpp | 28 +++++++++++++++++++ .../components/formeditor/formeditorview.h | 5 ++++ 2 files changed, 33 insertions(+) diff --git a/src/plugins/qmldesigner/components/formeditor/formeditorview.cpp b/src/plugins/qmldesigner/components/formeditor/formeditorview.cpp index 706ebcc2ac9..a932de8b035 100644 --- a/src/plugins/qmldesigner/components/formeditor/formeditorview.cpp +++ b/src/plugins/qmldesigner/components/formeditor/formeditorview.cpp @@ -49,6 +49,7 @@ #include <QString> #include <QDir> #include <QAction> +#include <QTimer> #include <zoomaction.h> #include <nodeabstractproperty.h> #include <nodelistproperty.h> @@ -143,6 +144,16 @@ void FormEditorView::modelAboutToBeDetached(Model *model) QmlModelView::modelAboutToBeDetached(model); } +void FormEditorView::importAdded(const Import &) +{ + reset(); +} + +void FormEditorView::importRemoved(const Import &) +{ + reset(); +} + void FormEditorView::nodeAboutToBeRemoved(const ModelNode &removedNode) { QmlItemNode qmlItemNode(removedNode); @@ -601,6 +612,23 @@ void FormEditorView::stateChanged(const QmlModelState &newQmlModelState, const Q // m_currentTool->formEditorItemsChanged(itemList); } +void FormEditorView::reset() +{ + QTimer::singleShot(200, this, SLOT(delayedReset())); +} + +void FormEditorView::delayedReset() +{ + m_selectionTool->clear(); + m_moveTool->clear(); + m_resizeTool->clear(); + m_anchorTool->clear(); + m_dragTool->clear(); + m_scene->clearFormEditorItems(); + if (rootQmlObjectNode().toQmlItemNode().isValid()) + setupFormEditorItemTree(rootQmlObjectNode().toQmlItemNode()); +} + } diff --git a/src/plugins/qmldesigner/components/formeditor/formeditorview.h b/src/plugins/qmldesigner/components/formeditor/formeditorview.h index f98c3b0e1ce..8fa8cac26ed 100644 --- a/src/plugins/qmldesigner/components/formeditor/formeditorview.h +++ b/src/plugins/qmldesigner/components/formeditor/formeditorview.h @@ -66,6 +66,9 @@ public: void modelAttached(Model *model); void modelAboutToBeDetached(Model *model); + void importAdded(const Import &import); + void importRemoved(const Import &import); + void nodeCreated(const ModelNode &createdNode); void nodeAboutToBeRemoved(const ModelNode &removedNode); void nodeReparented(const ModelNode &node, const NodeAbstractProperty &newPropertyParent, const NodeAbstractProperty &oldPropertyParent, AbstractView::PropertyChangeFlags propertyChange); @@ -116,8 +119,10 @@ signals: protected: void otherPropertyChanged(const QmlObjectNode &qmlObjectNode, const QString &propertyName); void stateChanged(const QmlModelState &newQmlModelState, const QmlModelState &oldQmlModelState); + void reset(); protected slots: + void delayedReset(); QList<ModelNode> adjustStatesForModelNodes(const QList<ModelNode> &nodeList) const; void updateGraphicsIndicators(); void setSelectOnlyContentItemsAction(bool selectOnlyContentItems); -- GitLab