From ad294f846768a5871c39c2789f13334368258498 Mon Sep 17 00:00:00 2001
From: Friedemann Kleint <Friedemann.Kleint@nokia.com>
Date: Tue, 29 Sep 2009 11:39:55 +0200
Subject: [PATCH] Project explorer: Make public headers compile with
 NO_CAST_FROM_ASCII

.. and purge unneeded includes.
---
 .../cmakebuildenvironmentwidget.cpp           |  1 +
 src/plugins/cmakeprojectmanager/makestep.cpp  |  2 ++
 src/plugins/debugger/debuggerplugin.cpp       |  1 +
 .../genericprojectmanager/genericmakestep.cpp |  1 +
 .../genericprojectmanager/genericproject.cpp  |  1 +
 src/plugins/git/gitplugin.cpp                 |  1 +
 .../projectexplorer/abstractmakestep.cpp      |  1 +
 .../projectexplorer/abstractmakestep.h        |  3 +--
 src/plugins/projectexplorer/buildmanager.cpp  |  4 ++++
 src/plugins/projectexplorer/buildmanager.h    |  2 --
 .../buildsettingspropertiespage.cpp           |  1 +
 src/plugins/projectexplorer/buildstep.cpp     |  1 +
 src/plugins/projectexplorer/buildstep.h       |  2 +-
 .../projectexplorer/buildstepspage.cpp        |  1 +
 .../customexecutablerunconfiguration.cpp      |  3 +++
 .../customexecutablerunconfiguration.h        | 15 +++++++++-----
 .../projectexplorer/dependenciespanel.cpp     |  1 +
 .../editorsettingspropertiespage.cpp          |  1 +
 src/plugins/projectexplorer/environment.h     |  4 ++--
 .../projectexplorer/environmenteditmodel.cpp  |  7 +++++++
 .../projectexplorer/environmenteditmodel.h    | 14 +++++++------
 .../projectexplorer/iprojectproperties.h      |  3 +--
 .../projectexplorer/persistentsettings.cpp    |  1 +
 .../projectexplorer/persistentsettings.h      |  5 ++++-
 src/plugins/projectexplorer/project.cpp       |  4 ++++
 src/plugins/projectexplorer/project.h         | 20 +++++++++++--------
 .../projectexplorer/projectexplorer.cpp       |  1 +
 src/plugins/projectexplorer/projectmodels.cpp |  1 +
 .../projectexplorer/projecttreewidget.cpp     |  1 +
 src/plugins/projectexplorer/projectwindow.cpp |  2 ++
 .../projectexplorer/runconfiguration.cpp      |  1 +
 .../runsettingspropertiespage.cpp             |  2 ++
 .../runsettingspropertiespage.h               |  4 ++++
 src/plugins/projectexplorer/session.cpp       |  1 +
 src/plugins/projectexplorer/session.h         |  9 +++++----
 src/plugins/projectexplorer/toolchain.cpp     |  1 +
 src/plugins/projectexplorer/toolchain.h       |  7 ++++++-
 src/plugins/qmlprojectmanager/qmlproject.cpp  |  1 +
 .../qt-s60/s60devicerunconfiguration.cpp      |  1 +
 .../qt-s60/s60emulatorrunconfiguration.cpp    |  1 +
 .../qt4buildenvironmentwidget.cpp             |  2 ++
 .../qt4projectmanager/qt4runconfiguration.cpp |  1 +
 42 files changed, 102 insertions(+), 34 deletions(-)

diff --git a/src/plugins/cmakeprojectmanager/cmakebuildenvironmentwidget.cpp b/src/plugins/cmakeprojectmanager/cmakebuildenvironmentwidget.cpp
index 07c02e02985..22daabf9de7 100644
--- a/src/plugins/cmakeprojectmanager/cmakebuildenvironmentwidget.cpp
+++ b/src/plugins/cmakeprojectmanager/cmakebuildenvironmentwidget.cpp
@@ -31,6 +31,7 @@
 #include "cmakeproject.h"
 #include <projectexplorer/environmenteditmodel.h>
 #include <QtGui/QVBoxLayout>
+#include <QtGui/QCheckBox>
 
 namespace {
 bool debug = false;
diff --git a/src/plugins/cmakeprojectmanager/makestep.cpp b/src/plugins/cmakeprojectmanager/makestep.cpp
index 61a4a814487..8db7559329a 100644
--- a/src/plugins/cmakeprojectmanager/makestep.cpp
+++ b/src/plugins/cmakeprojectmanager/makestep.cpp
@@ -30,6 +30,8 @@
 #include "cmakeprojectconstants.h"
 #include "cmakeproject.h"
 
+#include <projectexplorer/projectexplorer.h>
+
 #include <QtGui/QFormLayout>
 #include <QtGui/QGroupBox>
 #include <QtGui/QCheckBox>
diff --git a/src/plugins/debugger/debuggerplugin.cpp b/src/plugins/debugger/debuggerplugin.cpp
index 03eebb88ba9..bb8a1cc9767 100644
--- a/src/plugins/debugger/debuggerplugin.cpp
+++ b/src/plugins/debugger/debuggerplugin.cpp
@@ -66,6 +66,7 @@
 #include <projectexplorer/projectexplorer.h>
 #include <projectexplorer/projectexplorerconstants.h>
 #include <projectexplorer/session.h>
+#include <projectexplorer/project.h>
 
 #include <texteditor/basetexteditor.h>
 #include <texteditor/basetextmark.h>
diff --git a/src/plugins/genericprojectmanager/genericmakestep.cpp b/src/plugins/genericprojectmanager/genericmakestep.cpp
index 79a7dde5e83..9bc4320ff33 100644
--- a/src/plugins/genericprojectmanager/genericmakestep.cpp
+++ b/src/plugins/genericprojectmanager/genericmakestep.cpp
@@ -34,6 +34,7 @@
 
 #include <extensionsystem/pluginmanager.h>
 #include <projectexplorer/toolchain.h>
+#include <projectexplorer/projectexplorer.h>
 #include <utils/qtcassert.h>
 #include <coreplugin/variablemanager.h>
 
diff --git a/src/plugins/genericprojectmanager/genericproject.cpp b/src/plugins/genericprojectmanager/genericproject.cpp
index 71a78549392..3b75a3f09c8 100644
--- a/src/plugins/genericprojectmanager/genericproject.cpp
+++ b/src/plugins/genericprojectmanager/genericproject.cpp
@@ -33,6 +33,7 @@
 
 #include <projectexplorer/toolchain.h>
 #include <projectexplorer/projectexplorerconstants.h>
+#include <projectexplorer/persistentsettings.h>
 #include <cpptools/cppmodelmanagerinterface.h>
 #include <extensionsystem/pluginmanager.h>
 #include <utils/pathchooser.h>
diff --git a/src/plugins/git/gitplugin.cpp b/src/plugins/git/gitplugin.cpp
index 0324e1b7c80..81d2fa2fa96 100644
--- a/src/plugins/git/gitplugin.cpp
+++ b/src/plugins/git/gitplugin.cpp
@@ -58,6 +58,7 @@
 
 #include <projectexplorer/projectexplorer.h>
 #include <projectexplorer/project.h>
+#include <projectexplorer/projectnodes.h>
 
 #include <QtCore/QDebug>
 #include <QtCore/QDir>
diff --git a/src/plugins/projectexplorer/abstractmakestep.cpp b/src/plugins/projectexplorer/abstractmakestep.cpp
index 18a3abecd59..b08f713c018 100644
--- a/src/plugins/projectexplorer/abstractmakestep.cpp
+++ b/src/plugins/projectexplorer/abstractmakestep.cpp
@@ -30,6 +30,7 @@
 #include "abstractmakestep.h"
 
 #include "projectexplorerconstants.h"
+#include "project.h"
 
 #include <extensionsystem/pluginmanager.h>
 #include <utils/qtcassert.h>
diff --git a/src/plugins/projectexplorer/abstractmakestep.h b/src/plugins/projectexplorer/abstractmakestep.h
index a773983b71b..813349c7049 100644
--- a/src/plugins/projectexplorer/abstractmakestep.h
+++ b/src/plugins/projectexplorer/abstractmakestep.h
@@ -30,9 +30,8 @@
 #ifndef ABSTRACTMAKESTEP_H
 #define ABSTRACTMAKESTEP_H
 
-#include "abstractprocessstep.h"
-#include "projectexplorer.h"
 #include "projectexplorer_export.h"
+#include "abstractprocessstep.h"
 
 namespace ProjectExplorer {
 class BuildStep;
diff --git a/src/plugins/projectexplorer/buildmanager.cpp b/src/plugins/projectexplorer/buildmanager.cpp
index bd114e87996..cc3fa45a9ec 100644
--- a/src/plugins/projectexplorer/buildmanager.cpp
+++ b/src/plugins/projectexplorer/buildmanager.cpp
@@ -34,6 +34,7 @@
 #include "compileoutputwindow.h"
 #include "projectexplorerconstants.h"
 #include "projectexplorer.h"
+#include "project.h"
 #include "projectexplorersettings.h"
 #include "taskwindow.h"
 
@@ -45,6 +46,9 @@
 
 #include <QtCore/QDir>
 #include <QtCore/QTimer>
+
+#include <qtconcurrent/QtConcurrentTools>
+
 #include <QtGui/QHeaderView>
 #include <QtGui/QIcon>
 #include <QtGui/QLabel>
diff --git a/src/plugins/projectexplorer/buildmanager.h b/src/plugins/projectexplorer/buildmanager.h
index 2a461270ea0..3278064e577 100644
--- a/src/plugins/projectexplorer/buildmanager.h
+++ b/src/plugins/projectexplorer/buildmanager.h
@@ -36,9 +36,7 @@
 #include <QtCore/QStringList>
 #include <QtCore/QList>
 #include <QtCore/QHash>
-#include <QtCore/QtConcurrentRun>
 #include <QtCore/QFutureWatcher>
-#include <qtconcurrent/QtConcurrentTools>
 
 namespace ProjectExplorer {
 
diff --git a/src/plugins/projectexplorer/buildsettingspropertiespage.cpp b/src/plugins/projectexplorer/buildsettingspropertiespage.cpp
index 28665c27525..8c47901b27c 100644
--- a/src/plugins/projectexplorer/buildsettingspropertiespage.cpp
+++ b/src/plugins/projectexplorer/buildsettingspropertiespage.cpp
@@ -40,6 +40,7 @@
 #include <QtGui/QInputDialog>
 #include <QtGui/QLabel>
 #include <QtGui/QVBoxLayout>
+#include <QtGui/QMenu>
 
 using namespace ProjectExplorer;
 using namespace ProjectExplorer::Internal;
diff --git a/src/plugins/projectexplorer/buildstep.cpp b/src/plugins/projectexplorer/buildstep.cpp
index 1a4efe7b040..77c4791243f 100644
--- a/src/plugins/projectexplorer/buildstep.cpp
+++ b/src/plugins/projectexplorer/buildstep.cpp
@@ -29,6 +29,7 @@
 
 #include "buildstep.h"
 #include "buildconfiguration.h"
+#include "project.h"
 
 #include <utils/qtcassert.h>
 #include <QtGui/QLayout>
diff --git a/src/plugins/projectexplorer/buildstep.h b/src/plugins/projectexplorer/buildstep.h
index 23062aa0abe..360bd0f08ad 100644
--- a/src/plugins/projectexplorer/buildstep.h
+++ b/src/plugins/projectexplorer/buildstep.h
@@ -31,7 +31,6 @@
 #define BUILDSTEP_H
 
 #include "buildparserinterface.h"
-#include "project.h"
 #include "projectexplorer_export.h"
 
 #include <QtGui/QWidget>
@@ -39,6 +38,7 @@
 
 namespace ProjectExplorer {
 
+class Project;
 namespace Internal {
 class BuildConfiguration;
 }
diff --git a/src/plugins/projectexplorer/buildstepspage.cpp b/src/plugins/projectexplorer/buildstepspage.cpp
index 5939547f324..f413f87353d 100644
--- a/src/plugins/projectexplorer/buildstepspage.cpp
+++ b/src/plugins/projectexplorer/buildstepspage.cpp
@@ -39,6 +39,7 @@
 
 #include <QtGui/QLabel>
 #include <QtGui/QPushButton>
+#include <QtGui/QMenu>
 
 using namespace ProjectExplorer;
 using namespace ProjectExplorer::Internal;
diff --git a/src/plugins/projectexplorer/customexecutablerunconfiguration.cpp b/src/plugins/projectexplorer/customexecutablerunconfiguration.cpp
index ede1f5b5202..c1bf25b3dcb 100644
--- a/src/plugins/projectexplorer/customexecutablerunconfiguration.cpp
+++ b/src/plugins/projectexplorer/customexecutablerunconfiguration.cpp
@@ -30,10 +30,13 @@
 #include "customexecutablerunconfiguration.h"
 #include "environment.h"
 #include "project.h"
+#include "persistentsettings.h"
+#include "environmenteditmodel.h"
 
 #include <coreplugin/icore.h>
 #include <projectexplorer/debugginghelper.h>
 #include <utils/detailsbutton.h>
+#include <utils/pathchooser.h>
 
 #include <QtGui/QCheckBox>
 #include <QtGui/QFormLayout>
diff --git a/src/plugins/projectexplorer/customexecutablerunconfiguration.h b/src/plugins/projectexplorer/customexecutablerunconfiguration.h
index 99300a78aba..3c47b219daa 100644
--- a/src/plugins/projectexplorer/customexecutablerunconfiguration.h
+++ b/src/plugins/projectexplorer/customexecutablerunconfiguration.h
@@ -32,19 +32,24 @@
 
 #include "applicationrunconfiguration.h"
 
-#include <utils/pathchooser.h>
-#include <projectexplorer/environmenteditmodel.h>
-
-#include <QtGui/QToolButton>
+#include <QtGui/QWidget>
 
 QT_BEGIN_NAMESPACE
 class QCheckBox;
 class QLineEdit;
 class QComboBox;
+class QLabel;
+class QAbstractButton;
 QT_END_NAMESPACE
 
+namespace Core {
+namespace Utils {
+class PathChooser;
+}
+}
+
 namespace ProjectExplorer {
-    
+class EnvironmentWidget;
 namespace Internal {
     class CustomExecutableConfigurationWidget;
 }
diff --git a/src/plugins/projectexplorer/dependenciespanel.cpp b/src/plugins/projectexplorer/dependenciespanel.cpp
index 697681c1781..f7e2078b9b1 100644
--- a/src/plugins/projectexplorer/dependenciespanel.cpp
+++ b/src/plugins/projectexplorer/dependenciespanel.cpp
@@ -34,6 +34,7 @@
 #include <utils/detailsbutton.h>
 
 #include <coreplugin/fileiconprovider.h>
+#include <coreplugin/ifile.h>
 
 #include <QtCore/QVector>
 #include <QtCore/QDebug>
diff --git a/src/plugins/projectexplorer/editorsettingspropertiespage.cpp b/src/plugins/projectexplorer/editorsettingspropertiespage.cpp
index 6ee531c0263..82b185a4bab 100644
--- a/src/plugins/projectexplorer/editorsettingspropertiespage.cpp
+++ b/src/plugins/projectexplorer/editorsettingspropertiespage.cpp
@@ -29,6 +29,7 @@
 
 #include "editorsettingspropertiespage.h"
 #include "editorconfiguration.h"
+#include "project.h"
 
 #include <QtCore/QTextCodec>
 
diff --git a/src/plugins/projectexplorer/environment.h b/src/plugins/projectexplorer/environment.h
index e8cd10db4d6..921b6795c6a 100644
--- a/src/plugins/projectexplorer/environment.h
+++ b/src/plugins/projectexplorer/environment.h
@@ -72,8 +72,8 @@ public:
     void unset(const QString &key);
     void modify(const QList<EnvironmentItem> & list);
 
-    void appendOrSet(const QString &key, const QString &value, const QString &sep = "");
-    void prependOrSet(const QString &key, const QString &value, const QString &sep = "");
+    void appendOrSet(const QString &key, const QString &value, const QString &sep = QString());
+    void prependOrSet(const QString &key, const QString &value, const QString &sep = QString());
 
     void appendOrSetPath(const QString &value);
     void prependOrSetPath(const QString &value);
diff --git a/src/plugins/projectexplorer/environmenteditmodel.cpp b/src/plugins/projectexplorer/environmenteditmodel.cpp
index 22fbc800dff..7ca0af8315d 100644
--- a/src/plugins/projectexplorer/environmenteditmodel.cpp
+++ b/src/plugins/projectexplorer/environmenteditmodel.cpp
@@ -34,6 +34,13 @@
 #include <QtGui/QVBoxLayout>
 #include <QtGui/QHeaderView>
 #include <QtGui/QToolButton>
+#include <QtCore/QDebug>
+#include <QtGui/QWidget>
+#include <QtGui/QCheckBox>
+#include <QtGui/QTreeView>
+#include <QtGui/QPushButton>
+#include <QtGui/QLabel>
+#include <QtGui/QStackedWidget>
 
 using namespace ProjectExplorer;
 
diff --git a/src/plugins/projectexplorer/environmenteditmodel.h b/src/plugins/projectexplorer/environmenteditmodel.h
index 85d3e8d04fd..d6572340b71 100644
--- a/src/plugins/projectexplorer/environmenteditmodel.h
+++ b/src/plugins/projectexplorer/environmenteditmodel.h
@@ -34,13 +34,15 @@
 
 #include <QtCore/QString>
 #include <QtCore/QAbstractItemModel>
-#include <QtCore/QDebug>
 #include <QtGui/QWidget>
-#include <QtGui/QCheckBox>
-#include <QtGui/QTreeView>
-#include <QtGui/QPushButton>
-#include <QtGui/QLabel>
-#include <QtGui/QStackedWidget>
+
+QT_BEGIN_NAMESPACE
+class QCheckBox;
+class QTreeView;
+class QPushButton;
+class QLabel;
+class QStackedWidget;
+QT_END_NAMESPACE
 
 namespace ProjectExplorer {
 
diff --git a/src/plugins/projectexplorer/iprojectproperties.h b/src/plugins/projectexplorer/iprojectproperties.h
index cdc299936bf..8f15bd34750 100644
--- a/src/plugins/projectexplorer/iprojectproperties.h
+++ b/src/plugins/projectexplorer/iprojectproperties.h
@@ -31,12 +31,11 @@
 #define IPROJECTPROPERTIES_H
 
 #include "projectexplorer_export.h"
-#include "project.h"
 
 #include <coreplugin/icontext.h>
 
 namespace ProjectExplorer {
-
+class Project;
 class PropertiesPanel;
 
 class PROJECTEXPLORER_EXPORT IPanelFactory : public QObject
diff --git a/src/plugins/projectexplorer/persistentsettings.cpp b/src/plugins/projectexplorer/persistentsettings.cpp
index 10726f58039..8c0de8a22ff 100644
--- a/src/plugins/projectexplorer/persistentsettings.cpp
+++ b/src/plugins/projectexplorer/persistentsettings.cpp
@@ -34,6 +34,7 @@
 #include <QtCore/QVariant>
 #include <QtXml/QDomDocument>
 #include <QtXml/QDomCDATASection>
+#include <QtXml/QDomElement>
 
 
 using namespace ProjectExplorer;
diff --git a/src/plugins/projectexplorer/persistentsettings.h b/src/plugins/projectexplorer/persistentsettings.h
index c291dbca34b..bdead85b6a9 100644
--- a/src/plugins/projectexplorer/persistentsettings.h
+++ b/src/plugins/projectexplorer/persistentsettings.h
@@ -34,7 +34,10 @@
 
 #include <QtCore/QMap>
 #include <QtCore/QVariant>
-#include <QtXml/QDomElement>
+
+QT_BEGIN_NAMESPACE
+class QDomElement;
+QT_END_NAMESPACE
 
 namespace ProjectExplorer {
 
diff --git a/src/plugins/projectexplorer/project.cpp b/src/plugins/projectexplorer/project.cpp
index cd7b713cdb9..da5da51a058 100644
--- a/src/plugins/projectexplorer/project.cpp
+++ b/src/plugins/projectexplorer/project.cpp
@@ -29,6 +29,10 @@
 
 #include "project.h"
 
+#include "persistentsettings.h"
+#include "buildconfiguration.h"
+#include "environment.h"
+#include "projectnodes.h"
 #include "buildstep.h"
 #include "projectexplorer.h"
 #include "runconfiguration.h"
diff --git a/src/plugins/projectexplorer/project.h b/src/plugins/projectexplorer/project.h
index 456646c970d..9070fb51243 100644
--- a/src/plugins/projectexplorer/project.h
+++ b/src/plugins/projectexplorer/project.h
@@ -30,19 +30,15 @@
 #ifndef PROJECT_H
 #define PROJECT_H
 
-#include "persistentsettings.h"
 #include "projectexplorer_export.h"
-#include "buildconfiguration.h"
-#include "environment.h"
-#include "projectnodes.h"
 
 #include <QtCore/QSharedPointer>
 #include <QtCore/QObject>
-#include <QtCore/QModelIndex>
-#include <QtCore/QFileInfo>
 #include <QtGui/QFileSystemModel>
-#include <QtGui/QMenu>
-#include <QtGui/QIcon>
+
+QT_BEGIN_NAMESPACE
+class QMenu;
+QT_END_NAMESPACE
 
 namespace Core {
 class IFile;
@@ -56,6 +52,14 @@ class BuildConfigWidget;
 class IProjectManager;
 class RunConfiguration;
 class EditorConfiguration;
+class Environment;
+class ProjectNode;
+class PersistentSettingsWriter;
+class PersistentSettingsReader;
+
+namespace Internal {
+class BuildConfiguration;
+}
 
 class PROJECTEXPLORER_EXPORT Project
     : public QObject
diff --git a/src/plugins/projectexplorer/projectexplorer.cpp b/src/plugins/projectexplorer/projectexplorer.cpp
index df19d838b9d..0c2ccb9c66d 100644
--- a/src/plugins/projectexplorer/projectexplorer.cpp
+++ b/src/plugins/projectexplorer/projectexplorer.cpp
@@ -28,6 +28,7 @@
 **************************************************************************/
 
 #include "projectexplorer.h"
+#include "project.h"
 #include "projectexplorersettings.h"
 #include "applicationrunconfiguration.h"
 #include "allprojectsfilter.h"
diff --git a/src/plugins/projectexplorer/projectmodels.cpp b/src/plugins/projectexplorer/projectmodels.cpp
index da793af74a8..55e1a542982 100644
--- a/src/plugins/projectexplorer/projectmodels.cpp
+++ b/src/plugins/projectexplorer/projectmodels.cpp
@@ -31,6 +31,7 @@
 
 #include "project.h"
 #include "projectexplorerconstants.h"
+#include "projectnodes.h"
 
 #include <coreplugin/fileiconprovider.h>
 #include <utils/qtcassert.h>
diff --git a/src/plugins/projectexplorer/projecttreewidget.cpp b/src/plugins/projectexplorer/projecttreewidget.cpp
index dc22cc1f5da..edcbf4c08da 100644
--- a/src/plugins/projectexplorer/projecttreewidget.cpp
+++ b/src/plugins/projectexplorer/projecttreewidget.cpp
@@ -48,6 +48,7 @@
 #include <QtGui/QFocusEvent>
 #include <QtGui/QAction>
 #include <QtGui/QPalette>
+#include <QtGui/QMenu>
 
 using namespace ProjectExplorer;
 using namespace ProjectExplorer::Internal;
diff --git a/src/plugins/projectexplorer/projectwindow.cpp b/src/plugins/projectexplorer/projectwindow.cpp
index 585b8620631..fd5b95e9ab9 100644
--- a/src/plugins/projectexplorer/projectwindow.cpp
+++ b/src/plugins/projectexplorer/projectwindow.cpp
@@ -30,6 +30,7 @@
 #include "projectwindow.h"
 
 #include "project.h"
+#include "environment.h"
 #include "projectexplorer.h"
 #include "projectexplorerconstants.h"
 #include "iprojectproperties.h"
@@ -40,6 +41,7 @@
 #include <coreplugin/minisplitter.h>
 #include <coreplugin/fileiconprovider.h>
 #include <coreplugin/icore.h>
+#include <coreplugin/ifile.h>
 #include <extensionsystem/pluginmanager.h>
 #include <utils/styledbar.h>
 
diff --git a/src/plugins/projectexplorer/runconfiguration.cpp b/src/plugins/projectexplorer/runconfiguration.cpp
index 52c9ac5de66..c9765ad5cd5 100644
--- a/src/plugins/projectexplorer/runconfiguration.cpp
+++ b/src/plugins/projectexplorer/runconfiguration.cpp
@@ -29,6 +29,7 @@
 
 #include "runconfiguration.h"
 #include "project.h"
+#include "persistentsettings.h"
 
 #include <QtCore/QTimer>
 
diff --git a/src/plugins/projectexplorer/runsettingspropertiespage.cpp b/src/plugins/projectexplorer/runsettingspropertiespage.cpp
index e31e8ef3110..2fd64f19752 100644
--- a/src/plugins/projectexplorer/runsettingspropertiespage.cpp
+++ b/src/plugins/projectexplorer/runsettingspropertiespage.cpp
@@ -29,6 +29,7 @@
 
 #include "runsettingspropertiespage.h"
 #include "runconfiguration.h"
+#include "project.h"
 
 #include "ui_runsettingspropertiespage.h"
 
@@ -38,6 +39,7 @@
 
 #include <QtCore/QDebug>
 #include <QtCore/QPair>
+#include <QtGui/QMenu>
 
 namespace ProjectExplorer {
 namespace Internal {
diff --git a/src/plugins/projectexplorer/runsettingspropertiespage.h b/src/plugins/projectexplorer/runsettingspropertiespage.h
index 5990779914a..17f2d0cd503 100644
--- a/src/plugins/projectexplorer/runsettingspropertiespage.h
+++ b/src/plugins/projectexplorer/runsettingspropertiespage.h
@@ -34,6 +34,10 @@
 
 #include <QtGui/QWidget>
 
+QT_BEGIN_NAMESPACE
+class QMenu;
+QT_END_NAMESPACE
+
 namespace ProjectExplorer {
 namespace Internal {
 
diff --git a/src/plugins/projectexplorer/session.cpp b/src/plugins/projectexplorer/session.cpp
index 6bf6a7a6033..fcf194e81e6 100644
--- a/src/plugins/projectexplorer/session.cpp
+++ b/src/plugins/projectexplorer/session.cpp
@@ -34,6 +34,7 @@
 #include "projectexplorerconstants.h"
 #include "nodesvisitor.h"
 #include "editorconfiguration.h"
+#include "persistentsettings.h"
 
 #include <coreplugin/icore.h>
 #include <coreplugin/imode.h>
diff --git a/src/plugins/projectexplorer/session.h b/src/plugins/projectexplorer/session.h
index e8ce0092c44..eb9f027b368 100644
--- a/src/plugins/projectexplorer/session.h
+++ b/src/plugins/projectexplorer/session.h
@@ -33,19 +33,20 @@
 #include "projectexplorer_export.h"
 #include "projectnodes.h"
 
-#include <coreplugin/ifile.h>
-
-#include <QtCore/QObject>
-#include <QtCore/QAbstractItemModel>
 #include <QtCore/QHash>
 #include <QtCore/QList>
 #include <QtCore/QString>
 #include <QtCore/QStringList>
 
+QT_BEGIN_NAMESPACE
+class QAbstractItemModel;
+QT_END_NAMESPACE
+
 namespace Core {
 class ICore;
 class IMode;
 class IEditor;
+class IFile;
 }
 
 namespace ProjectExplorer {
diff --git a/src/plugins/projectexplorer/toolchain.cpp b/src/plugins/projectexplorer/toolchain.cpp
index dac5ad20a2e..15568937c06 100644
--- a/src/plugins/projectexplorer/toolchain.cpp
+++ b/src/plugins/projectexplorer/toolchain.cpp
@@ -28,6 +28,7 @@
 **************************************************************************/
 
 #include "toolchain.h"
+#include "project.h"
 #include "cesdkhandler.h"
 #include "projectexplorersettings.h"
 
diff --git a/src/plugins/projectexplorer/toolchain.h b/src/plugins/projectexplorer/toolchain.h
index 30b0848ffc3..41fe8fdc866 100644
--- a/src/plugins/projectexplorer/toolchain.h
+++ b/src/plugins/projectexplorer/toolchain.h
@@ -30,13 +30,18 @@
 #ifndef TOOLCHAIN_H
 #define TOOLCHAIN_H
 
+#include "projectexplorer_export.h"
 #include "environment.h"
-#include "project.h"
+
 #include <QtCore/QString>
 #include <QtCore/QPair>
+#include <QtCore/QMetaType>
 
 namespace ProjectExplorer {
 
+class Environment;
+class Project;
+
 class PROJECTEXPLORER_EXPORT HeaderPath
 {
 public:
diff --git a/src/plugins/qmlprojectmanager/qmlproject.cpp b/src/plugins/qmlprojectmanager/qmlproject.cpp
index 9d7bcde602f..a7651566a1d 100644
--- a/src/plugins/qmlprojectmanager/qmlproject.cpp
+++ b/src/plugins/qmlprojectmanager/qmlproject.cpp
@@ -32,6 +32,7 @@
 #include "qmlmakestep.h"
 
 #include <projectexplorer/toolchain.h>
+#include <projectexplorer/persistentsettings.h>
 #include <projectexplorer/projectexplorerconstants.h>
 #include <extensionsystem/pluginmanager.h>
 #include <utils/pathchooser.h>
diff --git a/src/plugins/qt4projectmanager/qt-s60/s60devicerunconfiguration.cpp b/src/plugins/qt4projectmanager/qt-s60/s60devicerunconfiguration.cpp
index ca17cbfe66a..4599e16dbf4 100644
--- a/src/plugins/qt4projectmanager/qt-s60/s60devicerunconfiguration.cpp
+++ b/src/plugins/qt4projectmanager/qt-s60/s60devicerunconfiguration.cpp
@@ -41,6 +41,7 @@
 #include <utils/qtcassert.h>
 #include <utils/pathchooser.h>
 #include <projectexplorer/projectexplorerconstants.h>
+#include <projectexplorer/persistentsettings.h>
 #include <projectexplorer/project.h>
 
 #include <debugger/debuggermanager.h>
diff --git a/src/plugins/qt4projectmanager/qt-s60/s60emulatorrunconfiguration.cpp b/src/plugins/qt4projectmanager/qt-s60/s60emulatorrunconfiguration.cpp
index c17daed13d9..0e0fdb46811 100644
--- a/src/plugins/qt4projectmanager/qt-s60/s60emulatorrunconfiguration.cpp
+++ b/src/plugins/qt4projectmanager/qt-s60/s60emulatorrunconfiguration.cpp
@@ -40,6 +40,7 @@
 #include <utils/qtcassert.h>
 #include <projectexplorer/projectexplorerconstants.h>
 #include <projectexplorer/project.h>
+#include <projectexplorer/persistentsettings.h>
 
 using namespace ProjectExplorer;
 using namespace Qt4ProjectManager::Internal;
diff --git a/src/plugins/qt4projectmanager/qt4buildenvironmentwidget.cpp b/src/plugins/qt4projectmanager/qt4buildenvironmentwidget.cpp
index 248a4892445..be348ef3502 100644
--- a/src/plugins/qt4projectmanager/qt4buildenvironmentwidget.cpp
+++ b/src/plugins/qt4projectmanager/qt4buildenvironmentwidget.cpp
@@ -32,6 +32,8 @@
 
 #include <projectexplorer/environmenteditmodel.h>
 
+#include <QtGui/QCheckBox>
+
 namespace {
 bool debug = false;
 }
diff --git a/src/plugins/qt4projectmanager/qt4runconfiguration.cpp b/src/plugins/qt4projectmanager/qt4runconfiguration.cpp
index 99930d066dc..249386e2eb0 100644
--- a/src/plugins/qt4projectmanager/qt4runconfiguration.cpp
+++ b/src/plugins/qt4projectmanager/qt4runconfiguration.cpp
@@ -40,6 +40,7 @@
 #include <coreplugin/ifile.h>
 #include <projectexplorer/buildstep.h>
 #include <projectexplorer/environmenteditmodel.h>
+#include <projectexplorer/persistentsettings.h>
 #include <utils/qtcassert.h>
 #include <utils/detailsbutton.h>
 
-- 
GitLab