From e721b9f70f7af001f1d3ae55c870f70a082bb054 Mon Sep 17 00:00:00 2001
From: Lasse Holmstedt <lasse.holmstedt@nokia.com>
Date: Wed, 14 Jul 2010 17:47:43 +0200
Subject: [PATCH] Clear editor items (highlights, selections) when not in
 design mode

---
 src/tools/qml/qmlobserver/qdeclarativedesignview.cpp | 11 ++++++++++-
 src/tools/qml/qmlobserver/qdeclarativedesignview.h   |  1 +
 2 files changed, 11 insertions(+), 1 deletion(-)

diff --git a/src/tools/qml/qmlobserver/qdeclarativedesignview.cpp b/src/tools/qml/qmlobserver/qdeclarativedesignview.cpp
index 952a3126257..f1afaaa40e9 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 853a71adb13..fae5fca983e 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;
-- 
GitLab