diff --git a/src/plugins/qmldesigner/components/formeditor/boundingrect.png b/src/plugins/qmldesigner/components/formeditor/boundingrect.png
new file mode 100644
index 0000000000000000000000000000000000000000..cba76cac6613704860f27167bb1eb5f0562fdc44
Binary files /dev/null and b/src/plugins/qmldesigner/components/formeditor/boundingrect.png differ
diff --git a/src/plugins/qmldesigner/components/formeditor/formeditor.qrc b/src/plugins/qmldesigner/components/formeditor/formeditor.qrc
index 14e0dbd0fbdfb6c455e1ed2e4ca110b4a8ebca8e..12ad311853b260e26e5f58723be95a15c08fb501 100644
--- a/src/plugins/qmldesigner/components/formeditor/formeditor.qrc
+++ b/src/plugins/qmldesigner/components/formeditor/formeditor.qrc
@@ -8,5 +8,6 @@
     </qresource>
     <qresource prefix="/icon/layout">
         <file>snapping.png</file>
+	<file>boundingrect.png</file>
     </qresource>
 </RCC>
diff --git a/src/plugins/qmldesigner/components/formeditor/formeditoritem.cpp b/src/plugins/qmldesigner/components/formeditor/formeditoritem.cpp
index a6d7db612c3777f928dc69a02d9156fc97c59473..9918b67ba9203466dbcc95d1837b1af6676ba502 100644
--- a/src/plugins/qmldesigner/components/formeditor/formeditoritem.cpp
+++ b/src/plugins/qmldesigner/components/formeditor/formeditoritem.cpp
@@ -231,7 +231,9 @@ void FormEditorItem::paint(QPainter *painter, const QStyleOptionGraphicsItem *,
     qmlItemNode().paintInstance(painter);
 
     painter->setRenderHint(QPainter::Antialiasing, false);
-    paintBoundingRect(painter);
+
+    if (scene()->showBoundingRects())
+        paintBoundingRect(painter);
 
     painter->restore();
 }
diff --git a/src/plugins/qmldesigner/components/formeditor/formeditorscene.cpp b/src/plugins/qmldesigner/components/formeditor/formeditorscene.cpp
index 9c7c69d67a5cc73f5cfb8ac7c714afd02e7e1406..c521d1935cae3065bc7cac15c446f625b9469184 100644
--- a/src/plugins/qmldesigner/components/formeditor/formeditorscene.cpp
+++ b/src/plugins/qmldesigner/components/formeditor/formeditorscene.cpp
@@ -58,8 +58,8 @@ FormEditorScene::FormEditorScene(FormEditorWidget *view, FormEditorView *editorV
         m_editorView(editorView),
         m_formLayerItem(new LayerItem(this)),
         m_manipulatorLayerItem(new LayerItem(this)),
-        m_paintMode(NormalMode)
-
+        m_paintMode(NormalMode),
+        m_showBoundingRects(true)
 {
     setSceneRect(0, 0, 1, 1); // prevent automatic calculation (causing a recursion), right size will be set later
 
@@ -360,5 +360,16 @@ void FormEditorScene::clearFormEditorItems()
     }
 }
 
+void FormEditorScene::setShowBoundingRects(bool show)
+{
+    m_showBoundingRects = show;
+    updateAllFormEditorItems();
+}
+
+bool FormEditorScene::showBoundingRects() const
+{
+    return m_showBoundingRects;
+}
+
 }
 
diff --git a/src/plugins/qmldesigner/components/formeditor/formeditorscene.h b/src/plugins/qmldesigner/components/formeditor/formeditorscene.h
index 89098ba7abc734f689857994538a64d200988aa7..bc521fb02eea860b1ef2ba10abb5f0280f80d45d 100644
--- a/src/plugins/qmldesigner/components/formeditor/formeditorscene.h
+++ b/src/plugins/qmldesigner/components/formeditor/formeditorscene.h
@@ -93,6 +93,10 @@ public:
 
     void clearFormEditorItems();
 
+public slots:
+    void setShowBoundingRects(bool show);
+    bool showBoundingRects() const;
+
 protected:
     void dropEvent(QGraphicsSceneDragDropEvent * event);
     void dragEnterEvent(QGraphicsSceneDragDropEvent * event);
@@ -123,6 +127,7 @@ private:
     QWeakPointer<LayerItem> m_manipulatorLayerItem;
     ModelNode m_dragNode;
     PaintMode m_paintMode;
+    bool m_showBoundingRects;
 };
 
 
diff --git a/src/plugins/qmldesigner/components/formeditor/formeditorview.cpp b/src/plugins/qmldesigner/components/formeditor/formeditorview.cpp
index 3c0d540bd50d1b4695ca3e3a47f12a9041e3331e..c1a941e46f7984cc9496a6cfa29f79495b353c93 100644
--- a/src/plugins/qmldesigner/components/formeditor/formeditorview.cpp
+++ b/src/plugins/qmldesigner/components/formeditor/formeditorview.cpp
@@ -67,6 +67,7 @@ FormEditorView::FormEditorView(QObject *parent)
       m_currentTool(m_selectionTool)
 {
     connect(widget()->zoomAction(), SIGNAL(zoomLevelChanged(double)), SLOT(updateGraphicsIndicators()));
+    connect(widget()->showBoundingRectAction(), SIGNAL(toggled(bool)), scene(), SLOT(setShowBoundingRects(bool)));
 }
 
 FormEditorScene* FormEditorView::scene() const
diff --git a/src/plugins/qmldesigner/components/formeditor/formeditorwidget.cpp b/src/plugins/qmldesigner/components/formeditor/formeditorwidget.cpp
index 5217711fa4d43cb46f20934ad37c686209ae38b9..6c5eddde2f232d5121d2022b42aa2077987af0ee 100644
--- a/src/plugins/qmldesigner/components/formeditor/formeditorwidget.cpp
+++ b/src/plugins/qmldesigner/components/formeditor/formeditorwidget.cpp
@@ -90,6 +90,14 @@ FormEditorWidget::FormEditorWidget(FormEditorView *view)
     m_snappingToolAction->setIcon(QPixmap(":/icon/layout/snapping.png"));
     connect(m_snappingToolAction.data(), SIGNAL(triggered(bool)), SLOT(changeSnappingTool(bool)));
 
+    m_showBoundingRectAction = layoutActionGroup->addAction("Toogle Bounding Rectangles (Press Key R)");
+    m_showBoundingRectAction->setShortcut(Qt::Key_R);
+    m_showBoundingRectAction->setShortcutContext(Qt::WidgetWithChildrenShortcut);
+    m_showBoundingRectAction->setCheckable(true);
+    m_showBoundingRectAction->setChecked(true);
+    m_showBoundingRectAction->setIcon(QPixmap(":/icon/layout/boundingrect.png"));
+
+
     m_snappingMarginAction = new NumberSeriesAction(layoutActionGroup);
     m_snappingMarginAction->addEntry("no margins (0)", 0);
     m_snappingMarginAction->addEntry("small margin (2)", 2);
@@ -179,6 +187,11 @@ QAction *FormEditorWidget::transformToolAction() const
     return m_transformToolAction.data();
 }
 
+QAction *FormEditorWidget::showBoundingRectAction() const
+{
+    return m_showBoundingRectAction.data();
+}
+
 void FormEditorWidget::setZoomLevel(double zoomLevel)
 {
     m_graphicsView->resetTransform();
diff --git a/src/plugins/qmldesigner/components/formeditor/formeditorwidget.h b/src/plugins/qmldesigner/components/formeditor/formeditorwidget.h
index 2a718507f8070c069771e070171ba51856853645..2f9089b8650366338f364381f5a54a63d7c9ed31 100644
--- a/src/plugins/qmldesigner/components/formeditor/formeditorwidget.h
+++ b/src/plugins/qmldesigner/components/formeditor/formeditorwidget.h
@@ -53,6 +53,7 @@ public:
     ZoomAction *zoomAction() const;
     QAction *anchorToolAction() const;
     QAction *transformToolAction() const;
+    QAction *showBoundingRectAction() const;
 
     void setScene(FormEditorScene *scene);
     ToolBox *toolBox() const;
@@ -83,6 +84,7 @@ private:
     QWeakPointer<QAction> m_snappingToolAction;
     QWeakPointer<NumberSeriesAction> m_snappingMarginAction;
     QWeakPointer<NumberSeriesAction> m_snappingSpacingAction;
+    QWeakPointer<QAction> m_showBoundingRectAction;
 };