diff --git a/src/tools/qml/qmlobserver/qdeclarativedesignview.cpp b/src/tools/qml/qmlobserver/qdeclarativedesignview.cpp index 952a312625718de288e27b31f3e5c91ab3bedd1e..f1afaaa40e90a5836506e8a1e313c0abb6916ce4 100644 --- a/src/tools/qml/qmlobserver/qdeclarativedesignview.cpp +++ b/src/tools/qml/qmlobserver/qdeclarativedesignview.cpp @@ -67,6 +67,12 @@ void QDeclarativeDesignView::reloadView() emit reloadRequested(); } +void QDeclarativeDesignView::clearEditorItems() +{ + clearHighlight(); + setSelectedItems(QList<QGraphicsItem*>()); +} + void QDeclarativeDesignView::leaveEvent(QEvent *event) { if (!designModeBehavior()) { @@ -89,7 +95,7 @@ void QDeclarativeDesignView::mousePressEvent(QMouseEvent *event) void QDeclarativeDesignView::mouseMoveEvent(QMouseEvent *event) { if (!designModeBehavior()) { - clearHighlight(); + clearEditorItems(); QDeclarativeView::mouseMoveEvent(event); return; } @@ -231,6 +237,9 @@ void QDeclarativeDesignView::setDesignModeBehavior(bool value) if (rootObject()) m_subcomponentEditorTool->pushContext(rootObject()); } + + if (!m_designModeBehavior) + clearEditorItems(); } bool QDeclarativeDesignView::designModeBehavior() const diff --git a/src/tools/qml/qmlobserver/qdeclarativedesignview.h b/src/tools/qml/qmlobserver/qdeclarativedesignview.h index 853a71adb13de09ad8dd7a3a814e2a2c96ad14d2..fae5fca983ee8a8c0b435fc6d1880c09e716195b 100644 --- a/src/tools/qml/qmlobserver/qdeclarativedesignview.h +++ b/src/tools/qml/qmlobserver/qdeclarativedesignview.h @@ -94,6 +94,7 @@ private Q_SLOTS: void applyChangesFromClient(); private: + void clearEditorItems(); void createToolbar(); void changeToSelectTool(); QList<QGraphicsItem*> filterForCurrentContext(QList<QGraphicsItem*> &itemlist) const;