diff --git a/src/libs/qmljs/parser/qmljslexer.cpp b/src/libs/qmljs/parser/qmljslexer.cpp
index cf3ed34c1e06a9b13c6f2c4c91c4fc8a5f260362..efb4133a56cd5bbb740a35c8eff469b72efe1e47 100644
--- a/src/libs/qmljs/parser/qmljslexer.cpp
+++ b/src/libs/qmljs/parser/qmljslexer.cpp
@@ -56,9 +56,11 @@
 #include <stdio.h>
 #include <string.h>
 
-QT_QML_BEGIN_NAMESPACE
-
+QT_BEGIN_NAMESPACE
 extern double qstrtod(const char *s00, char const **se, bool *ok);
+QT_END_NAMESPACE
+
+QT_QML_BEGIN_NAMESPACE
 
 #define shiftWindowsLineBreak() \
     do { \
diff --git a/src/plugins/qmldesigner/components/formeditor/abstractformeditortool.h b/src/plugins/qmldesigner/components/formeditor/abstractformeditortool.h
index c2e387c696f5877fe80d7365196f695e31d2875a..c240363569be48770c7f9702a398fdd4a057c4b8 100644
--- a/src/plugins/qmldesigner/components/formeditor/abstractformeditortool.h
+++ b/src/plugins/qmldesigner/components/formeditor/abstractformeditortool.h
@@ -32,7 +32,9 @@
 
 #include "formeditoritem.h"
 
+QT_BEGIN_NAMESPACE
 class QGraphicsItem;
+QT_END_NAMESPACE
 
 namespace QmlDesigner {
 
diff --git a/src/plugins/qmldesigner/components/formeditor/formeditoritem.h b/src/plugins/qmldesigner/components/formeditor/formeditoritem.h
index 9594f4a17a5b3811058a555b40a8fb7fa6ce32e3..959be9e31578f071c464dcc82c50ee62d8108830 100644
--- a/src/plugins/qmldesigner/components/formeditor/formeditoritem.h
+++ b/src/plugins/qmldesigner/components/formeditor/formeditoritem.h
@@ -35,7 +35,9 @@
 #include <qmlitemnode.h>
 #include "snappinglinecreator.h"
 
+QT_BEGIN_NAMESPACE
 class QTimeLine;
+QT_END_NAMESPACE
 
 namespace QmlDesigner {
 
diff --git a/src/plugins/qmldesigner/components/formeditor/formeditorscene.h b/src/plugins/qmldesigner/components/formeditor/formeditorscene.h
index ec1eebd22ec790d06e49ab5545416504fffe2ffb..1b01fb5bf76718193b1e8b92596aff2e1b3631a8 100644
--- a/src/plugins/qmldesigner/components/formeditor/formeditorscene.h
+++ b/src/plugins/qmldesigner/components/formeditor/formeditorscene.h
@@ -37,8 +37,9 @@
 #include <qmlitemnode.h>
 #include "abstractformeditortool.h"
 
-
+QT_BEGIN_NAMESPACE
 class QGraphicsSceneMouseEvent;
+QT_END_NAMESPACE
 
 namespace QmlDesigner {
 
diff --git a/src/plugins/qmldesigner/components/formeditor/formeditorview.h b/src/plugins/qmldesigner/components/formeditor/formeditorview.h
index 974a3c29afa731f0b9e0e85861a9d8c2b418a5a6..6c6633a781309e1fd7a54c469dcfd976443cf836 100644
--- a/src/plugins/qmldesigner/components/formeditor/formeditorview.h
+++ b/src/plugins/qmldesigner/components/formeditor/formeditorview.h
@@ -32,8 +32,10 @@
 
 #include <qmlmodelview.h>
 
+QT_BEGIN_NAMESPACE
 class QGraphicsScene;
 class QGraphicsSceneMouseEvent;
+QT_END_NAMESPACE
 
 namespace QmlDesigner {
 
diff --git a/src/plugins/qmldesigner/components/formeditor/formeditorwidget.h b/src/plugins/qmldesigner/components/formeditor/formeditorwidget.h
index 688ef5839385b9b12a790b37d5e3af6d2be3b8aa..56812034094f1813f25c933138b5bd1533a9cbcb 100644
--- a/src/plugins/qmldesigner/components/formeditor/formeditorwidget.h
+++ b/src/plugins/qmldesigner/components/formeditor/formeditorwidget.h
@@ -32,7 +32,9 @@
 
 #include <QWidget>
 
+QT_BEGIN_NAMESPACE
 class QActionGroup;
+QT_END_NAMESPACE
 
 namespace QmlDesigner {
 
diff --git a/src/plugins/qmldesigner/components/formeditor/numberseriesaction.h b/src/plugins/qmldesigner/components/formeditor/numberseriesaction.h
index e6a8c82f160551a8f54193cb58c87ca7c6881556..bc5ec13d6db042af72076d107a157f56482c0424 100644
--- a/src/plugins/qmldesigner/components/formeditor/numberseriesaction.h
+++ b/src/plugins/qmldesigner/components/formeditor/numberseriesaction.h
@@ -32,7 +32,9 @@
 
 #include <QWidgetAction>
 
+QT_BEGIN_NAMESPACE
 class QStandardItemModel;
+QT_END_NAMESPACE
 
 namespace QmlDesigner {
 
diff --git a/src/plugins/qmldesigner/components/formeditor/snapper.h b/src/plugins/qmldesigner/components/formeditor/snapper.h
index a176b4e6e1296f1bbd116e593e6df598435d1604..6f9e0f744b77d74a89a5b1e3b658c8f581b1fa06 100644
--- a/src/plugins/qmldesigner/components/formeditor/snapper.h
+++ b/src/plugins/qmldesigner/components/formeditor/snapper.h
@@ -32,7 +32,9 @@
 
 #include "formeditoritem.h"
 
+QT_BEGIN_NAMESPACE
 class QLineF;
+QT_END_NAMESPACE
 
 namespace QmlDesigner {
 
diff --git a/src/plugins/qmldesigner/components/formeditor/toolbox.h b/src/plugins/qmldesigner/components/formeditor/toolbox.h
index 98fed3a271949f345730b6c3fdd06849d2f23106..8406e57111f4839d459f00e4d80947caf96e9348 100644
--- a/src/plugins/qmldesigner/components/formeditor/toolbox.h
+++ b/src/plugins/qmldesigner/components/formeditor/toolbox.h
@@ -32,7 +32,9 @@
 
 #include <QWidget>
 
+QT_BEGIN_NAMESPACE
 class QToolBar;
+QT_END_NAMESPACE
 
 namespace QmlDesigner {
 
diff --git a/src/plugins/qmldesigner/components/formeditor/zoomaction.h b/src/plugins/qmldesigner/components/formeditor/zoomaction.h
index 02ceb9acc0ea5c66af7669eceb4006841833c0af..9494ee031edc0aba3dd8a3121d59426d72781ae2 100644
--- a/src/plugins/qmldesigner/components/formeditor/zoomaction.h
+++ b/src/plugins/qmldesigner/components/formeditor/zoomaction.h
@@ -32,7 +32,9 @@
 
 #include <QWidgetAction>
 
+QT_BEGIN_NAMESPACE
 class QAbstractItemModel;
+QT_END_NAMESPACE
 
 namespace QmlDesigner {
 
diff --git a/src/plugins/qmldesigner/components/integration/componentaction.h b/src/plugins/qmldesigner/components/integration/componentaction.h
index e4ee74645fc16437800499904ebe23cbc854f1fa..ce4f6e5cde69631e5ce6d64f77bcc060e271c9c3 100644
--- a/src/plugins/qmldesigner/components/integration/componentaction.h
+++ b/src/plugins/qmldesigner/components/integration/componentaction.h
@@ -33,7 +33,9 @@
 #include <QWidgetAction>
 #include <QWeakPointer>
 
+QT_BEGIN_NAMESPACE
 class QComboBox;
+QT_END_NAMESPACE
 
 namespace QmlDesigner {
 
diff --git a/src/plugins/qmldesigner/components/integration/componentview.h b/src/plugins/qmldesigner/components/integration/componentview.h
index 47c74ff239d5bc144a2bb9359bc6caa70e4cf368..d40e037df17f36f0ee3f85529b331104df0c58ba 100644
--- a/src/plugins/qmldesigner/components/integration/componentview.h
+++ b/src/plugins/qmldesigner/components/integration/componentview.h
@@ -35,7 +35,9 @@
 
 #include <QStringList>
 
+QT_BEGIN_NAMESPACE
 class QStandardItemModel;
+QT_END_NAMESPACE
 
 namespace QmlDesigner {
 
diff --git a/src/plugins/qmldesigner/components/integration/designdocumentcontroller.h b/src/plugins/qmldesigner/components/integration/designdocumentcontroller.h
index c4488ec884fb35de024872570c753c62dee5c0f0..1d4384fa2dfa508b4ccbe6d5278f16eac57702de 100644
--- a/src/plugins/qmldesigner/components/integration/designdocumentcontroller.h
+++ b/src/plugins/qmldesigner/components/integration/designdocumentcontroller.h
@@ -35,12 +35,14 @@
 #include <QtCore/QObject>
 #include <QtCore/QString>
 
+QT_BEGIN_NAMESPACE
 class QUndoStack;
 class QWidget;
 class QIODevice;
 class QProcess;
 class QPlainTextEdit;
 class QmlError;
+QT_END_NAMESPACE
 
 namespace QmlDesigner {
 
diff --git a/src/plugins/qmldesigner/components/integration/integrationcore.h b/src/plugins/qmldesigner/components/integration/integrationcore.h
index 170eb6ac48daf70fef41bd0d9e001d12783a5cac..a92905266adae5a732772cf0ad8c68a616e9f02e 100644
--- a/src/plugins/qmldesigner/components/integration/integrationcore.h
+++ b/src/plugins/qmldesigner/components/integration/integrationcore.h
@@ -32,8 +32,10 @@
 
 #include <QtCore/QObject>
 
+QT_BEGIN_NAMESPACE
 class QWidget;
 class QDialog;
+QT_END_NAMESPACE
 
 namespace QmlDesigner {
 
diff --git a/src/plugins/qmldesigner/components/itemlibrary/customdraganddrop.h b/src/plugins/qmldesigner/components/itemlibrary/customdraganddrop.h
index df50fe6c32fedc7dcdc258d47ddcb406da27dd02..e200d8427ea0d5b9460841e2a49aea2b981d767e 100644
--- a/src/plugins/qmldesigner/components/itemlibrary/customdraganddrop.h
+++ b/src/plugins/qmldesigner/components/itemlibrary/customdraganddrop.h
@@ -32,7 +32,9 @@
 #include <QTimeLine>
 #include <QDrag>
 
+QT_BEGIN_NAMESPACE
 class QMimeData;
+QT_END_NAMESPACE
 
 namespace QmlDesigner {
 
diff --git a/src/plugins/qmldesigner/components/itemlibrary/itemlibrary.h b/src/plugins/qmldesigner/components/itemlibrary/itemlibrary.h
index 309e120490bf081c8794619403c508369a67263e..28295292e743359577319800c3d82168a2820b06 100644
--- a/src/plugins/qmldesigner/components/itemlibrary/itemlibrary.h
+++ b/src/plugins/qmldesigner/components/itemlibrary/itemlibrary.h
@@ -32,9 +32,11 @@
 
 #include <QtGui/QFrame>
 
+QT_BEGIN_NAMESPACE
 class QGraphicsItem;
 class QPixmap;
 class QMimeData;
+QT_END_NAMESPACE
 
 namespace QmlDesigner {
 
diff --git a/src/plugins/qmldesigner/components/itemlibrary/itemlibrarymodel.h b/src/plugins/qmldesigner/components/itemlibrary/itemlibrarymodel.h
index f969fdf8859b781d5af38a6647a8a976c9b01cff..4c4e00d13681606636db46a6fa1cda496f91a478 100644
--- a/src/plugins/qmldesigner/components/itemlibrary/itemlibrarymodel.h
+++ b/src/plugins/qmldesigner/components/itemlibrary/itemlibrarymodel.h
@@ -36,7 +36,9 @@
 #include <QDebug>
 #include <QTimeLine>
 
+QT_BEGIN_NAMESPACE
 class QLabel;
+QT_END_NAMESPACE
 
 namespace QmlDesigner {
 
diff --git a/src/plugins/qmldesigner/components/navigator/navigatortreeview.h b/src/plugins/qmldesigner/components/navigator/navigatortreeview.h
index 495f00f00ad9661927b85685da87b40edb0e07fd..1d640a1f42dac24877733ca4f44f57d9c1601dce 100644
--- a/src/plugins/qmldesigner/components/navigator/navigatortreeview.h
+++ b/src/plugins/qmldesigner/components/navigator/navigatortreeview.h
@@ -37,10 +37,12 @@
 
 #include <QPainter>
 
+QT_BEGIN_NAMESPACE
 class QTreeView;
 class QStandardItem;
 class QItemSelection;
 class QModelIndex;
+QT_END_NAMESPACE
 
 namespace QmlDesigner {
 
diff --git a/src/plugins/qmldesigner/components/navigator/navigatorview.h b/src/plugins/qmldesigner/components/navigator/navigatorview.h
index fa8b3b8530ad4f022b9405d6886472f061e21e1e..7a2315dc5263028a4de80c3d3455d470aaa38efe 100644
--- a/src/plugins/qmldesigner/components/navigator/navigatorview.h
+++ b/src/plugins/qmldesigner/components/navigator/navigatorview.h
@@ -34,10 +34,12 @@
 
 #include <QWeakPointer>
 
+QT_BEGIN_NAMESPACE
 class QTreeView;
 class QStandardItem;
 class QItemSelection;
 class QModelIndex;
+QT_END_NAMESPACE
 
 namespace QmlDesigner {
 
diff --git a/src/plugins/qmldesigner/components/pluginmanager/iplugin.h b/src/plugins/qmldesigner/components/pluginmanager/iplugin.h
index 4c2dd453150f755b3fa7d9b301c4e7f5b58a978c..7f81eb405fd2859af578eee80dc36ad00813961f 100644
--- a/src/plugins/qmldesigner/components/pluginmanager/iplugin.h
+++ b/src/plugins/qmldesigner/components/pluginmanager/iplugin.h
@@ -51,6 +51,8 @@ public:
 
 } // namespace QmlDesigner
 
+QT_BEGIN_NAMESPACE
 Q_DECLARE_INTERFACE(QmlDesigner::IPlugin, QMLDESIGNER_PLUGIN_INTERFACE)
+QT_END_NAMESPACE
 
 #endif // IPLUGIN_H
diff --git a/src/plugins/qmldesigner/components/pluginmanager/pluginmanager.h b/src/plugins/qmldesigner/components/pluginmanager/pluginmanager.h
index 62afc2c5a58d79aa448dab39e62edcab38055005..dae4e9264fa964f100473f25ef39f3453a812523 100644
--- a/src/plugins/qmldesigner/components/pluginmanager/pluginmanager.h
+++ b/src/plugins/qmldesigner/components/pluginmanager/pluginmanager.h
@@ -34,9 +34,11 @@
 #include <QtCore/QObject>
 #include <QtCore/QList>
 
+QT_BEGIN_NAMESPACE
 class QString;
 class QAbstractItemModel;
 class QDialog;
+QT_END_NAMESPACE
 
 namespace QmlDesigner {
 
diff --git a/src/plugins/qmldesigner/components/propertyeditor/basiclayouts.h b/src/plugins/qmldesigner/components/propertyeditor/basiclayouts.h
index 9fe36c2d8f138f8a8aca38daf90aa1fb446e2376..527059dd3a63441acc0fc7e7c95c9d173c250822 100644
--- a/src/plugins/qmldesigner/components/propertyeditor/basiclayouts.h
+++ b/src/plugins/qmldesigner/components/propertyeditor/basiclayouts.h
@@ -160,7 +160,6 @@ private:
     int mTop, mLeft, mBottom, mRight;
 
 };
-QML_DECLARE_TYPE(QBoxLayoutObject);
 
 class QHBoxLayoutObject : public QBoxLayoutObject
 {
@@ -168,7 +167,6 @@ Q_OBJECT
 public:
     QHBoxLayoutObject(QObject *parent=0);
 };
-QML_DECLARE_TYPE(QHBoxLayoutObject);
 
 class QVBoxLayoutObject : public QBoxLayoutObject
 {
@@ -176,11 +174,14 @@ Q_OBJECT
 public:
     QVBoxLayoutObject(QObject *parent=0);
 };
-QML_DECLARE_TYPE(QVBoxLayoutObject);
 
 #endif // BASICLAYOUTS_H
 
 
 QT_END_NAMESPACE
 
+QML_DECLARE_TYPE(QBoxLayoutObject);
+QML_DECLARE_TYPE(QHBoxLayoutObject);
+QML_DECLARE_TYPE(QVBoxLayoutObject);
+
 QT_END_HEADER
diff --git a/src/plugins/qmldesigner/components/propertyeditor/basicwidgets.cpp b/src/plugins/qmldesigner/components/propertyeditor/basicwidgets.cpp
index acf77eda89b45a568de346655c07aa900fd7f87f..3ffdc18a9558a2146467f5f2650572ad0ff3f9ad 100644
--- a/src/plugins/qmldesigner/components/propertyeditor/basicwidgets.cpp
+++ b/src/plugins/qmldesigner/components/propertyeditor/basicwidgets.cpp
@@ -1109,9 +1109,6 @@ void QGroupBoxDeclarativeUI::animate(int frame)
     gb->update();
 }
 
-QML_DECLARE_TYPE(QTabObject);
-QML_DEFINE_TYPE(Qt,4,6,QTabObject,QTabObject); //### with namespacing, this should just be 'Tab'
-
 class QTabWidgetDeclarativeUI : public QObject
 {
     Q_OBJECT
@@ -1171,6 +1168,8 @@ public:
     {}
 };
 
+QT_END_NAMESPACE
+
 QML_DEFINE_EXTENDED_TYPE(Bauhaus,1,0,QWidget,QWidget,QWidgetDeclarativeUI);
 
 //display
@@ -1230,7 +1229,7 @@ QML_DEFINE_EXTENDED_TYPE(Bauhaus,1,0,QMenu,QMenu, QMenuDeclarativeUI)
 //QML_DEFINE_TYPE(Bauhaus,1,0,BauhausreeView,BauhausreeView);
 //QML_DEFINE_TYPE(Bauhaus,1,0,BauhausableView,BauhausableView);
 
+QML_DECLARE_TYPE(QTabObject);
+QML_DEFINE_TYPE(Qt,4,6,QTabObject,QTabObject); //### with namespacing, this should just be 'Tab'
 
 #include "basicwidgets.moc"
-
-QT_END_NAMESPACE
diff --git a/src/plugins/qmldesigner/components/propertyeditor/basicwidgets.h b/src/plugins/qmldesigner/components/propertyeditor/basicwidgets.h
index 46dccf1c2c75cc668296554363734f5aa9e16a46..b44eac30f586a8483e08d4847d5855ff75ca3687 100644
--- a/src/plugins/qmldesigner/components/propertyeditor/basicwidgets.h
+++ b/src/plugins/qmldesigner/components/propertyeditor/basicwidgets.h
@@ -57,9 +57,6 @@
 #include "filewidget.h"
 #include "layoutwidget.h"
 
-
-QT_BEGIN_NAMESPACE
-
 QML_DECLARE_TYPE(QWidget);
 
 //display
@@ -97,12 +94,16 @@ QML_DECLARE_TYPE(QTabWidget);
 QML_DECLARE_TYPE(FileWidget);
 QML_DECLARE_TYPE(LayoutWidget);
 
+QT_BEGIN_NAMESPACE
+
 class Action : public QAction {
     Q_OBJECT
 public:
     Action(QObject *parent = 0) : QAction(parent) {}
 };
 
+QT_END_NAMESPACE
+
 QML_DECLARE_TYPE(QMenu);
 QML_DECLARE_TYPE(Action);
 
@@ -115,6 +116,4 @@ QML_DECLARE_TYPE(Action);
 
 //top-level windows?
 
-
-QT_END_NAMESPACE
 #endif // BASICWIDGETS_H
diff --git a/src/plugins/qmldesigner/components/propertyeditor/colorwidget.h b/src/plugins/qmldesigner/components/propertyeditor/colorwidget.h
index ad316b8b1d9eef50c69d11be6d48452a0ee9da3c..51e317981fa18e57c9b9b82e0bb6f3e2349d22be 100644
--- a/src/plugins/qmldesigner/components/propertyeditor/colorwidget.h
+++ b/src/plugins/qmldesigner/components/propertyeditor/colorwidget.h
@@ -39,9 +39,10 @@
 #include <qml.h>
 #include <propertyeditorvalue.h>
 
-
+QT_BEGIN_NAMESPACE
 class QtColorButton;
 class QToolButton;
+QT_END_NAMESPACE
 
 namespace QmlDesigner {
 
diff --git a/src/plugins/qmldesigner/components/propertyeditor/fontwidget.h b/src/plugins/qmldesigner/components/propertyeditor/fontwidget.h
index 5bc8afbf82130c04c520dc4e5816416ece0c75be..d04e5e4e332dd7c40d28d7afbfcd65c8105d2209 100644
--- a/src/plugins/qmldesigner/components/propertyeditor/fontwidget.h
+++ b/src/plugins/qmldesigner/components/propertyeditor/fontwidget.h
@@ -35,10 +35,11 @@
 #include <qml.h>
 
 
-
+QT_BEGIN_NAMESPACE
 class QLabel;
 class QPushButton;
 class QFontDialog;
+QT_END_NAMESPACE
 
 namespace QmlDesigner {
 
diff --git a/src/plugins/qmldesigner/components/propertyeditor/propertyeditor.h b/src/plugins/qmldesigner/components/propertyeditor/propertyeditor.h
index 5e6f4851437cd73cb2f758991b85767f948e8d38..9dc318aafad02b7539b5e8ee2b05ac3327887708 100644
--- a/src/plugins/qmldesigner/components/propertyeditor/propertyeditor.h
+++ b/src/plugins/qmldesigner/components/propertyeditor/propertyeditor.h
@@ -37,8 +37,10 @@
 
 #include "qmlanchorbindingproxy.h"
 
+QT_BEGIN_NAMESPACE
 class QShortcut;
 class QStackedWidget;
+QT_END_NAMESPACE
 
 namespace QmlDesigner {
 
diff --git a/src/plugins/qmldesigner/components/propertyeditor/qlayoutobject.h b/src/plugins/qmldesigner/components/propertyeditor/qlayoutobject.h
index edb3257147d7b4b4c8cfda93e423794a98aeb01d..13b79862b468e4b61577714ce9d18f16617d8734 100644
--- a/src/plugins/qmldesigner/components/propertyeditor/qlayoutobject.h
+++ b/src/plugins/qmldesigner/components/propertyeditor/qlayoutobject.h
@@ -48,11 +48,11 @@ public:
 
     virtual QLayout *layout() const;
 };
-QML_DECLARE_TYPE(QLayoutObject);
-
-#endif // QLAYOUTOBJECT_H
-
 
 QT_END_NAMESPACE
 
+QML_DECLARE_TYPE(QLayoutObject);
+
 QT_END_HEADER
+
+#endif // QLAYOUTOBJECT_H
diff --git a/src/plugins/qmldesigner/components/propertyeditor/qproxylayoutitem.h b/src/plugins/qmldesigner/components/propertyeditor/qproxylayoutitem.h
index d4c57de32b3c55349bdd1b5754c613b6ee8de605..f511489e8048affe7426e86ee48274abbaa26949 100644
--- a/src/plugins/qmldesigner/components/propertyeditor/qproxylayoutitem.h
+++ b/src/plugins/qmldesigner/components/propertyeditor/qproxylayoutitem.h
@@ -63,7 +63,6 @@ private:
     QRectF geometry;
     QGraphicsLayout *proxy;
 };
-QML_DECLARE_TYPE(QProxyLayout);
 
 class QProxyLayoutItem : public QObject, public QGraphicsLayoutItem
 {
@@ -87,10 +86,12 @@ private:
     QRectF geometry;
     QGraphicsLayoutItem *other;
 };
-QML_DECLARE_TYPE(QProxyLayoutItem);
 
 #endif // QPROXYLAYOUTITEM_H
 
 QT_END_NAMESPACE
 
+QML_DECLARE_TYPE(QProxyLayout);
+QML_DECLARE_TYPE(QProxyLayoutItem);
+
 QT_END_HEADER
diff --git a/src/plugins/qmldesigner/components/propertyeditor/resetwidget.h b/src/plugins/qmldesigner/components/propertyeditor/resetwidget.h
index ddc4c5c1de934c2a90682cf900f4c823b5dbd979..4956c9599857924358325d8d0eafe73dc4747e79 100644
--- a/src/plugins/qmldesigner/components/propertyeditor/resetwidget.h
+++ b/src/plugins/qmldesigner/components/propertyeditor/resetwidget.h
@@ -33,9 +33,11 @@
 #include <QtGui/QGroupBox>
 #include <QtGui/QPushButton>
 
+QT_BEGIN_NAMESPACE
 class QListWidget;
 class QVBoxLayout;
 class QTableWidget;
+QT_END_NAMESPACE
 
 namespace QmlDesigner {
 
diff --git a/src/plugins/qmldesigner/core/include/abstractproperty.h b/src/plugins/qmldesigner/core/include/abstractproperty.h
index 3cd457bd683fbdda4b10a6c101e916305b737ed0..6ed24496dc7085aa02fc3895507f93c7b798d317 100644
--- a/src/plugins/qmldesigner/core/include/abstractproperty.h
+++ b/src/plugins/qmldesigner/core/include/abstractproperty.h
@@ -35,7 +35,9 @@
 #include <QSharedPointer>
 #include "corelib_global.h"
 
+QT_BEGIN_NAMESPACE
 class QTextStream;
+QT_END_NAMESPACE
 
 namespace QmlDesigner {
     namespace Internal {
diff --git a/src/plugins/qmldesigner/core/include/abstractview.h b/src/plugins/qmldesigner/core/include/abstractview.h
index 45c813b181817fd78760ef3d899457c95d02bd8c..6a17fddfe9487ac798e2a88b06d7fe6b822263f5 100644
--- a/src/plugins/qmldesigner/core/include/abstractview.h
+++ b/src/plugins/qmldesigner/core/include/abstractview.h
@@ -39,7 +39,9 @@
 
 #include <QObject>
 
+QT_BEGIN_NAMESPACE
 class QStyle;
+QT_END_NAMESPACE
 
 namespace QmlDesigner {
     namespace Internal {
diff --git a/src/plugins/qmldesigner/core/include/iwidgetplugin.h b/src/plugins/qmldesigner/core/include/iwidgetplugin.h
index c151aaa948c74576ccf2a6e1152b64db9b1b830d..3a0166bba63e2a4749dbbccfdc932675af5ca065 100644
--- a/src/plugins/qmldesigner/core/include/iwidgetplugin.h
+++ b/src/plugins/qmldesigner/core/include/iwidgetplugin.h
@@ -47,6 +47,8 @@ public:
 
 } // namespace QmlDesigner
 
+QT_BEGIN_NAMESPACE
 Q_DECLARE_INTERFACE(QmlDesigner::IWidgetPlugin, QMLDESIGNER_WIDGETPLUGIN_INTERFACE)
+QT_END_NAMESPACE
 
 #endif // IWIDGETPLUGIN_H
diff --git a/src/plugins/qmldesigner/core/include/model.h b/src/plugins/qmldesigner/core/include/model.h
index e4ebc81954f8772275e6facbfaf23173bf31b91f..42dd7cc7b550da075761f425f792eb6d3d637d7a 100644
--- a/src/plugins/qmldesigner/core/include/model.h
+++ b/src/plugins/qmldesigner/core/include/model.h
@@ -38,7 +38,9 @@
 
 #include <import.h>
 
+QT_BEGIN_NAMESPACE
 class QUrl;
+QT_END_NAMESPACE
 
 namespace QmlDesigner {
 
diff --git a/src/plugins/qmldesigner/core/include/modelnode.h b/src/plugins/qmldesigner/core/include/modelnode.h
index 64164a7e20343c75e034978f235cfb3dc7841a2c..b62ab780c9e00e2f9d60e7f8565e5f62ff462799 100644
--- a/src/plugins/qmldesigner/core/include/modelnode.h
+++ b/src/plugins/qmldesigner/core/include/modelnode.h
@@ -36,7 +36,9 @@
 #include <QtCore/QMetaType>
 #include <QVariant>
 
+QT_BEGIN_NAMESPACE
 class QTextStream;
+QT_END_NAMESPACE
 
 namespace QmlDesigner {
 
diff --git a/src/plugins/qmldesigner/core/include/nodeinstance.h b/src/plugins/qmldesigner/core/include/nodeinstance.h
index 496007c3bd8eaef2792385084d081a4ddc006fcd..45734ab6ccb3ee1415851a1f388624233cfe45e5 100644
--- a/src/plugins/qmldesigner/core/include/nodeinstance.h
+++ b/src/plugins/qmldesigner/core/include/nodeinstance.h
@@ -37,11 +37,13 @@
 #include <propertymetainfo.h>
 #include <qmlanchors.h>
 
+QT_BEGIN_NAMESPACE
 class QPainter;
 class QStyleOptionGraphicsItem;
 class QmlContext;
 class QGraphicsItem;
 class QGraphicsTransform;
+QT_END_NAMESPACE
 
 namespace QmlDesigner {
 
diff --git a/src/plugins/qmldesigner/core/include/nodeinstanceview.h b/src/plugins/qmldesigner/core/include/nodeinstanceview.h
index a97d7bf364e304ed1eaab59a64a3f0432c5acfa8..a234f370cf590260837705deeda7e168648cd3fd 100644
--- a/src/plugins/qmldesigner/core/include/nodeinstanceview.h
+++ b/src/plugins/qmldesigner/core/include/nodeinstanceview.h
@@ -41,9 +41,11 @@
 #include <modelnode.h>
 #include <nodeinstance.h>
 
+QT_BEGIN_NAMESPACE
 class QmlEngine;
 class QGraphicsScene;
 class QGraphicsView;
+QT_END_NAMESPACE
 
 namespace QmlDesigner {
 
diff --git a/src/plugins/qmldesigner/core/include/nodemetainfo.h b/src/plugins/qmldesigner/core/include/nodemetainfo.h
index 7b80ef07072b67469d7cfa09e8bba68c8045358c..bf1a9313245ec213b2343bc5c58bccc8fca42000 100644
--- a/src/plugins/qmldesigner/core/include/nodemetainfo.h
+++ b/src/plugins/qmldesigner/core/include/nodemetainfo.h
@@ -38,7 +38,9 @@
 #include "corelib_global.h"
 #include "invalidmetainfoexception.h"
 
+QT_BEGIN_NAMESPACE
 class QmlContext;
+QT_END_NAMESPACE
 
 namespace QmlDesigner {
 
diff --git a/src/plugins/qmldesigner/core/include/variantproperty.h b/src/plugins/qmldesigner/core/include/variantproperty.h
index 76a93c5662ca4f301431bd21569a83427acef49d..58c55de5e47c997cbf9d7bd377e517f72f34a990 100644
--- a/src/plugins/qmldesigner/core/include/variantproperty.h
+++ b/src/plugins/qmldesigner/core/include/variantproperty.h
@@ -33,6 +33,9 @@
 #include "corelib_global.h"
 #include "abstractproperty.h"
 
+QT_BEGIN_NAMESPACE
+class QTextStream;
+QT_END_NAMESPACE
 
 namespace QmlDesigner {
 
diff --git a/src/plugins/qmldesigner/core/instances/componentnodeinstance.h b/src/plugins/qmldesigner/core/instances/componentnodeinstance.h
index 4554e57ad51d8f1a396c49ab90b21927aa3ccf34..d5b751c18152c6f3763ccbca87e05054ff38aac4 100644
--- a/src/plugins/qmldesigner/core/instances/componentnodeinstance.h
+++ b/src/plugins/qmldesigner/core/instances/componentnodeinstance.h
@@ -32,7 +32,9 @@
 
 #include "objectnodeinstance.h"
 
+QT_BEGIN_NAMESPACE
 class QmlComponent;
+QT_END_NAMESPACE
 
 namespace QmlDesigner {
 namespace Internal {
diff --git a/src/plugins/qmldesigner/core/instances/graphicsobjectnodeinstance.h b/src/plugins/qmldesigner/core/instances/graphicsobjectnodeinstance.h
index 797b064f674d655bc3ccb2d007913cd50ff7e729..24e2755d1819bf2352bde9dfd27c0a7570dfae24 100644
--- a/src/plugins/qmldesigner/core/instances/graphicsobjectnodeinstance.h
+++ b/src/plugins/qmldesigner/core/instances/graphicsobjectnodeinstance.h
@@ -32,7 +32,9 @@
 
 #include "objectnodeinstance.h"
 
+QT_BEGIN_NAMESPACE
 class QGraphicsObject;
+QT_END_NAMESPACE
 
 namespace QmlDesigner {
 namespace Internal {
diff --git a/src/plugins/qmldesigner/core/instances/objectnodeinstance.h b/src/plugins/qmldesigner/core/instances/objectnodeinstance.h
index 49f5d789e8c6950a56d6692890764e1b0bddaa5c..a21f18e66b4979779529119d87eb457c859334ed 100644
--- a/src/plugins/qmldesigner/core/instances/objectnodeinstance.h
+++ b/src/plugins/qmldesigner/core/instances/objectnodeinstance.h
@@ -40,11 +40,13 @@
 #include <nodeinstanceview.h>
 #include "nodeinstancemetaobject.h"
 
+QT_BEGIN_NAMESPACE
 class QGraphicsItem;
 class QmlContext;
 class QmlMetaProperty;
 class QmlContext;
 class QmlBinding;
+QT_END_NAMESPACE
 
 namespace QmlDesigner {
 
diff --git a/src/plugins/qmldesigner/core/instances/qmltransitionnodeinstance.h b/src/plugins/qmldesigner/core/instances/qmltransitionnodeinstance.h
index 4202549efa30ffd1069d64bfaa27c136a4d7da71..64922c6ae495bec587ebc73196de7773233d47e2 100644
--- a/src/plugins/qmldesigner/core/instances/qmltransitionnodeinstance.h
+++ b/src/plugins/qmldesigner/core/instances/qmltransitionnodeinstance.h
@@ -32,7 +32,9 @@
 
 #include "objectnodeinstance.h"
 
+QT_BEGIN_NAMESPACE
 class QmlTransition;
+QT_END_NAMESPACE
 
 namespace QmlDesigner {
 namespace Internal {
diff --git a/src/plugins/qmldesigner/core/metainfo/subcomponentmanager.cpp b/src/plugins/qmldesigner/core/metainfo/subcomponentmanager.cpp
index daa243d909857b512c3ad21b666aafdf7826d6c6..3d1f5acf1032e29bce1f2de622a85f1c7de773b5 100644
--- a/src/plugins/qmldesigner/core/metainfo/subcomponentmanager.cpp
+++ b/src/plugins/qmldesigner/core/metainfo/subcomponentmanager.cpp
@@ -40,6 +40,7 @@
 
 enum { debug = false };
 
+QT_BEGIN_NAMESPACE
 
 // Allow usage of QFileInfo in hash / qSort
 
@@ -53,6 +54,7 @@ static uint qHash(const QFileInfo &fileInfo)
     return qHash(fileInfo.filePath());
 }
 
+QT_END_NAMESPACE
 
 namespace QmlDesigner {
 
diff --git a/src/plugins/qmldesigner/core/model/painteventfilter_p.h b/src/plugins/qmldesigner/core/model/painteventfilter_p.h
index 183ade321b4858d80427214ec6f0bb60419275db..a91ac1cc3815e512450f42185fe9811fdc68cbac 100644
--- a/src/plugins/qmldesigner/core/model/painteventfilter_p.h
+++ b/src/plugins/qmldesigner/core/model/painteventfilter_p.h
@@ -33,7 +33,9 @@
 #include <QObject>
 #include <QList>
 
+QT_BEGIN_NAMESPACE
 class QTimer;
+QT_END_NAMESPACE
 
 namespace QmlDesigner {
 namespace Internal {
diff --git a/src/plugins/qmldesigner/core/model/variantparser.h b/src/plugins/qmldesigner/core/model/variantparser.h
index 711e3b8f4ba613e30d22a2cf3c0c98c3b86b2cb0..5990f47f78b2fe50c50d833e848b62838d9842fd 100644
--- a/src/plugins/qmldesigner/core/model/variantparser.h
+++ b/src/plugins/qmldesigner/core/model/variantparser.h
@@ -34,7 +34,9 @@
 #include <QString>
 #include <QStringList>
 
+QT_BEGIN_NAMESPACE
 class QmlValueType;
+QT_END_NAMESPACE
 
 namespace QmlDesigner {
 namespace Internal {
diff --git a/src/plugins/qmldesigner/designmode.h b/src/plugins/qmldesigner/designmode.h
index 4f53b96e853e8b2bf23e20844d6af52f4a9da9d0..89e407b77a890a4141ae33e0a95c8fb37dc64b88 100644
--- a/src/plugins/qmldesigner/designmode.h
+++ b/src/plugins/qmldesigner/designmode.h
@@ -36,7 +36,9 @@
 
 #include <QWeakPointer>
 
+QT_BEGIN_NAMESPACE
 class QAction;
+QT_END_NAMESPACE
 
 namespace QmlDesigner {
 namespace Internal {
diff --git a/src/plugins/qmldesigner/designmodewidget.h b/src/plugins/qmldesigner/designmodewidget.h
index 8519716caf4c79b54e5860dd84a97598b04a2a4a..68ce3af9a62166fe56a03fed4d1ab74e9915939f 100644
--- a/src/plugins/qmldesigner/designmodewidget.h
+++ b/src/plugins/qmldesigner/designmodewidget.h
@@ -52,10 +52,12 @@
 #include <QtGui/QComboBox>
 #include <QtGui/QLabel>
 
+QT_BEGIN_NAMESPACE
 class QStackedWidget;
 class QTabWidget;
 class QVBoxLayout;
 class QToolButton;
+QT_END_NAMESPACE
 
 namespace Core {
     class SideBar;
diff --git a/src/plugins/qmlinspector/qmlinspectorplugin.h b/src/plugins/qmlinspector/qmlinspectorplugin.h
index ccec2f9b7c5d2c3ab9b955d6f9083c7ac8e5f688..e65e2c5612afc8c77a575434bf12f440c9d87a1a 100644
--- a/src/plugins/qmlinspector/qmlinspectorplugin.h
+++ b/src/plugins/qmlinspector/qmlinspectorplugin.h
@@ -34,6 +34,12 @@
 #include <QtCore/QObject>
 #include <QtCore/QPointer>
 
+namespace Core
+{
+    class IMode;
+}
+
+
 QT_BEGIN_NAMESPACE
 
 class QStringList;
@@ -41,11 +47,6 @@ class QStringList;
 class QmlInspectorMode;
 class InspectorOutputPane;
 
-namespace Core
-{
-    class IMode;
-}
-
 class QmlInspectorPlugin : public ExtensionSystem::IPlugin
 {
     Q_OBJECT