diff --git a/src/libs/cplusplus/BackwardsScanner.h b/src/libs/cplusplus/BackwardsScanner.h
index 7dd6798d1d635cd16392b7698682165bc6556cf3..4e1c569d43f5af8b3c357aaf589f289a178407a2 100644
--- a/src/libs/cplusplus/BackwardsScanner.h
+++ b/src/libs/cplusplus/BackwardsScanner.h
@@ -35,9 +35,10 @@
 
 #include "SimpleLexer.h"
 
-#include <QtGui/QTextCursor>
 #include <QtGui/QTextBlock>
 
+QT_FORWARD_DECLARE_CLASS(QTextCursor)
+
 namespace CPlusPlus {
 
 class CPLUSPLUS_EXPORT BackwardsScanner
diff --git a/src/libs/cplusplus/ExpressionUnderCursor.h b/src/libs/cplusplus/ExpressionUnderCursor.h
index 2a932f87035588cd07de1336619fa8bedd8153ec..15b4cb62001ee3374a8174de436d671eb46022a2 100644
--- a/src/libs/cplusplus/ExpressionUnderCursor.h
+++ b/src/libs/cplusplus/ExpressionUnderCursor.h
@@ -35,7 +35,7 @@
 #define CPLUSPLUS_EXPRESSIONUNDERCURSOR_H
 
 #include "CPlusPlusForwardDeclarations.h"
-#include <QList>
+#include <QtCore/QList>
 
 QT_BEGIN_NAMESPACE
 class QString;
diff --git a/src/libs/cplusplus/Icons.h b/src/libs/cplusplus/Icons.h
index 7da7f8243eeb6a1c8c977f6a0d7b9d2505a53fcd..055d7557dc86d8d1849a9f641b3c1d76259ae221 100644
--- a/src/libs/cplusplus/Icons.h
+++ b/src/libs/cplusplus/Icons.h
@@ -36,7 +36,7 @@
 
 #include "CPlusPlusForwardDeclarations.h"
 
-#include <QIcon>
+#include <QtGui/QIcon>
 
 namespace CPlusPlus {
 
diff --git a/src/libs/cplusplus/Macro.h b/src/libs/cplusplus/Macro.h
index 646426e69fe6e2f3cd86cdfc24ae0475197b575c..c5e45b6f0f437446503b82c3c1488ec65ce1c214 100644
--- a/src/libs/cplusplus/Macro.h
+++ b/src/libs/cplusplus/Macro.h
@@ -55,9 +55,9 @@
 
 #include <CPlusPlusForwardDeclarations.h>
 
-#include <QByteArray>
-#include <QVector>
-#include <QString>
+#include <QtCore/QByteArray>
+#include <QtCore/QVector>
+#include <QtCore/QString>
 
 namespace CPlusPlus {
 
diff --git a/src/libs/cplusplus/MatchingText.cpp b/src/libs/cplusplus/MatchingText.cpp
index 9185016eea62f95b565ec3857c3685b22d289c73..ebfa3065466086c84b4dfd8ced53bf96e6b94300 100644
--- a/src/libs/cplusplus/MatchingText.cpp
+++ b/src/libs/cplusplus/MatchingText.cpp
@@ -36,6 +36,9 @@
 #include <Token.h>
 
 #include <QtGui/QTextDocument>
+#include <QtGui/QTextCursor>
+
+#include <QtCore/QChar>
 #include <QtCore/QtDebug>
 
 using namespace CPlusPlus;
diff --git a/src/libs/cplusplus/MatchingText.h b/src/libs/cplusplus/MatchingText.h
index 4c4b1d5ba412ba098d629a4f9f9cbe64a3b15b32..a159ddcb9fbbce22e5ac2a453fcd44a89245f612 100644
--- a/src/libs/cplusplus/MatchingText.h
+++ b/src/libs/cplusplus/MatchingText.h
@@ -34,7 +34,9 @@
 #define CPLUSPLUS_MATCHINGTEXT_H
 
 #include <CPlusPlusForwardDeclarations.h>
-#include <QtGui/QTextCursor>
+
+QT_FORWARD_DECLARE_CLASS(QTextCursor)
+QT_FORWARD_DECLARE_CLASS(QChar)
 
 namespace CPlusPlus {
 
diff --git a/src/libs/cplusplus/NamePrettyPrinter.h b/src/libs/cplusplus/NamePrettyPrinter.h
index c80c3d15088de8fa29380c7ca7568ea69bdab5b8..ce3647b6a92d239f1a809febbf46b5bb2e272f97 100644
--- a/src/libs/cplusplus/NamePrettyPrinter.h
+++ b/src/libs/cplusplus/NamePrettyPrinter.h
@@ -35,7 +35,7 @@
 #define CPLUSPLUS_NAMEPRETTYPRINTER_H
 
 #include <NameVisitor.h>
-#include <QString>
+#include <QtCore/QString>
 
 namespace CPlusPlus {
 
diff --git a/src/libs/cplusplus/Overview.h b/src/libs/cplusplus/Overview.h
index 22cb7ecab8b3f25b3c60ea5eff6737b9d7f8cbf6..f48a57146679a7a2904c7b1f94f75bb0df7a22ea 100644
--- a/src/libs/cplusplus/Overview.h
+++ b/src/libs/cplusplus/Overview.h
@@ -35,7 +35,9 @@
 #define CPLUSPLUS_OVERVIEW_H
 
 #include <CPlusPlusForwardDeclarations.h>
-#include <QString>
+
+#include <QtCore/QList>
+#include <QtCore/QString>
 
 namespace CPlusPlus {
 
diff --git a/src/libs/cplusplus/OverviewModel.h b/src/libs/cplusplus/OverviewModel.h
index e5f3ec25d34ecd6e25c413350563c1cbab0eee48..43cd50b1f595fcaeaaa61cb8396ae382d26257f5 100644
--- a/src/libs/cplusplus/OverviewModel.h
+++ b/src/libs/cplusplus/OverviewModel.h
@@ -38,8 +38,7 @@
 #include "Overview.h"
 #include "Icons.h"
 
-#include <QAbstractItemModel>
-#include <QIcon>
+#include <QtCore/QAbstractItemModel>
 
 namespace CPlusPlus {
 
diff --git a/src/libs/extensionsystem/pluginmanager.cpp b/src/libs/extensionsystem/pluginmanager.cpp
index 6948c277439da2ad277d0d0d19e6b1c891d8f066..880ed63740db460695d37968a9f7d8ae1fe778e5 100644
--- a/src/libs/extensionsystem/pluginmanager.cpp
+++ b/src/libs/extensionsystem/pluginmanager.cpp
@@ -39,6 +39,7 @@
 #include "iplugin.h"
 #include "plugincollection.h"
 
+#include <QtCore/QEventLoop>
 #include <QtCore/QDateTime>
 #include <QtCore/QDir>
 #include <QtCore/QMetaProperty>
diff --git a/src/libs/extensionsystem/pluginmanager_p.h b/src/libs/extensionsystem/pluginmanager_p.h
index 3a3b888490e10bd793d634ccd37f1ca000c8469a..fa9c4afcb83ea85471b2feb7352ec6f309c7ba7f 100644
--- a/src/libs/extensionsystem/pluginmanager_p.h
+++ b/src/libs/extensionsystem/pluginmanager_p.h
@@ -36,16 +36,15 @@
 
 #include "pluginspec.h"
 
-#include <QtCore/QList>
 #include <QtCore/QSet>
 #include <QtCore/QStringList>
 #include <QtCore/QObject>
 #include <QtCore/QScopedPointer>
-#include <QtCore/QEventLoop>
 
 QT_BEGIN_NAMESPACE
 class QTime;
 class QSettings;
+class QEventLoop;
 QT_END_NAMESPACE
 
 namespace ExtensionSystem {
diff --git a/src/libs/qmleditorwidgets/colorbox.h b/src/libs/qmleditorwidgets/colorbox.h
index 53927dcac262c0817b4baa402f8294568a46892c..b3600455ca0ab2ebc78bc3e1c19d790f0adc02bb 100644
--- a/src/libs/qmleditorwidgets/colorbox.h
+++ b/src/libs/qmleditorwidgets/colorbox.h
@@ -36,8 +36,7 @@
 
 #include <qmleditorwidgets_global.h>
 #include <QtGui/QWidget>
-#include <QToolButton>
-#include <qdeclarative.h>
+#include <QtDeclarative/qdeclarative.h>
 
 namespace QmlEditorWidgets {
 
diff --git a/src/libs/qmleditorwidgets/colorbutton.h b/src/libs/qmleditorwidgets/colorbutton.h
index 51c779d4c2c5789670d143133c2a4e45a1e87233..a9361b7a9c128299d745dc84e8df7d033e0571b9 100644
--- a/src/libs/qmleditorwidgets/colorbutton.h
+++ b/src/libs/qmleditorwidgets/colorbutton.h
@@ -35,9 +35,8 @@
 #define COLORBUTTON_H
 
 #include <qmleditorwidgets_global.h>
-#include <QtGui/QWidget>
-#include <QToolButton>
-#include <qdeclarative.h>
+#include <QtGui/QToolButton>
+#include <QtDeclarative/qdeclarative.h>
 
 namespace QmlEditorWidgets {
 
diff --git a/src/libs/qmleditorwidgets/colorwidgets.h b/src/libs/qmleditorwidgets/colorwidgets.h
index bcc3b825cec7c83fe4b3d43abb0495e1cdeabcd9..5af6dec064c75301f08d00be121c570f32625fc7 100644
--- a/src/libs/qmleditorwidgets/colorwidgets.h
+++ b/src/libs/qmleditorwidgets/colorwidgets.h
@@ -35,16 +35,6 @@
 #define COLORWIDGET_H
 
 #include <qmleditorwidgets_global.h>
-#include <QWeakPointer>
-#include <QtGui/QWidget>
-#include <QLabel>
-#include <QToolButton>
-#include <QMouseEvent>
-
-
-QT_BEGIN_NAMESPACE
-class QToolButton;
-QT_END_NAMESPACE
 
 namespace QmlEditorWidgets {
 
@@ -52,11 +42,8 @@ class QMLEDITORWIDGETS_EXPORT ColorWidgets {
 
 public:
     static void registerDeclarativeTypes();
-
-
 };
 
-
-} //QmlDesigner
+} // namespace QmlEditorWidgets
 
 #endif //COLORWIDGET_H
diff --git a/src/libs/qmleditorwidgets/contextpanetextwidget.cpp b/src/libs/qmleditorwidgets/contextpanetextwidget.cpp
index 40c64720dabcfd8cc29fbb3ffa38b50bf45a2b19..030bc2e3f144531bd5071588bc603eff4a9b61a9 100644
--- a/src/libs/qmleditorwidgets/contextpanetextwidget.cpp
+++ b/src/libs/qmleditorwidgets/contextpanetextwidget.cpp
@@ -36,8 +36,8 @@
 #include "customcolordialog.h"
 #include "ui_contextpanetext.h"
 #include <qmljs/qmljspropertyreader.h>
-#include <QTimerEvent>
-
+#include <QtCore/QTimerEvent>
+#include <QtCore/QVariant>
 namespace QmlEditorWidgets {
 
 ContextPaneTextWidget::ContextPaneTextWidget(QWidget *parent) :
diff --git a/src/libs/qmleditorwidgets/contextpanetextwidget.h b/src/libs/qmleditorwidgets/contextpanetextwidget.h
index 827e1369e80682fe0a85b09cd77912dc832834a1..c31bb4171ca4d377cdd24bf585b2c6bba3d8b5e2 100644
--- a/src/libs/qmleditorwidgets/contextpanetextwidget.h
+++ b/src/libs/qmleditorwidgets/contextpanetextwidget.h
@@ -35,10 +35,10 @@
 #define CONTEXTPANETEXTWIDGET_H
 
 #include <qmleditorwidgets_global.h>
-#include <QWidget>
-#include <QVariant>
+#include <QtGui/QWidget>
 
 QT_BEGIN_NAMESPACE
+class QVariant;
 namespace Ui {
     class ContextPaneTextWidget;
 }
diff --git a/src/libs/qmleditorwidgets/contextpanewidget.cpp b/src/libs/qmleditorwidgets/contextpanewidget.cpp
index 1271135e0a257318afc38100dc9e26cd0c73fd72..4754f93a1e2eade2484b4e817a72e538fcf1dd24 100644
--- a/src/libs/qmleditorwidgets/contextpanewidget.cpp
+++ b/src/libs/qmleditorwidgets/contextpanewidget.cpp
@@ -32,17 +32,19 @@
 **************************************************************************/
 
 #include "contextpanewidget.h"
-#include <QFontComboBox>
-#include <QComboBox>
-#include <QSpinBox>
-#include <QToolButton>
-#include <QHBoxLayout>
-#include <QVBoxLayout>
-#include <QLabel>
-#include <QMouseEvent>
-#include <QGridLayout>
-#include <QToolButton>
-#include <QAction>
+#include <QtGui/QToolButton>
+#include <QtGui/QFontComboBox>
+#include <QtGui/QComboBox>
+#include <QtGui/QSpinBox>
+#include <QtGui/QToolButton>
+#include <QtGui/QHBoxLayout>
+#include <QtGui/QVBoxLayout>
+#include <QtGui/QLabel>
+#include <QtGui/QMouseEvent>
+#include <QtGui/QGridLayout>
+#include <QtGui/QToolButton>
+#include <QtGui/QGraphicsEffect>
+#include <QtGui/QAction>
 #include "contextpanetextwidget.h"
 #include "easingcontextpane.h"
 #include "contextpanewidgetimage.h"
diff --git a/src/libs/qmleditorwidgets/contextpanewidget.h b/src/libs/qmleditorwidgets/contextpanewidget.h
index 41c9f4c7fd0659462599e4d7f0f6af793981c200..9a42240b02390e7d4cac8f153aeb55e5d1057847 100644
--- a/src/libs/qmleditorwidgets/contextpanewidget.h
+++ b/src/libs/qmleditorwidgets/contextpanewidget.h
@@ -35,11 +35,15 @@
 #define CONTEXTPANEWIDGET_H
 
 #include <qmleditorwidgets_global.h>
-#include <QFrame>
-#include <QVariant>
-#include <QGraphicsEffect>
-#include <QWeakPointer>
-#include <QToolButton>
+#include <QtGui/QFrame>
+#include <QtCore/QWeakPointer>
+
+QT_BEGIN_NAMESPACE
+class QToolButton;
+class QVariant;
+class QGraphicsDropShadowEffect;
+class QGraphicsOpacityEffect;
+QT_END_NAMESPACE
 
 namespace QmlJS {
     class PropertyReader;
diff --git a/src/libs/qmleditorwidgets/contextpanewidgetimage.cpp b/src/libs/qmleditorwidgets/contextpanewidgetimage.cpp
index ab4eb49ba7b8b72195558dd5265e6d645b62ce7e..d6e77eb7b54788e47bd585ee288750ba157f7083 100644
--- a/src/libs/qmleditorwidgets/contextpanewidgetimage.cpp
+++ b/src/libs/qmleditorwidgets/contextpanewidgetimage.cpp
@@ -35,16 +35,17 @@
 #include "ui_contextpanewidgetimage.h"
 #include "ui_contextpanewidgetborderimage.h"
 #include <qmljs/qmljspropertyreader.h>
-#include <QFile>
-#include <QFileInfo>
-#include <QDir>
-#include <QPixmap>
-#include <QPainter>
-#include <QGraphicsEffect>
-#include <QMouseEvent>
-#include <QScrollArea>
-#include <QSlider>
-#include <QDebug>
+#include <QtCore/QFile>
+#include <QtCore/QFileInfo>
+#include <QtCore/QDir>
+#include <QtGui/QPixmap>
+#include <QtGui/QPainter>
+#include <QtGui/QGraphicsEffect>
+#include <QtGui/QMouseEvent>
+#include <QtGui/QScrollArea>
+#include <QtGui/QSlider>
+#include <QtGui/QToolButton>
+#include <QtCore/QDebug>
 
 namespace QmlEditorWidgets {
 
diff --git a/src/libs/qmleditorwidgets/contextpanewidgetimage.h b/src/libs/qmleditorwidgets/contextpanewidgetimage.h
index 1e46a00bd23818705cc3c3905a3ca9f4b35127cd..6045339d0f490175d4f3c2220129ea70337f4115 100644
--- a/src/libs/qmleditorwidgets/contextpanewidgetimage.h
+++ b/src/libs/qmleditorwidgets/contextpanewidgetimage.h
@@ -35,11 +35,9 @@
 #define CONTEXTPANEWIDGETIMAGE_H
 
 #include <qmleditorwidgets_global.h>
-#include <QWidget>
-#include <QFrame>
-#include <QLabel>
-#include <qdrawutil.h>
+#include <QtGui/QLabel>
 #include <contextpanewidget.h>
+#include <qdrawutil.h>
 
 QT_BEGIN_NAMESPACE
 namespace Ui {
diff --git a/src/libs/qmleditorwidgets/contextpanewidgetrectangle.h b/src/libs/qmleditorwidgets/contextpanewidgetrectangle.h
index f0fad5f436563c9c8d089131be33a2f25221d80f..a2af64f008ff7375c9deaad5ce34dd896b7be873 100644
--- a/src/libs/qmleditorwidgets/contextpanewidgetrectangle.h
+++ b/src/libs/qmleditorwidgets/contextpanewidgetrectangle.h
@@ -35,7 +35,7 @@
 #define CONTEXTPANEWIDGETRECTANGLE_H
 
 #include <qmleditorwidgets_global.h>
-#include <QWidget>
+#include <QtGui/QWidget>
 
 QT_BEGIN_NAMESPACE
 namespace Ui {
diff --git a/src/libs/qmleditorwidgets/customcolordialog.h b/src/libs/qmleditorwidgets/customcolordialog.h
index ecece78b178aa9a6ccee80ce1c56bc7ad0d660e9..aaecadccd063a44f97ac4edc796bcb9c29fda678 100644
--- a/src/libs/qmleditorwidgets/customcolordialog.h
+++ b/src/libs/qmleditorwidgets/customcolordialog.h
@@ -35,8 +35,7 @@
 #define CUSTOMCOLORDIALOG_H
 
 #include <qmleditorwidgets_global.h>
-#include <QFrame>
-#include <QDialog>
+#include <QtGui/QFrame>
 
 QT_BEGIN_NAMESPACE
 class QDoubleSpinBox;
diff --git a/src/libs/qmleditorwidgets/filewidget.cpp b/src/libs/qmleditorwidgets/filewidget.cpp
index 69c342e5f91168a059945bd951e7228819bec37c..7e6e4c1ad7333b52805679e8102a3082fd84a208 100644
--- a/src/libs/qmleditorwidgets/filewidget.cpp
+++ b/src/libs/qmleditorwidgets/filewidget.cpp
@@ -32,12 +32,17 @@
 **************************************************************************/
 
 #include "filewidget.h"
-#include <QHBoxLayout>
-#include <QFont>
-#include <QFileDialog>
-#include <QDirIterator>
-#include <QDebug>
 
+#include <QtGui/QLabel>
+#include <QtGui/QToolButton>
+#include <QtGui/QLineEdit>
+#include <QtGui/QComboBox>
+
+#include <QtGui/QHBoxLayout>
+#include <QtGui/QFont>
+#include <QtGui/QFileDialog>
+#include <QtCore/QDirIterator>
+#include <QtCore/QDebug>
 
 namespace QmlEditorWidgets {
 
diff --git a/src/libs/qmleditorwidgets/filewidget.h b/src/libs/qmleditorwidgets/filewidget.h
index ebb580987e1bf542148bb881dff317ad4037c1bd..29bdd5c2aafc397bc9ce31519778847336adfd34 100644
--- a/src/libs/qmleditorwidgets/filewidget.h
+++ b/src/libs/qmleditorwidgets/filewidget.h
@@ -36,12 +36,17 @@
 #define FILEWIDGET_H
 
 #include <qmleditorwidgets_global.h>
+
 #include <QtGui/QWidget>
-#include <QLabel>
-#include <QToolButton>
-#include <QLineEdit>
-#include <QComboBox>
-#include <QUrl>
+
+#include <QtCore/QUrl>
+
+QT_BEGIN_NAMESPACE
+class QLabel;
+class QToolButton;
+class QLineEdit;
+class QComboBox;
+QT_END_NAMESPACE
 
 namespace QmlEditorWidgets {
 
diff --git a/src/libs/qmleditorwidgets/fontsizespinbox.h b/src/libs/qmleditorwidgets/fontsizespinbox.h
index f1e5f26aee0193e749618f9aa8c2ac5a0a1fc5de..2fc6278919cf81b520365292e9f58a8021e58f55 100644
--- a/src/libs/qmleditorwidgets/fontsizespinbox.h
+++ b/src/libs/qmleditorwidgets/fontsizespinbox.h
@@ -35,7 +35,7 @@
 #define FONTSIZESPINBOX_H
 
 #include <qmleditorwidgets_global.h>
-#include <QAbstractSpinBox>
+#include <QtGui/QAbstractSpinBox>
 
 namespace QmlEditorWidgets {
 
diff --git a/src/libs/qmleditorwidgets/gradientline.h b/src/libs/qmleditorwidgets/gradientline.h
index 6771c722092a1633bfbeffef4d8b4c47ba9b4125..2154dce5ff8456673527ac92dfd4a68e564c19f7 100644
--- a/src/libs/qmleditorwidgets/gradientline.h
+++ b/src/libs/qmleditorwidgets/gradientline.h
@@ -36,8 +36,7 @@
 
 #include <qmleditorwidgets_global.h>
 #include <QtGui/QWidget>
-#include <QToolButton>
-#include <QLinearGradient>
+#include <QtGui/QLinearGradient>
 
 namespace QmlEditorWidgets {
 
diff --git a/src/libs/qmleditorwidgets/huecontrol.h b/src/libs/qmleditorwidgets/huecontrol.h
index 4bafaaacec176a16cc0804744d0d52b8b162c6ce..6c599deeec6fb6feebf6e678002d4f36af861379 100644
--- a/src/libs/qmleditorwidgets/huecontrol.h
+++ b/src/libs/qmleditorwidgets/huecontrol.h
@@ -36,8 +36,7 @@
 
 #include <qmleditorwidgets_global.h>
 #include <QtGui/QWidget>
-#include <QToolButton>
-#include <qdeclarative.h>
+#include <QtDeclarative/qdeclarative.h>
 
 namespace QmlEditorWidgets {
 
diff --git a/src/libs/qmljs/qmljscodeformatter.h b/src/libs/qmljs/qmljscodeformatter.h
index 9a513669de37cfa3b6a4cec8a01c327766835f6d..28387ae337195a157b4cd1078c1eceeaad85e2c9 100644
--- a/src/libs/qmljs/qmljscodeformatter.h
+++ b/src/libs/qmljs/qmljscodeformatter.h
@@ -38,11 +38,9 @@
 
 #include "qmljsscanner.h"
 
-#include <QtCore/QChar>
 #include <QtCore/QStack>
 #include <QtCore/QList>
 #include <QtCore/QVector>
-#include <QtCore/QPointer>
 
 QT_BEGIN_NAMESPACE
 class QTextDocument;
diff --git a/src/libs/qmljs/qmljsicontextpane.h b/src/libs/qmljs/qmljsicontextpane.h
index b508a3a198fc91eece5848d4adc7213ea23259c0..37db7e5f002cac0ea0a562b85cc5436db7faa76d 100644
--- a/src/libs/qmljs/qmljsicontextpane.h
+++ b/src/libs/qmljs/qmljsicontextpane.h
@@ -34,21 +34,19 @@
 #ifndef QMLJSICONTEXTPANE_H
 #define QMLJSICONTEXTPANE_H
 
-#include <QObject>
+#include <QtCore/QObject>
+
 #include "qmljs_global.h"
+
 #include <qmljs/parser/qmljsastfwd_p.h>
 #include <qmljs/qmljslookupcontext.h>
 
-
 namespace TextEditor {
-
 class BaseTextEditorEditable;
-
 } //TextEditor
 
 namespace QmlJS {
 
-
 class QMLJS_EXPORT IContextPane : public QObject
 {
      Q_OBJECT
diff --git a/src/libs/qmljs/qmljsindenter.cpp b/src/libs/qmljs/qmljsindenter.cpp
index 51aad755ab379544e3f677c4896ccdfd452834ab..dc5c8179afe8c365ce0d88d21a5943d374543231 100644
--- a/src/libs/qmljs/qmljsindenter.cpp
+++ b/src/libs/qmljs/qmljsindenter.cpp
@@ -72,7 +72,8 @@
 #include <qmljs/qmljsindenter.h>
 #include <qmljs/qmljsscanner.h>
 
-#include <QtDebug>
+#include <QtCore/QtDebug>
+#include <QtGui/QTextBlock>
 
 using namespace QmlJS;
 
diff --git a/src/libs/qmljs/qmljsindenter.h b/src/libs/qmljs/qmljsindenter.h
index e4617fb5414ac2b4fa65b07e41bfa41b472ab638..55655cc54d5832315c07fda610497aed598f8d0e 100644
--- a/src/libs/qmljs/qmljsindenter.h
+++ b/src/libs/qmljs/qmljsindenter.h
@@ -35,12 +35,11 @@
 #define QMLJSINDENTER_H
 
 #include <qmljs/qmljs_global.h>
-#include <qmljs/qmljsscanner.h>
 #include <qmljs/qmljslineinfo.h>
 
 #include <QtCore/QRegExp>
-#include <QtCore/QStringList>
-#include <QtGui/QTextBlock>
+
+QT_FORWARD_DECLARE_CLASS(QTextBlock)
 
 namespace QmlJS {
 
diff --git a/src/libs/qmljs/qmljslineinfo.h b/src/libs/qmljs/qmljslineinfo.h
index 17b6e9e948b45e30dda2ab82ed08afca52a5148c..75467ba3d057be6b37d7117745ebe31908a5f2b9 100644
--- a/src/libs/qmljs/qmljslineinfo.h
+++ b/src/libs/qmljs/qmljslineinfo.h
@@ -38,9 +38,7 @@
 #include <qmljs/qmljsscanner.h>
 
 #include <QtCore/QRegExp>
-#include <QtCore/QStringList>
 #include <QtGui/QTextBlock>
-#include <QtGui/QTextCursor>
 
 namespace QmlJS {
 
diff --git a/src/libs/qmljs/qmljslink.h b/src/libs/qmljs/qmljslink.h
index c719504d1b798b95ed5740e7f9fc36416607a5d0..6b09ccf039e922bd03d523459ee89bf98abd243c 100644
--- a/src/libs/qmljs/qmljslink.h
+++ b/src/libs/qmljs/qmljslink.h
@@ -38,9 +38,6 @@
 #include <qmljs/qmljsinterpreter.h>
 #include <qmljs/parser/qmljsastfwd_p.h>
 
-#include <QtCore/QList>
-#include <QtCore/QHash>
-#include <QtCore/QStringList>
 #include <QtCore/QCoreApplication>
 
 namespace QmlJS {
diff --git a/src/libs/qmljs/qmljsmodelmanagerinterface.h b/src/libs/qmljs/qmljsmodelmanagerinterface.h
index 0fc69c9a376350655ef2675a373c827b607da724..15840d69ee771521c170d6519b6cc07e526e3149 100644
--- a/src/libs/qmljs/qmljsmodelmanagerinterface.h
+++ b/src/libs/qmljs/qmljsmodelmanagerinterface.h
@@ -39,10 +39,9 @@
 
 #include <utils/environment.h>
 
-#include <QObject>
-#include <QStringList>
-#include <QSharedPointer>
-#include <QPointer>
+#include <QtCore/QObject>
+#include <QtCore/QStringList>
+#include <QtCore/QPointer>
 
 namespace ProjectExplorer {
     class Project;
diff --git a/src/libs/qmljs/qmljspropertyreader.cpp b/src/libs/qmljs/qmljspropertyreader.cpp
index f37d2103b2927eff6ab501663fba45fe0e11f167..697d27b30dff7c51bdeeada95a425ae738eb2856 100644
--- a/src/libs/qmljs/qmljspropertyreader.cpp
+++ b/src/libs/qmljs/qmljspropertyreader.cpp
@@ -36,6 +36,8 @@
 #include <qmljs/parser/qmljsast_p.h>
 #include <qmljs/qmljscheck.h>
 
+#include <QtGui/QLinearGradient>
+
 namespace QmlJS {
 
 using namespace AST;
diff --git a/src/libs/qmljs/qmljspropertyreader.h b/src/libs/qmljs/qmljspropertyreader.h
index 8ca0cd8ef165e7f0077feb922730335bb4f6cbee..d552bc8af072ad863fe1821aa88b6450e703c5bb 100644
--- a/src/libs/qmljs/qmljspropertyreader.h
+++ b/src/libs/qmljs/qmljspropertyreader.h
@@ -38,12 +38,11 @@
 #include <qmljs/parser/qmljsastfwd_p.h>
 #include <qmljs/qmljsdocument.h>
 
-#include <QHash>
-#include <QList>
-#include <QVariant>
-#include <QString>
-#include <QStringList>
-#include <QLinearGradient>
+#include <QtCore/QHash>
+#include <QtCore/QVariant>
+#include <QtCore/QStringList>
+
+QT_FORWARD_DECLARE_CLASS(QLinearGradient)
 
 namespace QmlJS {
 
diff --git a/src/libs/qmljs/qmljsscanner.h b/src/libs/qmljs/qmljsscanner.h
index cf7f0bd522e3849ad467305501ac0043ca365d59..886d518edc388ce492a3c69fb9e041ab2f1177d9 100644
--- a/src/libs/qmljs/qmljsscanner.h
+++ b/src/libs/qmljs/qmljsscanner.h
@@ -36,9 +36,7 @@
 
 #include <qmljs/qmljs_global.h>
 
-#include <QtCore/QList>
-#include <QtCore/QSet>
-#include <QtCore/QString>
+#include <QtCore/QStringList>
 
 namespace QmlJS {
 
diff --git a/src/libs/utils/annotateditemdelegate.h b/src/libs/utils/annotateditemdelegate.h
index d8b7235e796869e66eef903120978c67a42f9888..fe0538fc9cb578166d1c7fcbc976e5ca743f072b 100644
--- a/src/libs/utils/annotateditemdelegate.h
+++ b/src/libs/utils/annotateditemdelegate.h
@@ -37,7 +37,6 @@
 #include "utils_global.h"
 
 #include <QtCore/QString>
-#include <QtCore/QSize>
 #include <QtGui/QStyledItemDelegate>
 
 namespace Utils {
diff --git a/src/libs/utils/buildablehelperlibrary.h b/src/libs/utils/buildablehelperlibrary.h
index 09615ce06af8f6bb1ba35f3de6dd472d1d484635..2ed79c60eb7387cc9dfe69378bf1f9aed4c233fa 100644
--- a/src/libs/utils/buildablehelperlibrary.h
+++ b/src/libs/utils/buildablehelperlibrary.h
@@ -3,7 +3,7 @@
 
 #include "utils_global.h"
 
-#include <QString>
+#include <QtCore/QString>
 
 QT_FORWARD_DECLARE_CLASS(QFileInfo)
 
diff --git a/src/libs/utils/changeset.cpp b/src/libs/utils/changeset.cpp
index 1cdbb17fec69fabdc9fe4fbf1aab321588308bf7..2eadb1feff2a726d213f238885a6360fa719daaa 100644
--- a/src/libs/utils/changeset.cpp
+++ b/src/libs/utils/changeset.cpp
@@ -41,6 +41,8 @@
 
 #include "changeset.h"
 
+#include <QtGui/QTextCursor>
+
 namespace Utils {
 
 ChangeSet::ChangeSet()
diff --git a/src/libs/utils/changeset.h b/src/libs/utils/changeset.h
index 68a26da74ffe987c0158e812eb0a91cb9c2c3888..960b141c441d8819016e67189d4e943f9af00e6b 100644
--- a/src/libs/utils/changeset.h
+++ b/src/libs/utils/changeset.h
@@ -46,8 +46,8 @@
 
 #include <QtCore/QString>
 #include <QtCore/QList>
-#include <QtCore/QSharedPointer>
-#include <QtGui/QTextCursor>
+
+QT_FORWARD_DECLARE_CLASS(QTextCursor)
 
 namespace Utils {
 
diff --git a/src/libs/utils/wizard.cpp b/src/libs/utils/wizard.cpp
index 99e708db26ca95820e8e9237bf68acefd0bc9336..4b69ceab415dce65c3106a6ef4e32f9aea478691 100644
--- a/src/libs/utils/wizard.cpp
+++ b/src/libs/utils/wizard.cpp
@@ -32,13 +32,15 @@
 **************************************************************************/
 
 #include "wizard.h"
-#include <QLabel>
-#include <QVBoxLayout>
-#include <QHBoxLayout>
-#include <QMap>
-#include <QHash>
-#include <QVariant>
-#include <QStyle>
+
+#include <QtCore/QMap>
+#include <QtCore/QHash>
+#include <QtCore/QVariant>
+
+#include <QtGui/QLabel>
+#include <QtGui/QVBoxLayout>
+#include <QtGui/QHBoxLayout>
+#include <QtGui/QStyle>
 
 namespace Utils {
 
diff --git a/src/libs/utils/wizard.h b/src/libs/utils/wizard.h
index 08fd6cac8e3f2e8486aabbf42b4e5219d1059fb3..3e8fb6bdb4eb7e830bbf5c5d64fdc2ab8b118382 100644
--- a/src/libs/utils/wizard.h
+++ b/src/libs/utils/wizard.h
@@ -34,8 +34,6 @@
 #ifndef WIZARD_H
 #define WIZARD_H
 
-#include <QWizard>
-
 #include "utils_global.h"
 
 #include <QtGui/QWizard>
@@ -65,7 +63,7 @@ public:
 
 signals:
     void nextClicked(); /* workaround for QWizard behavior where page->initialize is
-                           called before currentIdChanged */
+                         * called before currentIdChanged */
 
 private slots:
     void _q_currentPageChanged(int pageId);
diff --git a/src/plugins/cppeditor/cppquickfix.cpp b/src/plugins/cppeditor/cppquickfix.cpp
index cac143aae38cc6e37879e958518e71fc5184a9c1..5b633d39fb1c4434b93d9ddbab67341081a1c4c8 100644
--- a/src/plugins/cppeditor/cppquickfix.cpp
+++ b/src/plugins/cppeditor/cppquickfix.cpp
@@ -50,6 +50,7 @@
 #include <cpptools/cpprefactoringchanges.h>
 
 #include <QtGui/QTextBlock>
+#include <QtCore/QFileInfo>
 
 using namespace CppEditor;
 using namespace CppEditor::Internal;
diff --git a/src/plugins/cppeditor/cppquickfixes.cpp b/src/plugins/cppeditor/cppquickfixes.cpp
index 5901607458e9af86eee07eae486f2b8732f7d817..5549b723f10282edc34eaa8a60fca5bfcba1c4d8 100644
--- a/src/plugins/cppeditor/cppquickfixes.cpp
+++ b/src/plugins/cppeditor/cppquickfixes.cpp
@@ -61,6 +61,7 @@
 #include <cpptools/insertionpointlocator.h>
 #include <extensionsystem/iplugin.h>
 
+#include <QtCore/QFileInfo>
 #include <QtGui/QApplication>
 #include <QtGui/QTextBlock>
 #include <QtGui/QTextCursor>
diff --git a/src/plugins/cpptools/uicodecompletionsupport.cpp b/src/plugins/cpptools/uicodecompletionsupport.cpp
index 129861fde37f85bcbfe5b44dc46b4637defaa262..829ddbaefb18b21bec849dbd8a395bbbbc3a9bb9 100644
--- a/src/plugins/cpptools/uicodecompletionsupport.cpp
+++ b/src/plugins/cpptools/uicodecompletionsupport.cpp
@@ -32,7 +32,10 @@
 **************************************************************************/
 
 #include "uicodecompletionsupport.h"
+
 #include <QtCore/QProcess>
+#include <QtCore/QFile>
+#include <QtCore/QFileInfo>
 
 enum { debug = 0 };
 
diff --git a/src/plugins/cvs/cvseditor.cpp b/src/plugins/cvs/cvseditor.cpp
index f119d47437e63cd6b31c0f36244c778b13250c7d..16f05befa66e1f05c7210a59e953094527f819ba 100644
--- a/src/plugins/cvs/cvseditor.cpp
+++ b/src/plugins/cvs/cvseditor.cpp
@@ -42,6 +42,7 @@
 
 #include <QtCore/QDebug>
 #include <QtGui/QTextCursor>
+#include <QtGui/QTextBlock>
 
 namespace CVS {
 namespace Internal {
diff --git a/src/plugins/find/findplugin.cpp b/src/plugins/find/findplugin.cpp
index 612bb8f3f530dd913352b0209f475efdba2a764f..c9ee9d331015800247c3938285bc125edea8a31a 100644
--- a/src/plugins/find/findplugin.cpp
+++ b/src/plugins/find/findplugin.cpp
@@ -373,6 +373,11 @@ QStringListModel *FindPlugin::replaceCompletionModel() const
     return d->m_replaceCompletionModel;
 }
 
+QKeySequence IFindFilter::defaultShortcut() const
+{
+    return QKeySequence();
+}
+
 } // namespace Find
 
 // declared in textfindconstants.h
diff --git a/src/plugins/find/ifindfilter.h b/src/plugins/find/ifindfilter.h
index 6d0f4b7bc955c0bb5ea43f585b37adc65ba82499..85faaa536679849cca25c97d867539fc4ac5516c 100644
--- a/src/plugins/find/ifindfilter.h
+++ b/src/plugins/find/ifindfilter.h
@@ -37,12 +37,10 @@
 #include "find_global.h"
 #include "textfindconstants.h"
 
-#include <QtGui/QTextDocument>
-#include <QtGui/QKeySequence>
-
 QT_BEGIN_NAMESPACE
 class QWidget;
 class QSettings;
+class QKeySequence;
 QT_END_NAMESPACE
 
 namespace Find {
@@ -60,7 +58,7 @@ public:
     virtual bool isEnabled() const = 0;
     virtual bool canCancel() const = 0;
     virtual void cancel() = 0;
-    virtual QKeySequence defaultShortcut() const { return QKeySequence(); }
+    virtual QKeySequence defaultShortcut() const;
     virtual bool isReplaceSupported() const { return false; }
     virtual FindFlags supportedFindFlags() const;
 
diff --git a/src/plugins/find/ifindsupport.h b/src/plugins/find/ifindsupport.h
index 5ca361a8d30589b57a963216e88fe738be33abfc..49cc5df7ed8a0eab69020ccf4e53038caeeeb4ee 100644
--- a/src/plugins/find/ifindsupport.h
+++ b/src/plugins/find/ifindsupport.h
@@ -39,7 +39,6 @@
 
 #include <QtCore/QObject>
 #include <QtCore/QString>
-#include <QtGui/QTextDocument>
 
 namespace Find {
 
diff --git a/src/plugins/git/giteditor.cpp b/src/plugins/git/giteditor.cpp
index 69221f2204ee618f24078c897a3a4672e9d093d1..f9882bd4f8babdefdbdf77401f6ab45458a2cfaf 100644
--- a/src/plugins/git/giteditor.cpp
+++ b/src/plugins/git/giteditor.cpp
@@ -53,6 +53,7 @@
 
 #include <QtGui/QTextCursor>
 #include <QtGui/QTextEdit>
+#include <QtGui/QTextBlock>
 
 #define CHANGE_PATTERN_8C "[a-f0-9]{7,8}"
 #define CHANGE_PATTERN_40C "[a-f0-9]{40,40}"
diff --git a/src/plugins/locator/ilocatorfilter.h b/src/plugins/locator/ilocatorfilter.h
index a581845635d2749fb1a601178e6c5468998eabe4..0a8b2b152bd4f2013775eb797ec9abd8af31be1c 100644
--- a/src/plugins/locator/ilocatorfilter.h
+++ b/src/plugins/locator/ilocatorfilter.h
@@ -36,7 +36,6 @@
 
 #include "locator_global.h"
 
-#include <QtCore/QDir>
 #include <QtCore/QVariant>
 #include <QtCore/QFutureInterface>
 #include <QtGui/QIcon>
diff --git a/src/plugins/locator/opendocumentsfilter.cpp b/src/plugins/locator/opendocumentsfilter.cpp
index 64045ff136aed4ba05fbac5d9042017d8ffd4229..d90bc3f395b6156ec65b4238ea8bf910fc3f7bed 100644
--- a/src/plugins/locator/opendocumentsfilter.cpp
+++ b/src/plugins/locator/opendocumentsfilter.cpp
@@ -36,6 +36,9 @@
 #include <coreplugin/editormanager/editormanager.h>
 #include <coreplugin/editormanager/ieditor.h>
 
+#include <QtCore/QFileInfo>
+#include <QtCore/QDir>
+
 using namespace Core;
 using namespace Locator;
 using namespace Locator::Internal;
diff --git a/src/plugins/macros/actionmacrohandler.cpp b/src/plugins/macros/actionmacrohandler.cpp
index 3f8d8c6b2a2d57e3cbcc2ba12a9fbf24359737dc..82f1e3de16736e0a20280eccf65ec1d917cf016c 100644
--- a/src/plugins/macros/actionmacrohandler.cpp
+++ b/src/plugins/macros/actionmacrohandler.cpp
@@ -44,18 +44,18 @@
 #include <coreplugin/uniqueidmanager.h>
 #include <coreplugin/icontext.h>
 
-#include <QObject>
-#include <QEvent>
-#include <QAction>
-#include <QSignalMapper>
-#include <QShortcut>
-#include <QtAlgorithms>
-#include <QStringList>
+#include <QtCore/QObject>
+#include <QtCore/QEvent>
+#include <QtCore/QSignalMapper>
+#include <QtCore/QtAlgorithms>
+#include <QtCore/QStringList>
+
+#include <QtGui/QAction>
+#include <QtGui/QShortcut>
 
 using namespace Macros;
 using namespace Macros::Internal;
 
-
 static const char EVENTNAME[] = "Action";
 static quint8 ACTIONNAME = 0;
 
diff --git a/src/plugins/macros/imacrohandler.h b/src/plugins/macros/imacrohandler.h
index da84f68e2677d9a2efdfd9b915d92265776498df..409b66c2359258a4582db4220af2dd417f389efb 100644
--- a/src/plugins/macros/imacrohandler.h
+++ b/src/plugins/macros/imacrohandler.h
@@ -35,7 +35,7 @@
 #define MACROSPLUGIN_IMACROHANDLER_H
 
 #include "macros_global.h"
-#include <QObject>
+#include <QtCore/QObject>
 
 namespace Macros {
 
diff --git a/src/plugins/macros/macro.cpp b/src/plugins/macros/macro.cpp
index e21e9e4ff4ce2de333204c52646a0aaf0a22b359..8e132df711368a9a73a4f56698b3220457676c38 100644
--- a/src/plugins/macros/macro.cpp
+++ b/src/plugins/macros/macro.cpp
@@ -35,7 +35,8 @@
 
 #include <coreplugin/coreconstants.h>
 
-#include <QFileInfo>
+#include <QtCore/QFileInfo>
+#include <QtCore/QDataStream>
 
 using namespace Macros;
 
diff --git a/src/plugins/macros/macro.h b/src/plugins/macros/macro.h
index 17a951d89cd84bb40883f2712c4adda011d326f8..dc8fa0d9c529af530b066896c41b780f7667cb5b 100644
--- a/src/plugins/macros/macro.h
+++ b/src/plugins/macros/macro.h
@@ -34,11 +34,11 @@
 #ifndef MACROSPLUGIN_MACRO_H
 #define MACROSPLUGIN_MACRO_H
 
-#include <QList>
-#include <QString>
-
-#include "macroevent.h"
 #include "macros_global.h"
+#include "macroevent.h"
+
+#include <QtCore/QList>
+#include <QtCore/QString>
 
 namespace Macros {
 
diff --git a/src/plugins/macros/macroevent.cpp b/src/plugins/macros/macroevent.cpp
index 67a03ea5be12c90c85b1baa96dee67e204714555..2ef2b930180967fafca71b06baf3541fd456694b 100644
--- a/src/plugins/macros/macroevent.cpp
+++ b/src/plugins/macros/macroevent.cpp
@@ -33,6 +33,10 @@
 
 #include "macroevent.h"
 
+#include <QtCore/QString>
+#include <QtCore/QVariant>
+#include <QtCore/QDataStream>
+
 using namespace Macros;
 
 /*!
diff --git a/src/plugins/macros/macroevent.h b/src/plugins/macros/macroevent.h
index a1e31dcdf71bc2645b0f0423aa39cd17c7e6fdfc..de32570e420ac781de97563f62193712626f4f51 100644
--- a/src/plugins/macros/macroevent.h
+++ b/src/plugins/macros/macroevent.h
@@ -36,9 +36,13 @@
 
 #include "macros_global.h"
 
-#include <QString>
-#include <QVariant>
-#include <QDataStream>
+#include <QtCore/QMap>
+
+QT_BEGIN_NAMESPACE
+class QByteArray;
+class QVariant;
+class QDataStream;
+QT_END_NAMESPACE
 
 namespace Macros {
 
diff --git a/src/plugins/macros/macrolocatorfilter.cpp b/src/plugins/macros/macrolocatorfilter.cpp
index 8e914e562db8ac5fdcf996e3e58bf20e60ae19d4..f65b5fa1d5ed8095c16e473735d177693bcc8a5c 100644
--- a/src/plugins/macros/macrolocatorfilter.cpp
+++ b/src/plugins/macros/macrolocatorfilter.cpp
@@ -39,15 +39,15 @@
 #include <coreplugin/editormanager/editormanager.h>
 #include <coreplugin/editormanager/ieditor.h>
 
-#include <QPixmap>
+#include <QtGui/QPixmap>
 
 using namespace Macros;
 using namespace Macros::Internal;
 
 MacroLocatorFilter::MacroLocatorFilter():
-    m_icon(QPixmap(":/macros/images/macro.png"))
+    m_icon(QPixmap(QLatin1String(":/macros/images/macro.png")))
 {
-    setShortcutString("rm");
+    setShortcutString(QLatin1String("rm"));
 }
 
 MacroLocatorFilter::~MacroLocatorFilter()
diff --git a/src/plugins/macros/macrolocatorfilter.h b/src/plugins/macros/macrolocatorfilter.h
index dc95370746d053fb5ba3e02593ce2d5b5c15b71e..561a1fc3090963fc42a5f03958d38203b76d5117 100644
--- a/src/plugins/macros/macrolocatorfilter.h
+++ b/src/plugins/macros/macrolocatorfilter.h
@@ -36,7 +36,7 @@
 
 #include <locator/ilocatorfilter.h>
 
-#include <QIcon>
+#include <QtGui/QIcon>
 
 namespace Macros {
 
@@ -61,7 +61,7 @@ public:
     void refresh(QFutureInterface<void> &future);
 
 private:
-    QIcon m_icon;
+    const QIcon m_icon;
 };
 
 } // namespace Internal
diff --git a/src/plugins/macros/macromanager.cpp b/src/plugins/macros/macromanager.cpp
index 6e6c9bce15cb1c9b2292b55f0e36932b1ebb749c..f97ce1b0633fcf7e1cc897e01da3aafd82d95822 100644
--- a/src/plugins/macros/macromanager.cpp
+++ b/src/plugins/macros/macromanager.cpp
@@ -54,18 +54,19 @@
 #include <coreplugin/editormanager/editormanager.h>
 #include <coreplugin/editormanager/ieditor.h>
 
-#include <QDir>
-#include <QFile>
-#include <QFileInfo>
-#include <QShortcut>
-#include <QKeySequence>
-#include <QMainWindow>
-#include <QSettings>
-#include <QAction>
-#include <QFileDialog>
-#include <QMessageBox>
-#include <QSignalMapper>
-#include <QList>
+#include <QtCore/QDir>
+#include <QtCore/QFile>
+#include <QtCore/QFileInfo>
+#include <QtCore/QSettings>
+#include <QtCore/QSignalMapper>
+#include <QtCore/QList>
+
+#include <QtGui/QShortcut>
+#include <QtGui/QKeySequence>
+#include <QtGui/QMainWindow>
+#include <QtGui/QAction>
+#include <QtGui/QFileDialog>
+#include <QtGui/QMessageBox>
 
 using namespace Macros;
 using namespace Macros::Internal;
diff --git a/src/plugins/macros/macrooptionspage.cpp b/src/plugins/macros/macrooptionspage.cpp
index 6dde17ea0d2253569be3c9cc931f50fb23a7588e..52a3007084812de3861bec494a8d2c9994b7cc06 100644
--- a/src/plugins/macros/macrooptionspage.cpp
+++ b/src/plugins/macros/macrooptionspage.cpp
@@ -39,9 +39,9 @@
 
 #include <texteditor/texteditorconstants.h>
 
-#include <QCoreApplication>
-#include <QWidget>
-#include <QIcon>
+#include <QtCore/QCoreApplication>
+#include <QtGui/QWidget>
+#include <QtGui/QIcon>
 
 using namespace Macros;
 using namespace Macros::Internal;
diff --git a/src/plugins/macros/macrooptionswidget.cpp b/src/plugins/macros/macrooptionswidget.cpp
index 665f5cd7800287b9f1aee1a4d093cd0701bf2d4d..703c82d8c1574542fe85cb58d5769157f8a51719 100644
--- a/src/plugins/macros/macrooptionswidget.cpp
+++ b/src/plugins/macros/macrooptionswidget.cpp
@@ -44,16 +44,17 @@
 #include <coreplugin/actionmanager/command.h>
 #include <coreplugin/uniqueidmanager.h>
 
-#include <QButtonGroup>
-#include <QTreeWidget>
-#include <QTreeWidgetItem>
-#include <QCheckBox>
-#include <QDir>
-#include <QGroupBox>
-#include <QHeaderView>
-#include <QFileInfo>
-#include <QRegExpValidator>
-#include <QLineEdit>
+#include <QtCore/QDir>
+#include <QtCore/QFileInfo>
+
+#include <QtGui/QButtonGroup>
+#include <QtGui/QTreeWidget>
+#include <QtGui/QTreeWidgetItem>
+#include <QtGui/QCheckBox>
+#include <QtGui/QGroupBox>
+#include <QtGui/QHeaderView>
+#include <QtGui/QRegExpValidator>
+#include <QtGui/QLineEdit>
 
 namespace {
     int DIRECTORY = 1;
diff --git a/src/plugins/macros/macrooptionswidget.h b/src/plugins/macros/macrooptionswidget.h
index 16e17f4383be7bd89fe3f50d5417b2189c694e32..c3d84d5c3781418c1652ce33dd448035a18df09f 100644
--- a/src/plugins/macros/macrooptionswidget.h
+++ b/src/plugins/macros/macrooptionswidget.h
@@ -34,10 +34,10 @@
 #ifndef MACROSPLUGIN_MACROOPTIONSWIDGET_H
 #define MACROSPLUGIN_MACROOPTIONSWIDGET_H
 
-#include <QWidget>
-#include <QPixmap>
-#include <QMap>
-#include <QStringList>
+#include <QtGui/QWidget>
+
+#include <QtCore/QStringList>
+#include <QtCore/QMap>
 
 QT_BEGIN_NAMESPACE
 class QTreeWidgetItem;
diff --git a/src/plugins/macros/macrosettings.cpp b/src/plugins/macros/macrosettings.cpp
index f27b219172af051f1627aa44cf8007fe28c4b8b2..a3185b3ea88232670c0fba42bb6410bc6b436ddf 100644
--- a/src/plugins/macros/macrosettings.cpp
+++ b/src/plugins/macros/macrosettings.cpp
@@ -33,7 +33,7 @@
 
 #include "macrosettings.h"
 
-#include <QSettings>
+#include <QtCore/QSettings>
 
 using namespace Macros::Internal;
 
diff --git a/src/plugins/macros/macrosplugin.cpp b/src/plugins/macros/macrosplugin.cpp
index 351b7d22d566554dce24c0e4fcf2b6e982502c43..61f849c067b91c97e70bfd5dd64f88dd9ea64825 100644
--- a/src/plugins/macros/macrosplugin.cpp
+++ b/src/plugins/macros/macrosplugin.cpp
@@ -48,16 +48,15 @@
 #include <coreplugin/uniqueidmanager.h>
 #include <coreplugin/icontext.h>
 
-#include <QtPlugin>
-#include <QAction>
-#include <QKeySequence>
-#include <QSettings>
-#include <QMenu>
+#include <QtCore/QtPlugin>
+#include <QtCore/QSettings>
+#include <QtGui/QAction>
+#include <QtGui/QKeySequence>
+#include <QtGui/QMenu>
 
 using namespace Macros;
 using namespace Macros::Internal;
 
-
 MacrosPlugin::MacrosPlugin()
 {
 }
diff --git a/src/plugins/macros/macrotextfind.h b/src/plugins/macros/macrotextfind.h
index 0a935ef3b65b0bc94292ee58a75869e20707f115..3fc63aa8b7d13d8f40a708b0ca3a0aae69eed38a 100644
--- a/src/plugins/macros/macrotextfind.h
+++ b/src/plugins/macros/macrotextfind.h
@@ -36,7 +36,7 @@
 
 #include <find/ifindsupport.h>
 
-#include <QPointer>
+#include <QtCore/QPointer>
 
 namespace Macros {
 namespace Internal {
diff --git a/src/plugins/macros/savedialog.cpp b/src/plugins/macros/savedialog.cpp
index 2021925d81fe035457d422c30ae570c6e15944b2..ef42e88b65da67637b7ce93cd3420eba08e6268e 100644
--- a/src/plugins/macros/savedialog.cpp
+++ b/src/plugins/macros/savedialog.cpp
@@ -34,9 +34,9 @@
 #include "savedialog.h"
 #include "ui_savedialog.h"
 
-#include <QLineEdit>
-#include <QCheckBox>
-#include <QRegExpValidator>
+#include <QtGui/QLineEdit>
+#include <QtGui/QCheckBox>
+#include <QtGui/QRegExpValidator>
 
 using namespace Macros::Internal;
 
diff --git a/src/plugins/macros/savedialog.h b/src/plugins/macros/savedialog.h
index cd44d76a27cbd16a6409cf456cdde561d514d023..d1d1e0c408d6c8e7b21ea7563089e2e19e4b044b 100644
--- a/src/plugins/macros/savedialog.h
+++ b/src/plugins/macros/savedialog.h
@@ -34,7 +34,7 @@
 #ifndef MACROSPLUGIN_SAVEDIALOG_H
 #define MACROSPLUGIN_SAVEDIALOG_H
 
-#include <QDialog>
+#include <QtGui/QDialog>
 
 namespace Macros {
 namespace Internal {
diff --git a/src/plugins/perforce/perforceeditor.cpp b/src/plugins/perforce/perforceeditor.cpp
index a86db992f2386264a1032acb35a4763aadb5526c..a42d06609110006848c975b03c89807b9d1e4699 100644
--- a/src/plugins/perforce/perforceeditor.cpp
+++ b/src/plugins/perforce/perforceeditor.cpp
@@ -54,6 +54,7 @@
 #include <QtGui/QMenu>
 #include <QtGui/QTextCursor>
 #include <QtGui/QTextEdit>
+#include <QtGui/QTextBlock>
 
 namespace Perforce {
 namespace Internal {
diff --git a/src/plugins/projectexplorer/buildconfiguration.h b/src/plugins/projectexplorer/buildconfiguration.h
index 24a4d040b2f7a3a6afa0f09f2e3f4b3dc95764f2..780304cc56c6932327ee76e75d3dc362c3079741 100644
--- a/src/plugins/projectexplorer/buildconfiguration.h
+++ b/src/plugins/projectexplorer/buildconfiguration.h
@@ -147,7 +147,4 @@ signals:
 
 Q_DECLARE_METATYPE(ProjectExplorer::BuildConfiguration *)
 
-// Default directory to run custom (build) commands in.
-#define DEFAULT_WORKING_DIR "%{buildDir}"
-
 #endif // BUILDCONFIGURATION_H
diff --git a/src/plugins/projectexplorer/customexecutablerunconfiguration.cpp b/src/plugins/projectexplorer/customexecutablerunconfiguration.cpp
index b334ce7fc18404e80fbcecdb30852ee2ab41cf2b..dcfc7c9cf98823b80ecc8cc3e6fee03be9c9ca0e 100644
--- a/src/plugins/projectexplorer/customexecutablerunconfiguration.cpp
+++ b/src/plugins/projectexplorer/customexecutablerunconfiguration.cpp
@@ -34,11 +34,12 @@
 #include "customexecutablerunconfiguration.h"
 #include "customexecutableconfigurationwidget.h"
 #include "toolchaintype.h"
+#include "buildconfiguration.h"
+#include "debugginghelper.h"
+#include "target.h"
+#include "projectexplorerconstants.h"
 
 #include <coreplugin/icore.h>
-#include <projectexplorer/buildconfiguration.h>
-#include <projectexplorer/debugginghelper.h>
-#include <projectexplorer/target.h>
 
 #include <utils/qtcprocess.h>
 
@@ -81,10 +82,10 @@ void CustomExecutableRunConfiguration::ctor()
 
 CustomExecutableRunConfiguration::CustomExecutableRunConfiguration(Target *parent) :
     LocalApplicationRunConfiguration(parent, QLatin1String(CUSTOM_EXECUTABLE_ID)),
+    m_workingDirectory(QLatin1String(ProjectExplorer::Constants::DEFAULT_WORKING_DIR)),
     m_runMode(Gui),
     m_baseEnvironmentBase(CustomExecutableRunConfiguration::BuildEnvironmentBase)
 {
-    m_workingDirectory = QLatin1String(DEFAULT_WORKING_DIR);
     ctor();
 }
 
diff --git a/src/plugins/projectexplorer/debugginghelper.cpp b/src/plugins/projectexplorer/debugginghelper.cpp
index af98003dff691011827bb86eef49d23a3087193c..35024087bddbab8786a1d90b508f09fcfa4aa245 100644
--- a/src/plugins/projectexplorer/debugginghelper.cpp
+++ b/src/plugins/projectexplorer/debugginghelper.cpp
@@ -34,14 +34,16 @@
 #include "debugginghelper.h"
 
 #include <coreplugin/icore.h>
+
+#include <utils/synchronousprocess.h>
+
 #include <QtCore/QFileInfo>
 #include <QtCore/QCoreApplication>
 #include <QtCore/QHash>
 #include <QtCore/QProcess>
 #include <QtCore/QDir>
 #include <QtCore/QDateTime>
-
-#include <utils/synchronousprocess.h>
+#include <QtCore/QStringList>
 
 #include <QtGui/QDesktopServices>
 
diff --git a/src/plugins/projectexplorer/debugginghelper.h b/src/plugins/projectexplorer/debugginghelper.h
index 8cbc366833314f61a1a63b8517a703369966d64d..931c46f3d64250273f69acaae741f02fd7b3a25c 100644
--- a/src/plugins/projectexplorer/debugginghelper.h
+++ b/src/plugins/projectexplorer/debugginghelper.h
@@ -39,7 +39,8 @@
 #include <utils/buildablehelperlibrary.h>
 
 #include <QtCore/QString>
-#include <QtCore/QStringList>
+
+QT_FORWARD_DECLARE_CLASS(QStringList)
 
 namespace ProjectExplorer {
 
diff --git a/src/plugins/projectexplorer/deployconfiguration.cpp b/src/plugins/projectexplorer/deployconfiguration.cpp
index 8585124942913b6589ad376955f4c20ef40265f1..4a050c108e2369139bd0fc70432d19920466e464 100644
--- a/src/plugins/projectexplorer/deployconfiguration.cpp
+++ b/src/plugins/projectexplorer/deployconfiguration.cpp
@@ -40,6 +40,8 @@
 #include "projectexplorerconstants.h"
 #include "target.h"
 
+#include <QtCore/QStringList>
+
 using namespace ProjectExplorer;
 
 namespace {
diff --git a/src/plugins/projectexplorer/deployconfiguration.h b/src/plugins/projectexplorer/deployconfiguration.h
index b40c7221964a6aa61f61f8a1dea10c4479f26f13..14c86d6e3e8d97b2f940ac67426ec37b46ff83f3 100644
--- a/src/plugins/projectexplorer/deployconfiguration.h
+++ b/src/plugins/projectexplorer/deployconfiguration.h
@@ -40,7 +40,8 @@
 #include "namedwidget.h"
 
 #include <QtCore/QString>
-#include <QtCore/QStringList>
+
+QT_FORWARD_DECLARE_CLASS(QStringList)
 
 namespace ProjectExplorer {
 
diff --git a/src/plugins/projectexplorer/outputformatter.h b/src/plugins/projectexplorer/outputformatter.h
index 863141b06d9bf24dc2e2cc63b9e94f126dd3123b..0c5d81e4b39a526fefd0a8d9d37554006b9bee79 100644
--- a/src/plugins/projectexplorer/outputformatter.h
+++ b/src/plugins/projectexplorer/outputformatter.h
@@ -40,7 +40,6 @@
 #include <QtCore/QObject>
 
 QT_BEGIN_NAMESPACE
-class QMouseEvent;
 class QPlainTextEdit;
 class QTextCharFormat;
 class QColor;
diff --git a/src/plugins/projectexplorer/processstep.cpp b/src/plugins/projectexplorer/processstep.cpp
index 4b8c90f5bbd053f008d5ae928bcf354f1f097130..bfe666920f7d3364eaead2438d70edeeb9cb5e88 100644
--- a/src/plugins/projectexplorer/processstep.cpp
+++ b/src/plugins/projectexplorer/processstep.cpp
@@ -35,6 +35,7 @@
 #include "buildstep.h"
 #include "project.h"
 #include "buildconfiguration.h"
+#include "projectexplorerconstants.h"
 
 #include <coreplugin/ifile.h>
 #include <utils/qtcprocess.h>
@@ -83,7 +84,7 @@ void ProcessStep::ctor()
     //: Default ProcessStep display name
     setDefaultDisplayName(tr("Custom Process Step"));
     if (m_workingDirectory.isEmpty())
-        m_workingDirectory = QLatin1String(DEFAULT_WORKING_DIR);
+        m_workingDirectory = QLatin1String(ProjectExplorer::Constants::DEFAULT_WORKING_DIR);
 }
 
 ProcessStep::~ProcessStep()
@@ -157,7 +158,7 @@ void ProcessStep::setEnabled(bool enabled)
 void ProcessStep::setWorkingDirectory(const QString &workingDirectory)
 {
     if (workingDirectory.isEmpty())
-        m_workingDirectory = QLatin1String(DEFAULT_WORKING_DIR);
+        m_workingDirectory = QLatin1String(ProjectExplorer::Constants::DEFAULT_WORKING_DIR);
     else
         m_workingDirectory = workingDirectory;
 }
diff --git a/src/plugins/projectexplorer/projectexplorerconstants.h b/src/plugins/projectexplorer/projectexplorerconstants.h
index 806150559db9e1bda80fd564a1c6a31e71272c9e..bfca377b87633af57d63ea8360bf5e53f394c235 100644
--- a/src/plugins/projectexplorer/projectexplorerconstants.h
+++ b/src/plugins/projectexplorer/projectexplorerconstants.h
@@ -225,6 +225,9 @@ const char * const DEFAULT_DEPLOYCONFIGURATION_ID = "ProjectExplorer.DefaultDepl
 // Run Configuration defaults:
 const int QML_DEFAULT_DEBUG_SERVER_PORT = 3768;
 
+// Default directory to run custom (build) commands in.
+const char * const DEFAULT_WORKING_DIR = "%{buildDir}";
+
 } // namespace Constants
 } // namespace ProjectExplorer
 
diff --git a/src/plugins/qmljstools/qmljsmodelmanager.h b/src/plugins/qmljstools/qmljsmodelmanager.h
index 9acebfee2f5e35951cc1bc84c54ba1eb3e4f688a..b669767693f53ef4614797e21b094bf6bf0f53b6 100644
--- a/src/plugins/qmljstools/qmljsmodelmanager.h
+++ b/src/plugins/qmljstools/qmljsmodelmanager.h
@@ -37,14 +37,12 @@
 #include "qmljstools_global.h"
 
 #include <qmljs/qmljsmodelmanagerinterface.h>
-#include <qmljs/qmljsdocument.h>
-#include <cplusplus/CppDocument.h>
+
 #include <cplusplus/ModelManagerInterface.h>
 
-#include <QFuture>
-#include <QFutureSynchronizer>
-#include <QMutex>
-#include <QProcess>
+#include <QtCore/QFuture>
+#include <QtCore/QFutureSynchronizer>
+#include <QtCore/QMutex>
 
 QT_FORWARD_DECLARE_CLASS(QTimer)
 
diff --git a/src/plugins/qmlprojectmanager/qmlproject.h b/src/plugins/qmlprojectmanager/qmlproject.h
index 46f67c7fe166078e4c96e61f964d10d75b150ed7..0b13dcadf1c62df107f23ba867ad143c8c8ac964 100644
--- a/src/plugins/qmlprojectmanager/qmlproject.h
+++ b/src/plugins/qmlprojectmanager/qmlproject.h
@@ -34,10 +34,9 @@
 #ifndef QMLPROJECT_H
 #define QMLPROJECT_H
 
-#include "qmlprojectmanager.h"
 #include "qmlprojectmanager_global.h"
 #include "qmlprojectnodes.h"
-#include "qmlprojecttarget.h"
+#include "qmlprojectmanager.h"
 
 #include <projectexplorer/project.h>
 
@@ -58,8 +57,7 @@ class QmlProjectItem;
 namespace Internal {
 
 class QmlProjectFile;
-class QmlProjectNode;
-
+class QmlProjectTarget;
 } // namespace Internal
 
 class QMLPROJECTMANAGER_EXPORT QmlProject : public ProjectExplorer::Project
diff --git a/src/plugins/qmlprojectmanager/qmlprojectplugin.cpp b/src/plugins/qmlprojectmanager/qmlprojectplugin.cpp
index f39d5f9fbd092dc4bbaf5e658c60e5916b37d5de..a30696ef357a91a964297ced3598051e6fd4d77b 100644
--- a/src/plugins/qmlprojectmanager/qmlprojectplugin.cpp
+++ b/src/plugins/qmlprojectmanager/qmlprojectplugin.cpp
@@ -38,6 +38,7 @@
 #include "qmlproject.h"
 #include "qmlprojectrunconfigurationfactory.h"
 #include "qmlprojectruncontrol.h"
+#include "qmlprojecttarget.h"
 #include "fileformat/qmlprojectfileformat.h"
 
 #include <extensionsystem/pluginmanager.h>
diff --git a/src/plugins/qmlprojectmanager/qmlprojectrunconfiguration.cpp b/src/plugins/qmlprojectmanager/qmlprojectrunconfiguration.cpp
index 712d44d2c4f77194488cc592d213411ccc2ee785..06e95fe195ec15337a701dd67195ee31e5d97df3 100644
--- a/src/plugins/qmlprojectmanager/qmlprojectrunconfiguration.cpp
+++ b/src/plugins/qmlprojectmanager/qmlprojectrunconfiguration.cpp
@@ -34,6 +34,7 @@
 #include "qmlprojectrunconfiguration.h"
 #include "qmlproject.h"
 #include "qmlprojectmanagerconstants.h"
+#include "qmlprojecttarget.h"
 #include "qmlprojectrunconfigurationwidget.h"
 #include <coreplugin/mimedatabase.h>
 #include <coreplugin/editormanager/editormanager.h>
diff --git a/src/plugins/qmlprojectmanager/qmlprojectrunconfiguration.h b/src/plugins/qmlprojectmanager/qmlprojectrunconfiguration.h
index c9f89d3829dd99c5effce840690f265287caa501..9ac9c0cce10773f8d28132c15f9472c71a1c641e 100644
--- a/src/plugins/qmlprojectmanager/qmlprojectrunconfiguration.h
+++ b/src/plugins/qmlprojectmanager/qmlprojectrunconfiguration.h
@@ -35,10 +35,10 @@
 #define QMLPROJECTRUNCONFIGURATION_H
 
 #include "qmlprojectmanager_global.h"
+
 #include <projectexplorer/runconfiguration.h>
-#include <QWeakPointer>
-#include <QComboBox>
-#include <QLabel>
+
+#include <QtCore/QWeakPointer>
 
 QT_FORWARD_DECLARE_CLASS(QStringListModel)
 
diff --git a/src/plugins/qmlprojectmanager/qmlprojectrunconfigurationwidget.cpp b/src/plugins/qmlprojectmanager/qmlprojectrunconfigurationwidget.cpp
index c6ef5b63609f595087000671ac264b1730946d5f..cf843ab5edd32ba36cd721dffd4d3d76854dee1c 100644
--- a/src/plugins/qmlprojectmanager/qmlprojectrunconfigurationwidget.cpp
+++ b/src/plugins/qmlprojectmanager/qmlprojectrunconfigurationwidget.cpp
@@ -45,10 +45,12 @@
 #include <qt4projectmanager/qt4projectmanagerconstants.h>
 #include <qt4projectmanager/qtversionmanager.h>
 
-#include <QLineEdit>
-#include <QFormLayout>
-#include <QPushButton>
-#include <QStandardItemModel>
+#include <QtGui/QLineEdit>
+#include <QtGui/QComboBox>
+#include <QtGui/QFormLayout>
+#include <QtGui/QLabel>
+#include <QtGui/QPushButton>
+#include <QtGui/QStandardItemModel>
 
 using Core::ICore;
 using Utils::DebuggerLanguageChooser;
diff --git a/src/plugins/qt4projectmanager/wizards/consoleappwizard.cpp b/src/plugins/qt4projectmanager/wizards/consoleappwizard.cpp
index dae643ee6b6080c623240e57d62999160b36f596..d5e0257b3e03b81ab495e5dfae519ae059e0f3ed 100644
--- a/src/plugins/qt4projectmanager/wizards/consoleappwizard.cpp
+++ b/src/plugins/qt4projectmanager/wizards/consoleappwizard.cpp
@@ -39,7 +39,7 @@
 #include <cpptools/abstracteditorsupport.h>
 
 #include <QtGui/QIcon>
-
+#include <QtCore/QFileInfo>
 #include <QtCore/QTextStream>
 
 static const char *mainCppC =
diff --git a/src/plugins/subversion/subversioneditor.cpp b/src/plugins/subversion/subversioneditor.cpp
index 5eeadc17fa22e87705a750e2016677be9e25606a..b699f57e28016e5c6984b8e3afb69740369752d8 100644
--- a/src/plugins/subversion/subversioneditor.cpp
+++ b/src/plugins/subversion/subversioneditor.cpp
@@ -43,6 +43,7 @@
 #include <QtCore/QDebug>
 #include <QtCore/QFileInfo>
 #include <QtGui/QTextCursor>
+#include <QtGui/QTextBlock>
 
 using namespace Subversion;
 using namespace Subversion::Internal;
diff --git a/src/plugins/texteditor/basefilefind.h b/src/plugins/texteditor/basefilefind.h
index 7b14c65204ef941e6deeb7821fb41b8cc839c507..9a084c91506fdb1dc22f19e6cb862165c1f0b287 100644
--- a/src/plugins/texteditor/basefilefind.h
+++ b/src/plugins/texteditor/basefilefind.h
@@ -47,8 +47,6 @@
 QT_BEGIN_NAMESPACE
 class QLabel;
 class QComboBox;
-class QCheckBox;
-class QStringListModel;
 QT_END_NAMESPACE
 
 namespace Find {
diff --git a/src/plugins/texteditor/fontsettings.cpp b/src/plugins/texteditor/fontsettings.cpp
index 8d850b930d7464eefa0769a4700428d7303954ab..c551167a40baef6ec565edc4da2210174ad5f92e 100644
--- a/src/plugins/texteditor/fontsettings.cpp
+++ b/src/plugins/texteditor/fontsettings.cpp
@@ -42,6 +42,7 @@
 #include <QtCore/QSettings>
 #include <QtCore/QCoreApplication>
 #include <QtGui/QTextCharFormat>
+#include <QtGui/QFont>
 
 static const char *fontFamilyKey = "FontFamily";
 static const char *fontSizeKey = "FontSize";
@@ -242,6 +243,11 @@ void FontSettings::setFontZoom(int zoom)
     m_fontZoom = zoom;
 }
 
+QFont FontSettings::font() const
+{
+    return QFont(family(), fontSize());
+}
+
 /**
  * Returns the configured antialiasing behavior.
  */
diff --git a/src/plugins/texteditor/fontsettings.h b/src/plugins/texteditor/fontsettings.h
index 51ff040116bbe5dc6b38e9f90b88f23ffb2c7c24..3695281fb4d6b874b2255c155c90d41bdb3d6a26 100644
--- a/src/plugins/texteditor/fontsettings.h
+++ b/src/plugins/texteditor/fontsettings.h
@@ -40,14 +40,12 @@
 
 #include <QtCore/QString>
 #include <QtCore/QList>
-#include <QtCore/QMap>
 #include <QtCore/QVector>
-#include <QtGui/QFont>
 
 QT_BEGIN_NAMESPACE
 class QTextCharFormat;
 class QSettings;
-
+class QFont;
 QT_END_NAMESPACE
 
 namespace TextEditor {
@@ -85,8 +83,7 @@ public:
     int fontZoom() const;
     void setFontZoom(int zoom);
 
-    QFont font() const
-    { return QFont(family(), fontSize()); }
+    QFont font() const;
 
     bool antialias() const;
     void setAntialias(bool antialias);
diff --git a/src/plugins/texteditor/indenter.h b/src/plugins/texteditor/indenter.h
index d472906c9fa6318633776ee6988b2852b8a567ca..8e29c3d8653d51c57251c000c06aaea01ccc2045 100644
--- a/src/plugins/texteditor/indenter.h
+++ b/src/plugins/texteditor/indenter.h
@@ -36,12 +36,13 @@
 
 #include "texteditor_global.h"
 
-#include <QtCore/QChar>
-#include <QtGui/QTextBlock>
+#include <QtCore/QtGlobal>
 
 QT_BEGIN_NAMESPACE
 class QTextDocument;
 class QTextCursor;
+class QTextBlock;
+class QChar;
 QT_END_NAMESPACE
 
 namespace TextEditor {
diff --git a/src/plugins/texteditor/quickfix.h b/src/plugins/texteditor/quickfix.h
index 5bbcb62cdd53a93ab6ef13efc6c98f704b229f9d..6e38ec31545276ec3dc8de457cfebd8bcb8f6c22 100644
--- a/src/plugins/texteditor/quickfix.h
+++ b/src/plugins/texteditor/quickfix.h
@@ -37,10 +37,7 @@
 #include "texteditor_global.h"
 #include "icompletioncollector.h"
 
-#include <utils/changeset.h>
-
 #include <QtCore/QSharedPointer>
-#include <QtGui/QTextCursor>
 
 namespace TextEditor {
 
diff --git a/src/plugins/texteditor/refactoringchanges.cpp b/src/plugins/texteditor/refactoringchanges.cpp
index 911f90e6e4add8623e6624c78bb062b1e2cca56d..66900174c46a3e8af61845ecd3b953603d1262dc 100644
--- a/src/plugins/texteditor/refactoringchanges.cpp
+++ b/src/plugins/texteditor/refactoringchanges.cpp
@@ -32,6 +32,7 @@
 **************************************************************************/
 
 #include "refactoringchanges.h"
+#include "basetexteditor.h"
 
 #include <coreplugin/editormanager/editormanager.h>
 #include <extensionsystem/pluginmanager.h>
@@ -39,6 +40,8 @@
 #include <QtCore/QFile>
 #include <QtCore/QSet>
 #include <QtGui/QTextBlock>
+#include <QtGui/QTextCursor>
+#include <QtGui/QTextDocument>
 #include <QtCore/QDebug>
 
 using namespace TextEditor;
diff --git a/src/plugins/texteditor/refactoringchanges.h b/src/plugins/texteditor/refactoringchanges.h
index 4af97d8ed224abc1178acf0c5e4e14a958507f27..87e8a355dcee3ecb5a1e7c951a124dea4442ccc1 100644
--- a/src/plugins/texteditor/refactoringchanges.h
+++ b/src/plugins/texteditor/refactoringchanges.h
@@ -35,15 +35,15 @@
 #define REFACTORINGCHANGES_H
 
 #include <utils/changeset.h>
-#include <texteditor/basetexteditor.h>
 #include <texteditor/texteditor_global.h>
 
 #include <QtCore/QList>
-#include <QtCore/QMap>
 #include <QtCore/QString>
 
-namespace TextEditor {
+QT_FORWARD_DECLARE_CLASS(QTextDocument)
 
+namespace TextEditor {
+class BaseTextEditor;
 class RefactoringChanges;
 
 class TEXTEDITOR_EXPORT RefactoringFile
diff --git a/src/plugins/texteditor/syntaxhighlighter.h b/src/plugins/texteditor/syntaxhighlighter.h
index 1c7a3a8e88ec3066cae30fe428fe70d669973f4e..25c8b35b14357dc3e53d09a0afc90b81935b3762 100644
--- a/src/plugins/texteditor/syntaxhighlighter.h
+++ b/src/plugins/texteditor/syntaxhighlighter.h
@@ -43,9 +43,8 @@
 #define TEXTEDITOR_SYNTAXHIGHLIGHTER_H
 
 #include "texteditor_global.h"
-#include <QtCore/qglobal.h>
-#include <QtCore/qobject.h>
-#include <QtGui/qtextobject.h>
+
+#include <QtCore/QObject>
 #include <QtGui/QTextLayout>
 
 QT_BEGIN_NAMESPACE
diff --git a/src/plugins/vcsbase/baseannotationhighlighter.h b/src/plugins/vcsbase/baseannotationhighlighter.h
index 97021c63a6c0993d4107ef1e6736802e71ddeb90..188dbe7dfb823bd0c6083834f109eacc7e849389 100644
--- a/src/plugins/vcsbase/baseannotationhighlighter.h
+++ b/src/plugins/vcsbase/baseannotationhighlighter.h
@@ -35,11 +35,8 @@
 #define BASEANNOTATIONHIGHLIGHTER_H
 
 #include "vcsbase_global.h"
+
 #include <texteditor/syntaxhighlighter.h>
-#include <QtCore/QMap>
-#include <QtCore/QSet>
-#include <QtGui/QSyntaxHighlighter>
-#include <QtGui/QTextCharFormat>
 
 namespace VCSBase {
 
diff --git a/src/plugins/vcsbase/diffhighlighter.h b/src/plugins/vcsbase/diffhighlighter.h
index d714283f3e6e0a25703535b17344cdb4e2912086..26e599c7c3b2f0386effde2eab1f05e1c1dc5a15 100644
--- a/src/plugins/vcsbase/diffhighlighter.h
+++ b/src/plugins/vcsbase/diffhighlighter.h
@@ -35,12 +35,12 @@
 #define DIFFHIGHLIGHTER_H
 
 #include "vcsbase_global.h"
+
 #include <texteditor/syntaxhighlighter.h>
-#include <QtGui/QTextCharFormat>
-#include <QtCore/QVector>
 
 QT_BEGIN_NAMESPACE
 class QRegExp;
+class QTextCharFormat;
 QT_END_NAMESPACE
 
 namespace Core {
diff --git a/src/plugins/vcsbase/vcsbaseeditor.cpp b/src/plugins/vcsbase/vcsbaseeditor.cpp
index a1853857ff3216261a3fde3ae37de845b50f21ce..2f8fa77cbba8136d679cfd94b00fb2157721c4af 100644
--- a/src/plugins/vcsbase/vcsbaseeditor.cpp
+++ b/src/plugins/vcsbase/vcsbaseeditor.cpp
@@ -58,6 +58,7 @@
 #include <QtCore/QSet>
 #include <QtCore/QTextCodec>
 #include <QtCore/QTextStream>
+#include <QtGui/QTextBlock>
 #include <QtGui/QAction>
 #include <QtGui/QKeyEvent>
 #include <QtGui/QLayout>