diff --git a/src/plugins/analyzerbase/analyzerutils.cpp b/src/plugins/analyzerbase/analyzerutils.cpp
index ed6e9b0c28f190b6b84074a9be2e6a1503b9657c..508b0422efed53c832b30164ac6c133166f40fc2 100644
--- a/src/plugins/analyzerbase/analyzerutils.cpp
+++ b/src/plugins/analyzerbase/analyzerutils.cpp
@@ -34,6 +34,7 @@
 
 #include <cpptools/cppmodelmanager.h>
 #include <texteditor/texteditor.h>
+#include <texteditor/textdocument.h>
 
 #include <utils/qtcassert.h>
 
diff --git a/src/plugins/android/androidmanifestdocument.h b/src/plugins/android/androidmanifestdocument.h
index 3c80e57f1bf5fc235043ce3f3d8f10f17da15ecc..c49bdaf235108fb42ce758ae0660aded04697cab 100644
--- a/src/plugins/android/androidmanifestdocument.h
+++ b/src/plugins/android/androidmanifestdocument.h
@@ -31,7 +31,7 @@
 #ifndef ANDROIDMANIFESTDOCUMENT_H
 #define ANDROIDMANIFESTDOCUMENT_H
 
-#include <texteditor/texteditor.h>
+#include <texteditor/textdocument.h>
 
 namespace Android {
 namespace Internal {
diff --git a/src/plugins/android/androidmanifesteditor.h b/src/plugins/android/androidmanifesteditor.h
index f5b6f0236abb47979e4741e8e59df758bc07c2bb..848a092c6222de0ecaca821f18cd85bf5ab48a12 100644
--- a/src/plugins/android/androidmanifesteditor.h
+++ b/src/plugins/android/androidmanifesteditor.h
@@ -39,6 +39,7 @@
 
 QT_BEGIN_NAMESPACE
 class QToolBar;
+class QActionGroup;
 QT_END_NAMESPACE
 
 namespace Android {
diff --git a/src/plugins/android/javacompletionassistprovider.cpp b/src/plugins/android/javacompletionassistprovider.cpp
index 66c55a65d532b5d7cebfb779a7ea8aec590c88f9..0a5165869f5ef8e6a45afccdb2b7570e492ea38e 100644
--- a/src/plugins/android/javacompletionassistprovider.cpp
+++ b/src/plugins/android/javacompletionassistprovider.cpp
@@ -32,6 +32,7 @@
 #include "androidconstants.h"
 
 #include <texteditor/codeassist/keywordscompletionassist.h>
+#include <coreplugin/id.h>
 
 using namespace Android;
 using namespace Android::Internal;
diff --git a/src/plugins/bookmarks/bookmarksplugin.cpp b/src/plugins/bookmarks/bookmarksplugin.cpp
index 4b991f72c4890f26fd5901ad17681b544204ae47..2eed45ab755a3ee52e70cce448991910f0f1525b 100644
--- a/src/plugins/bookmarks/bookmarksplugin.cpp
+++ b/src/plugins/bookmarks/bookmarksplugin.cpp
@@ -42,6 +42,7 @@
 #include <coreplugin/id.h>
 #include <extensionsystem/pluginmanager.h>
 #include <texteditor/texteditor.h>
+#include <texteditor/textdocument.h>
 #include <texteditor/texteditorconstants.h>
 
 #include <QtPlugin>
diff --git a/src/plugins/clearcase/clearcaseplugin.cpp b/src/plugins/clearcase/clearcaseplugin.cpp
index 28df2e2d14a04b956e00df55fc8d22cdf503507b..c9aef6eb3e2adf0e2ed25c075b7bd03976c5ac87 100644
--- a/src/plugins/clearcase/clearcaseplugin.cpp
+++ b/src/plugins/clearcase/clearcaseplugin.cpp
@@ -54,6 +54,7 @@
 #include <coreplugin/messagemanager.h>
 #include <coreplugin/progressmanager/progressmanager.h>
 #include <coreplugin/locator/commandlocator.h>
+#include <texteditor/textdocument.h>
 #include <projectexplorer/session.h>
 #include <projectexplorer/project.h>
 #include <projectexplorer/iprojectmanager.h>
diff --git a/src/plugins/cpaster/cpasterplugin.cpp b/src/plugins/cpaster/cpasterplugin.cpp
index f3904750c6af11b8a6077e4985007ba6c3e9e0a4..571e8de60a6b6d8b35f57c1a1a7661e9a2fc73e6 100644
--- a/src/plugins/cpaster/cpasterplugin.cpp
+++ b/src/plugins/cpaster/cpasterplugin.cpp
@@ -52,6 +52,7 @@
 #include <utils/mimetypes/mimedatabase.h>
 #include <utils/qtcassert.h>
 #include <texteditor/texteditor.h>
+#include <texteditor/textdocument.h>
 
 #include <QtPlugin>
 #include <QDebug>
diff --git a/src/plugins/cppeditor/cppdocumentationcommenthelper.cpp b/src/plugins/cppeditor/cppdocumentationcommenthelper.cpp
index 844c33afbccd3cbdc991fde9f6ba3ce77862aa28..63ddc929ed818a97058786370f6a740739413ebe 100644
--- a/src/plugins/cppeditor/cppdocumentationcommenthelper.cpp
+++ b/src/plugins/cppeditor/cppdocumentationcommenthelper.cpp
@@ -36,6 +36,7 @@
 #include <cpptools/commentssettings.h>
 #include <cpptools/doxygengenerator.h>
 #include <texteditor/texteditor.h>
+#include <texteditor/textdocument.h>
 
 #include <QDebug>
 #include <QTextBlock>
diff --git a/src/plugins/cppeditor/cppdoxygen_test.cpp b/src/plugins/cppeditor/cppdoxygen_test.cpp
index 830c67ba9732a9f05fa8bdacd01c7186d4c1d30a..6a258f2dfc8a474754539751e97323bbce02ad53 100644
--- a/src/plugins/cppeditor/cppdoxygen_test.cpp
+++ b/src/plugins/cppeditor/cppdoxygen_test.cpp
@@ -34,6 +34,9 @@
 
 #include <cpptools/cpptoolssettings.h>
 
+#include <coreplugin/editormanager/editormanager.h>
+#include <coreplugin/editormanager/documentmodel.h>
+
 #include <QCoreApplication>
 #include <QDebug>
 #include <QDir>
diff --git a/src/plugins/cppeditor/cppeditor.cpp b/src/plugins/cppeditor/cppeditor.cpp
index 11149398482324610b298f0ef9b844d210c7de42..f3be75c32a71a32224374d579a4406ad34b81df1 100644
--- a/src/plugins/cppeditor/cppeditor.cpp
+++ b/src/plugins/cppeditor/cppeditor.cpp
@@ -45,6 +45,8 @@
 
 #include <coreplugin/actionmanager/actioncontainer.h>
 #include <coreplugin/actionmanager/actionmanager.h>
+#include <coreplugin/editormanager/editormanager.h>
+#include <coreplugin/editormanager/documentmodel.h>
 
 #include <cpptools/cppchecksymbols.h>
 #include <cpptools/cppchecksymbols.h>
diff --git a/src/plugins/cppeditor/cppeditorplugin.cpp b/src/plugins/cppeditor/cppeditorplugin.cpp
index b4d99499c952826f5d829ffdbf7da9c0964c06fe..377d5857039adf624fefc77980b06b6a52d9e1da 100644
--- a/src/plugins/cppeditor/cppeditorplugin.cpp
+++ b/src/plugins/cppeditor/cppeditorplugin.cpp
@@ -44,6 +44,8 @@
 #include "cppsnippetprovider.h"
 #include "cpptypehierarchy.h"
 
+#include <coreplugin/editormanager/editormanager.h>
+
 #ifdef WITH_TESTS
 #  include "cppdoxygen_test.h"
 #endif
diff --git a/src/plugins/cppeditor/cppelementevaluator.cpp b/src/plugins/cppeditor/cppelementevaluator.cpp
index d2e3544cbcf4c1534a6b482cafc98f6c9127f9f9..050a85561d14dab006f4833e19ef39c982ade784 100644
--- a/src/plugins/cppeditor/cppelementevaluator.cpp
+++ b/src/plugins/cppeditor/cppelementevaluator.cpp
@@ -33,6 +33,8 @@
 #include <cpptools/cpptoolsreuse.h>
 #include <cpptools/typehierarchybuilder.h>
 
+#include <texteditor/textdocument.h>
+
 #include <cplusplus/ExpressionUnderCursor.h>
 #include <cplusplus/Icons.h>
 #include <cplusplus/TypeOfExpression.h>
diff --git a/src/plugins/cppeditor/cppincludehierarchy.cpp b/src/plugins/cppeditor/cppincludehierarchy.cpp
index f8dda2004c87f5d7fbc9361ae6adcd21927879bb..07c77ffd5ab150291f6c6f2d9c7f9b12217ebe4a 100644
--- a/src/plugins/cppeditor/cppincludehierarchy.cpp
+++ b/src/plugins/cppeditor/cppincludehierarchy.cpp
@@ -37,6 +37,8 @@
 #include "cppincludehierarchymodel.h"
 #include "cppincludehierarchytreeview.h"
 
+#include <texteditor/textdocument.h>
+
 #include <coreplugin/editormanager/editormanager.h>
 #include <coreplugin/find/itemviewfind.h>
 #include <cplusplus/CppDocument.h>
diff --git a/src/plugins/cppeditor/cpplocalrenaming.cpp b/src/plugins/cppeditor/cpplocalrenaming.cpp
index e411926b4d20b8079e52e83a83dc910629aa7b64..ab267df0b8252d418c00db8fd4d8ba33d7f4c084 100644
--- a/src/plugins/cppeditor/cpplocalrenaming.cpp
+++ b/src/plugins/cppeditor/cpplocalrenaming.cpp
@@ -31,6 +31,7 @@
 #include "cpplocalrenaming.h"
 
 #include <texteditor/texteditor.h>
+#include <texteditor/textdocument.h>
 #include <texteditor/fontsettings.h>
 
 #include <utils/qtcassert.h>
diff --git a/src/plugins/cppeditor/cppoutline.cpp b/src/plugins/cppeditor/cppoutline.cpp
index b088b816ba48f62b0309990db2d11863e7eeeca8..5ba2c72c156d80d6adbdefb42b93a72a8c4c485c 100644
--- a/src/plugins/cppeditor/cppoutline.cpp
+++ b/src/plugins/cppeditor/cppoutline.cpp
@@ -34,7 +34,10 @@
 
 #include <cplusplus/OverviewModel.h>
 
+#include <texteditor/textdocument.h>
+
 #include <coreplugin/find/itemviewfind.h>
+#include <coreplugin/editormanager/editormanager.h>
 #include <utils/qtcassert.h>
 
 #include <QDebug>
diff --git a/src/plugins/cppeditor/cppquickfixassistant.cpp b/src/plugins/cppeditor/cppquickfixassistant.cpp
index 12661e0ec3e0471929e652547e37b0b83e529af0..eb02f751fa76297b192e5e44419751e921e1d1d0 100644
--- a/src/plugins/cppeditor/cppquickfixassistant.cpp
+++ b/src/plugins/cppeditor/cppquickfixassistant.cpp
@@ -33,6 +33,8 @@
 #include "cppeditorconstants.h"
 #include "cppeditor.h"
 
+#include <texteditor/textdocument.h>
+
 #include <cplusplus/ASTPath.h>
 
 #include <extensionsystem/pluginmanager.h>
diff --git a/src/plugins/cppeditor/cppsnippetprovider.cpp b/src/plugins/cppeditor/cppsnippetprovider.cpp
index cc70ffaf511ec00eeb976f0a83ae8f1178a97ba7..30a4753d28f1fea8f98e353c0df6b0c39c8b7d6c 100644
--- a/src/plugins/cppeditor/cppsnippetprovider.cpp
+++ b/src/plugins/cppeditor/cppsnippetprovider.cpp
@@ -37,6 +37,7 @@
 #include <cpptools/cppqtstyleindenter.h>
 
 #include <texteditor/snippets/snippeteditor.h>
+#include <texteditor/textdocument.h>
 
 #include <QLatin1String>
 #include <QCoreApplication>
diff --git a/src/plugins/cppeditor/cpptypehierarchy.cpp b/src/plugins/cppeditor/cpptypehierarchy.cpp
index 2d2304cf3e91c592126148ea5e8de648f3cfda2b..0b27e1360e194507134e4c88cf298550443b3cf8 100644
--- a/src/plugins/cppeditor/cpptypehierarchy.cpp
+++ b/src/plugins/cppeditor/cpptypehierarchy.cpp
@@ -36,6 +36,7 @@
 #include "cppeditorplugin.h"
 
 #include <coreplugin/find/itemviewfind.h>
+#include <coreplugin/editormanager/editormanager.h>
 #include <utils/algorithm.h>
 #include <utils/annotateditemdelegate.h>
 #include <utils/navigationtreeview.h>
diff --git a/src/plugins/cppeditor/cppuseselectionsupdater.cpp b/src/plugins/cppeditor/cppuseselectionsupdater.cpp
index 49ee7303e100449be9604a6a3ca4c23460cc3283..61ee051d0cde746aed4474276c67c2f8e153abab 100644
--- a/src/plugins/cppeditor/cppuseselectionsupdater.cpp
+++ b/src/plugins/cppeditor/cppuseselectionsupdater.cpp
@@ -37,6 +37,7 @@
 #include <cpptools/cppmodelmanager.h>
 #include <cpptools/cpptoolsreuse.h>
 #include <texteditor/texteditor.h>
+#include <texteditor/textdocument.h>
 #include <texteditor/convenience.h>
 #include <texteditor/fontsettings.h>
 
diff --git a/src/plugins/cppeditor/cppvirtualfunctionproposalitem.cpp b/src/plugins/cppeditor/cppvirtualfunctionproposalitem.cpp
index ab296f33788c82b13d8d4528005e162b5bb0bb3a..6de2d3dddfa55c04f778d6a8105c8e61c48204df 100644
--- a/src/plugins/cppeditor/cppvirtualfunctionproposalitem.cpp
+++ b/src/plugins/cppeditor/cppvirtualfunctionproposalitem.cpp
@@ -32,6 +32,8 @@
 
 #include "cppeditorconstants.h"
 
+#include <coreplugin/editormanager/editormanager.h>
+
 using namespace CppEditor::Internal;
 
 VirtualFunctionProposalItem::VirtualFunctionProposalItem(
diff --git a/src/plugins/cppeditor/followsymbol_switchmethoddecldef_test.cpp b/src/plugins/cppeditor/followsymbol_switchmethoddecldef_test.cpp
index dfae9a215016e7b123873b82295fb08463135c3f..2de53e8e62a6017a7d140fa55ef607bdde458650 100644
--- a/src/plugins/cppeditor/followsymbol_switchmethoddecldef_test.cpp
+++ b/src/plugins/cppeditor/followsymbol_switchmethoddecldef_test.cpp
@@ -41,6 +41,8 @@
 #include <texteditor/codeassist/iassistprocessor.h>
 #include <texteditor/codeassist/iassistproposal.h>
 
+#include <coreplugin/editormanager/editormanager.h>
+
 #include <utils/fileutils.h>
 
 #include <QDebug>
diff --git a/src/plugins/cpptools/baseeditordocumentprocessor.h b/src/plugins/cpptools/baseeditordocumentprocessor.h
index 0ac944947aee124392403347d0937217a5c78d09..e3c8dcc6795cfe33e7cc4822e54ca576fd8cf40f 100644
--- a/src/plugins/cpptools/baseeditordocumentprocessor.h
+++ b/src/plugins/cpptools/baseeditordocumentprocessor.h
@@ -36,11 +36,14 @@
 #include "cpptools_global.h"
 
 #include <texteditor/texteditor.h>
+#include <texteditor/textdocument.h>
 
 #include <cplusplus/CppDocument.h>
 
 #include <QTextEdit>
 
+namespace TextEditor { class TextDocument; }
+
 namespace CppTools {
 
 class CPPTOOLS_EXPORT BaseEditorDocumentProcessor : public QObject
diff --git a/src/plugins/cpptools/cppcodestylesettingspage.cpp b/src/plugins/cpptools/cppcodestylesettingspage.cpp
index 7ed6805ee1de9ef8718ebc1141be4e164974699d..e1b5807a203e76641c6a356d3c99d4b8f761e282 100644
--- a/src/plugins/cpptools/cppcodestylesettingspage.cpp
+++ b/src/plugins/cpptools/cppcodestylesettingspage.cpp
@@ -40,6 +40,7 @@
 #include <coreplugin/icore.h>
 #include <cppeditor/cppeditorconstants.h>
 #include <texteditor/codestyleeditor.h>
+#include <texteditor/textdocument.h>
 #include <texteditor/displaysettings.h>
 #include <texteditor/snippets/isnippetprovider.h>
 #include <texteditor/texteditorsettings.h>
diff --git a/src/plugins/cpptools/cppcompletion_test.cpp b/src/plugins/cpptools/cppcompletion_test.cpp
index 49294eb1469bbe2698c7b2f7b03a01a65065ad84..083cbd58130966fe9bf80d39bd42b91b0ccd119d 100644
--- a/src/plugins/cpptools/cppcompletion_test.cpp
+++ b/src/plugins/cpptools/cppcompletion_test.cpp
@@ -36,6 +36,8 @@
 #include <texteditor/codeassist/iassistproposal.h>
 #include <texteditor/convenience.h>
 #include <texteditor/texteditor.h>
+#include <texteditor/textdocument.h>
+#include <coreplugin/editormanager/editormanager.h>
 
 #include <utils/changeset.h>
 #include <utils/fileutils.h>
diff --git a/src/plugins/cpptools/cppcurrentdocumentfilter.cpp b/src/plugins/cpptools/cppcurrentdocumentfilter.cpp
index 045398189d9df0b7d0e4e0292c2cb8458cab3d9b..a068820e1c5d96eb7cbce1c2afa90bcf65e465a2 100644
--- a/src/plugins/cpptools/cppcurrentdocumentfilter.cpp
+++ b/src/plugins/cpptools/cppcurrentdocumentfilter.cpp
@@ -32,6 +32,8 @@
 
 #include "cppmodelmanager.h"
 
+#include <coreplugin/editormanager/editormanager.h>
+
 #include <QStringMatcher>
 
 using namespace CppTools::Internal;
diff --git a/src/plugins/cpptools/cppeditoroutline.cpp b/src/plugins/cpptools/cppeditoroutline.cpp
index 8102cd8d40e44210199b6aac97deda75e6404618..182e3f6af3b75f6f72e9ac458afb996ca5b423f3 100644
--- a/src/plugins/cpptools/cppeditoroutline.cpp
+++ b/src/plugins/cpptools/cppeditoroutline.cpp
@@ -34,10 +34,13 @@
 #include <cpptools/cpptoolsreuse.h>
 #include <cpptools/cpptoolssettings.h>
 #include <texteditor/texteditor.h>
+#include <texteditor/textdocument.h>
+#include <coreplugin/editormanager/editormanager.h>
 
 #include <cplusplus/OverviewModel.h>
 #include <utils/treeviewcombobox.h>
 
+#include <QAction>
 #include <QSortFilterProxyModel>
 #include <QTimer>
 
diff --git a/src/plugins/cpptools/cpplocatorfilter.cpp b/src/plugins/cpptools/cpplocatorfilter.cpp
index 9436736cc944671b2103a046a38157a8efbfd6a0..e1163b413d22c078e6bc7d53899c1b169ab9404c 100644
--- a/src/plugins/cpptools/cpplocatorfilter.cpp
+++ b/src/plugins/cpptools/cpplocatorfilter.cpp
@@ -31,6 +31,8 @@
 #include "cpplocatorfilter.h"
 #include "cppmodelmanager.h"
 
+#include <coreplugin/editormanager/editormanager.h>
+
 #include <QStringMatcher>
 
 using namespace CppTools;
diff --git a/src/plugins/cpptools/cppmodelmanager.cpp b/src/plugins/cpptools/cppmodelmanager.cpp
index c7a8065696592bd34cc465cbf864befc7409c889..ea7c038d7f5221f991bb41d5310b771b80731f77 100644
--- a/src/plugins/cpptools/cppmodelmanager.cpp
+++ b/src/plugins/cpptools/cppmodelmanager.cpp
@@ -46,6 +46,8 @@
 #include <coreplugin/documentmanager.h>
 #include <coreplugin/icore.h>
 #include <coreplugin/progressmanager/progressmanager.h>
+#include <coreplugin/editormanager/editormanager.h>
+#include <texteditor/textdocument.h>
 #include <projectexplorer/projectexplorer.h>
 #include <projectexplorer/session.h>
 #include <extensionsystem/pluginmanager.h>
diff --git a/src/plugins/cpptools/cpppointerdeclarationformatter_test.cpp b/src/plugins/cpptools/cpppointerdeclarationformatter_test.cpp
index 90aca43ce9aa0b65bed1a6fa3cc80887f14094bd..b41d66455f4e4d7d327945f8e31f4ddce6e528e9 100644
--- a/src/plugins/cpptools/cpppointerdeclarationformatter_test.cpp
+++ b/src/plugins/cpptools/cpppointerdeclarationformatter_test.cpp
@@ -36,6 +36,7 @@
 #include <coreplugin/coreconstants.h>
 
 #include <texteditor/texteditor.h>
+#include <texteditor/textdocument.h>
 #include <texteditor/plaintexteditorfactory.h>
 
 #include <utils/fileutils.h>
diff --git a/src/plugins/cpptools/cpptoolsplugin.cpp b/src/plugins/cpptools/cpptoolsplugin.cpp
index 628a0e122b1225e1f060ef4a78f08a759644a7ef..2a352a6b7de13a17413c013fb91cde904b3d1cb6 100644
--- a/src/plugins/cpptools/cpptoolsplugin.cpp
+++ b/src/plugins/cpptools/cpptoolsplugin.cpp
@@ -48,6 +48,7 @@
 
 #include <coreplugin/actionmanager/actioncontainer.h>
 #include <coreplugin/actionmanager/actionmanager.h>
+#include <coreplugin/editormanager/editormanager.h>
 #include <coreplugin/coreconstants.h>
 #include <coreplugin/documentmanager.h>
 #include <coreplugin/icore.h>
diff --git a/src/plugins/cpptools/symbolsfindfilter.cpp b/src/plugins/cpptools/symbolsfindfilter.cpp
index ecb77142c298cabe0a564963d72d50b49524b1db..da407a4baa24d6fb7c57eaf9835076072b7f1a10 100644
--- a/src/plugins/cpptools/symbolsfindfilter.cpp
+++ b/src/plugins/cpptools/symbolsfindfilter.cpp
@@ -35,6 +35,7 @@
 #include <coreplugin/icore.h>
 #include <coreplugin/progressmanager/futureprogress.h>
 #include <coreplugin/progressmanager/progressmanager.h>
+#include <coreplugin/editormanager/editormanager.h>
 #include <projectexplorer/projectexplorer.h>
 #include <projectexplorer/session.h>
 
diff --git a/src/plugins/cvs/cvsplugin.cpp b/src/plugins/cvs/cvsplugin.cpp
index fd5d777f81087ec5888429df6b7324832d2835d8..1c3b2024f1a0fe1d3230b1cf5aa8c0ac1241a626 100644
--- a/src/plugins/cvs/cvsplugin.cpp
+++ b/src/plugins/cvs/cvsplugin.cpp
@@ -43,6 +43,9 @@
 #include <vcsbase/basevcssubmiteditorfactory.h>
 #include <vcsbase/vcsoutputwindow.h>
 #include <vcsbase/vcsbaseeditorparameterwidget.h>
+
+#include <texteditor/textdocument.h>
+
 #include <utils/synchronousprocess.h>
 #include <utils/parameteraction.h>
 #include <utils/qtcassert.h>
diff --git a/src/plugins/debugger/debuggerplugin.cpp b/src/plugins/debugger/debuggerplugin.cpp
index 46da006cbf4a138a54af5140da9ac11d53a6a8f2..de5dc649db5840c35cf6998eb5507c6192312be1 100644
--- a/src/plugins/debugger/debuggerplugin.cpp
+++ b/src/plugins/debugger/debuggerplugin.cpp
@@ -81,6 +81,8 @@
 #include <coreplugin/messagebox.h>
 #include <coreplugin/messagemanager.h>
 #include <coreplugin/modemanager.h>
+#include <coreplugin/editormanager/editormanager.h>
+#include <coreplugin/editormanager/documentmodel.h>
 
 #include <cppeditor/cppeditorconstants.h>
 #include <cpptools/cppmodelmanager.h>
@@ -101,6 +103,7 @@
 #include <projectexplorer/target.h>
 
 #include <texteditor/texteditor.h>
+#include <texteditor/textdocument.h>
 #include <texteditor/fontsettings.h>
 #include <texteditor/texteditorsettings.h>
 
@@ -128,6 +131,7 @@
 #include <QtPlugin>
 #include <QTreeWidget>
 #include <QVBoxLayout>
+#include <QMenu>
 
 #ifdef WITH_TESTS
 #include <QTest>
diff --git a/src/plugins/debugger/debuggertooltipmanager.cpp b/src/plugins/debugger/debuggertooltipmanager.cpp
index 8c6106817d3f68554269254573da984c184e71cf..6bfdc72ce674c73b6e49d076eddb0d9037679d26 100644
--- a/src/plugins/debugger/debuggertooltipmanager.cpp
+++ b/src/plugins/debugger/debuggertooltipmanager.cpp
@@ -41,7 +41,9 @@
 #include <coreplugin/icore.h>
 #include <coreplugin/coreconstants.h>
 #include <coreplugin/editormanager/documentmodel.h>
+#include <coreplugin/editormanager/editormanager.h>
 #include <texteditor/texteditor.h>
+#include <texteditor/textdocument.h>
 
 #include <utils/tooltip/tooltip.h>
 #include <utils/treemodel.h>
diff --git a/src/plugins/debugger/disassembleragent.cpp b/src/plugins/debugger/disassembleragent.cpp
index 30c884a1fe11060804e9b5d380003d1ab72081f2..7c270a6530607def9bf2c379c1d7ac9e7d65e5f3 100644
--- a/src/plugins/debugger/disassembleragent.cpp
+++ b/src/plugins/debugger/disassembleragent.cpp
@@ -41,6 +41,8 @@
 
 #include <coreplugin/coreconstants.h>
 #include <coreplugin/icore.h>
+#include <coreplugin/editormanager/documentmodel.h>
+#include <coreplugin/editormanager/editormanager.h>
 
 #include <texteditor/textdocument.h>
 #include <texteditor/texteditor.h>
diff --git a/src/plugins/debugger/qml/qmlcppengine.cpp b/src/plugins/debugger/qml/qmlcppengine.cpp
index 1d01a19020ddec1789093019e345f7bcc417aee2..bf2fc5bb2b06af64bfa7598091f9d26faa84aaa6 100644
--- a/src/plugins/debugger/qml/qmlcppengine.cpp
+++ b/src/plugins/debugger/qml/qmlcppengine.cpp
@@ -39,6 +39,7 @@
 
 #include <utils/qtcassert.h>
 #include <texteditor/texteditor.h>
+#include <texteditor/textdocument.h>
 #include <qmljseditor/qmljseditorconstants.h>
 #include <cppeditor/cppeditorconstants.h>
 #include <qmljs/consolemanagerinterface.h>
diff --git a/src/plugins/debugger/qml/qmlinspectoradapter.cpp b/src/plugins/debugger/qml/qmlinspectoradapter.cpp
index 08edb3588b1d9b169e0c5b17a25769b539190d81..0eb3c88c919119ed3ae0e29c430b8d9bfea5b796 100644
--- a/src/plugins/debugger/qml/qmlinspectoradapter.cpp
+++ b/src/plugins/debugger/qml/qmlinspectoradapter.cpp
@@ -40,6 +40,9 @@
 
 #include <coreplugin/actionmanager/actionmanager.h>
 #include <coreplugin/icore.h>
+#include <coreplugin/idocument.h>
+#include <coreplugin/editormanager/editormanager.h>
+#include <coreplugin/editormanager/documentmodel.h>
 #include <qmldebug/declarativeenginedebugclient.h>
 #include <qmldebug/declarativeenginedebugclientv2.h>
 #include <qmldebug/declarativetoolsclient.h>
diff --git a/src/plugins/debugger/qml/qmllivetextpreview.cpp b/src/plugins/debugger/qml/qmllivetextpreview.cpp
index 80ef6220c775553fc3086ff3e9aabc2fe528f5cd..fb6cf9540ca846f366c9523a1a1cafbd961bc3ae 100644
--- a/src/plugins/debugger/qml/qmllivetextpreview.cpp
+++ b/src/plugins/debugger/qml/qmllivetextpreview.cpp
@@ -34,6 +34,7 @@
 #include "qmlinspectoragent.h"
 
 #include <coreplugin/infobar.h>
+#include <texteditor/textdocument.h>
 #include <qmldebug/basetoolsclient.h>
 #include <qmljseditor/qmljseditorconstants.h>
 #include <qmljs/parser/qmljsast_p.h>
diff --git a/src/plugins/debugger/qml/qmlv8debuggerclient.cpp b/src/plugins/debugger/qml/qmlv8debuggerclient.cpp
index 67f1a59aed83f643ffaa91d494b843de7d9e21cd..26b54be1b1fe1aef04ef1bcd8fd0ff65d424fa36 100644
--- a/src/plugins/debugger/qml/qmlv8debuggerclient.cpp
+++ b/src/plugins/debugger/qml/qmlv8debuggerclient.cpp
@@ -42,6 +42,8 @@
 #include <utils/qtcassert.h>
 #include <texteditor/texteditor.h>
 
+#include <coreplugin/editormanager/documentmodel.h>
+
 #include <qmljs/consolemanagerinterface.h>
 
 #include <QTextBlock>
diff --git a/src/plugins/debugger/sourceagent.cpp b/src/plugins/debugger/sourceagent.cpp
index 937836c2299d4634a1bb4e1353c4eb9d4b8a5de3..3cf6ccea5b98b95dd48914fefce3af18171c492b 100644
--- a/src/plugins/debugger/sourceagent.cpp
+++ b/src/plugins/debugger/sourceagent.cpp
@@ -35,7 +35,11 @@
 #include "debuggercore.h"
 #include "stackhandler.h"
 
+#include <coreplugin/editormanager/editormanager.h>
+#include <coreplugin/idocument.h>
+
 #include <texteditor/texteditor.h>
+#include <texteditor/textdocument.h>
 #include <texteditor/textmark.h>
 
 #include <cppeditor/cppeditorconstants.h>
diff --git a/src/plugins/debugger/sourceutils.cpp b/src/plugins/debugger/sourceutils.cpp
index 9e1d80bf9b6313db3503fe30f3cb49d3356e69ae..459f9a23ee004060afcc15db3de10bebb08af5fa 100644
--- a/src/plugins/debugger/sourceutils.cpp
+++ b/src/plugins/debugger/sourceutils.cpp
@@ -34,6 +34,7 @@
 #include "watchutils.h"
 
 #include <texteditor/texteditor.h>
+#include <texteditor/textdocument.h>
 #include <cpptools/abstracteditorsupport.h>
 #include <cpptools/cppprojectfile.h>
 #include <cpptools/cppmodelmanager.h>
diff --git a/src/plugins/designer/formeditorw.cpp b/src/plugins/designer/formeditorw.cpp
index 42d1e3c3087fc1dd61c337e333b4bc6570339af9..5231896b327f42b72c5cac85c629b1cbe33f0f83 100644
--- a/src/plugins/designer/formeditorw.cpp
+++ b/src/plugins/designer/formeditorw.cpp
@@ -47,6 +47,7 @@
 #include <coreplugin/helpmanager.h>
 #include <coreplugin/actionmanager/actionmanager.h>
 #include <coreplugin/actionmanager/actioncontainer.h>
+#include <coreplugin/editormanager/editormanager.h>
 #include <coreplugin/modemanager.h>
 #include <coreplugin/minisplitter.h>
 #include <coreplugin/outputpane.h>
diff --git a/src/plugins/designer/qtcreatorintegration.cpp b/src/plugins/designer/qtcreatorintegration.cpp
index 1376648fd6d67a10e88ac54633489899765817f4..79d2a6e800273d760191dd3d00d408a366de5c6f 100644
--- a/src/plugins/designer/qtcreatorintegration.cpp
+++ b/src/plugins/designer/qtcreatorintegration.cpp
@@ -42,7 +42,9 @@
 #include <cpptools/symbolfinder.h>
 #include <cplusplus/Overview.h>
 #include <coreplugin/icore.h>
+#include <coreplugin/editormanager/editormanager.h>
 #include <texteditor/texteditor.h>
+#include <texteditor/textdocument.h>
 #include <projectexplorer/projectexplorer.h>
 #include <projectexplorer/session.h>
 #include <utils/mimetypes/mimedatabase.h>
diff --git a/src/plugins/diffeditor/diffeditor.cpp b/src/plugins/diffeditor/diffeditor.cpp
index 69a305542183f0fde6af84a12a0d452f80348a6d..6058e119f9c85923dc428e52ebeeb9e410ce9cb8 100644
--- a/src/plugins/diffeditor/diffeditor.cpp
+++ b/src/plugins/diffeditor/diffeditor.cpp
@@ -55,6 +55,7 @@
 #include <QHBoxLayout>
 #include <QToolBar>
 #include <QComboBox>
+#include <QAction>
 #include <QDir>
 #include <QTextCodec>
 #include <QTextBlock>
diff --git a/src/plugins/diffeditor/diffview.cpp b/src/plugins/diffeditor/diffview.cpp
index 6be3133ac57702f854bc1529ce661fdb89522206..cc2478f9c1cff1aa9dc81b857db275c4001f24e0 100644
--- a/src/plugins/diffeditor/diffview.cpp
+++ b/src/plugins/diffeditor/diffview.cpp
@@ -35,6 +35,8 @@
 
 #include <utils/qtcassert.h>
 
+#include <QCoreApplication>
+
 namespace DiffEditor {
 namespace Internal {
 
diff --git a/src/plugins/diffeditor/sidebysidediffeditorwidget.cpp b/src/plugins/diffeditor/sidebysidediffeditorwidget.cpp
index b91c4b81e578b92cc53d526506b80af37fe1ac6f..b1a3b4d0bf4abfea143b12fa2b97a38fd7bdec14 100644
--- a/src/plugins/diffeditor/sidebysidediffeditorwidget.cpp
+++ b/src/plugins/diffeditor/sidebysidediffeditorwidget.cpp
@@ -34,6 +34,8 @@
 #include "diffutils.h"
 #include "diffeditorconstants.h"
 
+#include <coreplugin/editormanager/editormanager.h>
+
 #include <QPlainTextEdit>
 #include <QVBoxLayout>
 #include <QPlainTextDocumentLayout>
@@ -44,6 +46,7 @@
 #include <QToolButton>
 #include <QTextCodec>
 #include <QMessageBox>
+#include <QMenu>
 
 #include <texteditor/texteditor.h>
 #include <texteditor/textdocumentlayout.h>
diff --git a/src/plugins/diffeditor/unifieddiffeditorwidget.cpp b/src/plugins/diffeditor/unifieddiffeditorwidget.cpp
index 17c1bd8c432cf8801f464781181b928bf705dbf7..31bd0961f87790fb1395bff77078ce0e3bec84a6 100644
--- a/src/plugins/diffeditor/unifieddiffeditorwidget.cpp
+++ b/src/plugins/diffeditor/unifieddiffeditorwidget.cpp
@@ -35,6 +35,7 @@
 
 #include <QPlainTextEdit>
 #include <QVBoxLayout>
+#include <QMenu>
 #include <QPlainTextDocumentLayout>
 #include <QTextBlock>
 #include <QScrollBar>
@@ -45,6 +46,7 @@
 #include <QMessageBox>
 
 #include <texteditor/texteditor.h>
+#include <texteditor/textdocument.h>
 #include <texteditor/textdocumentlayout.h>
 #include <texteditor/syntaxhighlighter.h>
 #include <texteditor/textdocument.h>
@@ -56,6 +58,7 @@
 #include <coreplugin/icore.h>
 #include <coreplugin/minisplitter.h>
 #include <coreplugin/patchtool.h>
+#include <coreplugin/editormanager/editormanager.h>
 
 #include <extensionsystem/pluginmanager.h>
 
diff --git a/src/plugins/emacskeys/emacskeysplugin.cpp b/src/plugins/emacskeys/emacskeysplugin.cpp
index 69fe6d919b660726675c9f8c11f04e42c7f098b1..ab866149854a186acaf810ffccf252a39dac4a6c 100644
--- a/src/plugins/emacskeys/emacskeysplugin.cpp
+++ b/src/plugins/emacskeys/emacskeysplugin.cpp
@@ -41,6 +41,7 @@
 #include <utils/qtcassert.h>
 
 #include <texteditor/texteditor.h>
+#include <texteditor/textdocument.h>
 
 #include <QAction>
 #include <QPlainTextEdit>
diff --git a/src/plugins/genericprojectmanager/genericprojectfileseditor.cpp b/src/plugins/genericprojectmanager/genericprojectfileseditor.cpp
index ccbc63e148e34272256927d54a74d8d1a6d220eb..209d8647686b65144a00c0976db89df75c11f0eb 100644
--- a/src/plugins/genericprojectmanager/genericprojectfileseditor.cpp
+++ b/src/plugins/genericprojectmanager/genericprojectfileseditor.cpp
@@ -34,6 +34,7 @@
 
 #include <coreplugin/editormanager/editormanager.h>
 #include <texteditor/texteditoractionhandler.h>
+#include <texteditor/textdocument.h>
 
 #include <QCoreApplication>
 
diff --git a/src/plugins/git/giteditor.cpp b/src/plugins/git/giteditor.cpp
index e3658150f1887f80bc835f2530cb4148da466764..794f59d799a44db8eb1dcc3f1ab8ee9482155573 100644
--- a/src/plugins/git/giteditor.cpp
+++ b/src/plugins/git/giteditor.cpp
@@ -43,6 +43,8 @@
 #include <vcsbase/vcsoutputwindow.h>
 #include <texteditor/textdocument.h>
 
+#include <QMenu>
+
 #include <QFileInfo>
 #include <QRegExp>
 #include <QSet>
diff --git a/src/plugins/glsleditor/glsleditor.cpp b/src/plugins/glsleditor/glsleditor.cpp
index 73901b3db59f11ec96fbb1aeaf6b094f10d7bf04..aa14a53fcf8b4fe68ec41786b51ebdb8b36ea3c8 100644
--- a/src/plugins/glsleditor/glsleditor.cpp
+++ b/src/plugins/glsleditor/glsleditor.cpp
@@ -54,6 +54,7 @@
 #include <extensionsystem/pluginspec.h>
 
 #include <texteditor/refactoroverlay.h>
+#include <texteditor/textdocument.h>
 #include <texteditor/syntaxhighlighter.h>
 #include <texteditor/texteditoractionhandler.h>
 #include <texteditor/texteditorconstants.h>
diff --git a/src/plugins/perforce/perforceplugin.cpp b/src/plugins/perforce/perforceplugin.cpp
index fb2bba4041d75787070b924453b1f7fdb05dc2e5..f9582b03cfa0898e696333f38365a5992e3e6deb 100644
--- a/src/plugins/perforce/perforceplugin.cpp
+++ b/src/plugins/perforce/perforceplugin.cpp
@@ -49,6 +49,7 @@
 #include <coreplugin/icore.h>
 #include <coreplugin/messagemanager.h>
 #include <coreplugin/locator/commandlocator.h>
+#include <texteditor/textdocument.h>
 #include <utils/fileutils.h>
 #include <utils/mimetypes/mimedatabase.h>
 #include <utils/parameteraction.h>
diff --git a/src/plugins/projectexplorer/allprojectsfind.cpp b/src/plugins/projectexplorer/allprojectsfind.cpp
index 7401b76cf0a56088741e5b4a430b225e1b7260f5..5a01c34f02830745af202fa191f81c4ea86300d1 100644
--- a/src/plugins/projectexplorer/allprojectsfind.cpp
+++ b/src/plugins/projectexplorer/allprojectsfind.cpp
@@ -36,6 +36,8 @@
 #include "editorconfiguration.h"
 
 #include <texteditor/texteditor.h>
+#include <texteditor/textdocument.h>
+#include <coreplugin/editormanager/editormanager.h>
 #include <utils/filesearch.h>
 #include <utils/algorithm.h>
 
diff --git a/src/plugins/projectexplorer/editorconfiguration.cpp b/src/plugins/projectexplorer/editorconfiguration.cpp
index 82d8ab93e6e4327894741f5f8b81701c63791fb3..d67adce1467739152b41f4b109c26fc6bb9cfd08 100644
--- a/src/plugins/projectexplorer/editorconfiguration.cpp
+++ b/src/plugins/projectexplorer/editorconfiguration.cpp
@@ -39,6 +39,7 @@
 #include <coreplugin/icore.h>
 #include <coreplugin/editormanager/editormanager.h>
 #include <texteditor/texteditor.h>
+#include <texteditor/textdocument.h>
 #include <texteditor/texteditorsettings.h>
 #include <texteditor/simplecodestylepreferences.h>
 #include <texteditor/typingsettings.h>
diff --git a/src/plugins/qmakeprojectmanager/profilecompletionassist.cpp b/src/plugins/qmakeprojectmanager/profilecompletionassist.cpp
index 1466291c579eca87c7839666165a4a33b5efd0fc..2ad37aee7f746ab22cf1f73efe5d45dfa2cdd001 100644
--- a/src/plugins/qmakeprojectmanager/profilecompletionassist.cpp
+++ b/src/plugins/qmakeprojectmanager/profilecompletionassist.cpp
@@ -33,6 +33,8 @@
 
 #include <texteditor/codeassist/keywordscompletionassist.h>
 
+#include <coreplugin/id.h>
+
 using namespace QmakeProjectManager::Internal;
 using namespace TextEditor;
 
diff --git a/src/plugins/qmakeprojectmanager/profileeditor.cpp b/src/plugins/qmakeprojectmanager/profileeditor.cpp
index f83994aeaad2329a04b11c66c075030203442395..66d92e179163274e9643c52192c30f2a39f23782 100644
--- a/src/plugins/qmakeprojectmanager/profileeditor.cpp
+++ b/src/plugins/qmakeprojectmanager/profileeditor.cpp
@@ -41,6 +41,7 @@
 #include <extensionsystem/pluginmanager.h>
 #include <qtsupport/qtsupportconstants.h>
 #include <texteditor/texteditoractionhandler.h>
+#include <texteditor/textdocument.h>
 #include <utils/qtcassert.h>
 #include <utils/theme/theme.h>
 
diff --git a/src/plugins/qmakeprojectmanager/qmakeprojectmanager.cpp b/src/plugins/qmakeprojectmanager/qmakeprojectmanager.cpp
index f9cc7e8d5a1460b6eeb5d6cdd0a0619d14d29aa0..d7f762e10b215cef4b30e2e5a864203537de7297 100644
--- a/src/plugins/qmakeprojectmanager/qmakeprojectmanager.cpp
+++ b/src/plugins/qmakeprojectmanager/qmakeprojectmanager.cpp
@@ -41,6 +41,7 @@
 #include "wizards/qtquickapp.h"
 
 #include <coreplugin/icore.h>
+#include <coreplugin/editormanager/editormanager.h>
 #include <projectexplorer/projectexplorer.h>
 #include <projectexplorer/projecttree.h>
 #include <projectexplorer/buildmanager.h>
diff --git a/src/plugins/qmldesigner/components/componentcore/crumblebar.cpp b/src/plugins/qmldesigner/components/componentcore/crumblebar.cpp
index 1e346a2a47ccaecad8214d05fbabfb6fca247d63..d4fcfedb9935b96d1901fde2a27e63407eceaa4a 100644
--- a/src/plugins/qmldesigner/components/componentcore/crumblebar.cpp
+++ b/src/plugins/qmldesigner/components/componentcore/crumblebar.cpp
@@ -35,6 +35,8 @@
 #include <nodeabstractproperty.h>
 
 #include <coreplugin/documentmanager.h>
+#include <coreplugin/imode.h>
+#include <coreplugin/editormanager/editormanager.h>
 
 #include <QVariant>
 #include <QtDebug>
diff --git a/src/plugins/qmldesigner/components/integration/designdocument.cpp b/src/plugins/qmldesigner/components/integration/designdocument.cpp
index 73e0942e23a224a596fb57725ab6acc6719098c1..9b02dd94ed470b035de695426a67dca09d2ee8fa 100644
--- a/src/plugins/qmldesigner/components/integration/designdocument.cpp
+++ b/src/plugins/qmldesigner/components/integration/designdocument.cpp
@@ -49,6 +49,7 @@
 #include <qtsupport/qtkitinformation.h>
 #include <qtsupport/qtsupportconstants.h>
 #include <qtsupport/qtversionmanager.h>
+#include <coreplugin/idocument.h>
 
 #include <QFileInfo>
 #include <QUrl>
diff --git a/src/plugins/qmldesigner/designercore/filemanager/qmlwarningdialog.cpp b/src/plugins/qmldesigner/designercore/filemanager/qmlwarningdialog.cpp
index 47538502961fea1f65f4d858a6927c6eff380d55..654f9e075b4f8f2451cc62182067089d5da96a0d 100644
--- a/src/plugins/qmldesigner/designercore/filemanager/qmlwarningdialog.cpp
+++ b/src/plugins/qmldesigner/designercore/filemanager/qmlwarningdialog.cpp
@@ -33,6 +33,8 @@
 
 #include <qmldesignerplugin.h>
 
+#include <coreplugin/editormanager/editormanager.h>
+
 #include <QPushButton>
 
 namespace QmlDesigner {
diff --git a/src/plugins/qmldesigner/designercore/instances/nodeinstanceserverproxy.cpp b/src/plugins/qmldesigner/designercore/instances/nodeinstanceserverproxy.cpp
index b93f898ee87529c8f94909c8047fd11488385157..88d96cd40f8a9a0c9e6d9d545ff454bca97af935 100644
--- a/src/plugins/qmldesigner/designercore/instances/nodeinstanceserverproxy.cpp
+++ b/src/plugins/qmldesigner/designercore/instances/nodeinstanceserverproxy.cpp
@@ -79,6 +79,7 @@
 #include <coreplugin/icore.h>
 #include <utils/hostosinfo.h>
 #include <coreplugin/messagebox.h>
+#include <coreplugin/editormanager/editormanager.h>
 #include <projectexplorer/kit.h>
 #include <qtsupport/qtkitinformation.h>
 #include <qtsupport/baseqtversion.h>
diff --git a/src/plugins/qmldesigner/designmodewidget.cpp b/src/plugins/qmldesigner/designmodewidget.cpp
index ef73428d7c3aae065f6f5e57b9248d9da81b8276..3efb840e71f2ac26638c027588afbd97284fdae4 100644
--- a/src/plugins/qmldesigner/designmodewidget.cpp
+++ b/src/plugins/qmldesigner/designmodewidget.cpp
@@ -44,6 +44,7 @@
 #include <coreplugin/minisplitter.h>
 #include <coreplugin/sidebar.h>
 #include <coreplugin/editortoolbar.h>
+#include <coreplugin/editormanager/editormanager.h>
 #include <coreplugin/inavigationwidgetfactory.h>
 #include <extensionsystem/pluginmanager.h>
 
diff --git a/src/plugins/qmldesigner/qmldesignerplugin.cpp b/src/plugins/qmldesigner/qmldesignerplugin.cpp
index e005475c0a0ff15c955c4b52d98854081cf4712f..85c355fc03cad280e00db5c367025ec83125ad46 100644
--- a/src/plugins/qmldesigner/qmldesignerplugin.cpp
+++ b/src/plugins/qmldesigner/qmldesignerplugin.cpp
@@ -43,7 +43,9 @@
 #include <coreplugin/coreconstants.h>
 #include <coreplugin/designmode.h>
 #include <coreplugin/icore.h>
+#include <coreplugin/idocument.h>
 #include <coreplugin/modemanager.h>
+#include <coreplugin/editormanager/editormanager.h>
 #include <extensionsystem/pluginspec.h>
 #include <qmljs/qmljsmodelmanagerinterface.h>
 #include <projectexplorer/projectexplorerconstants.h>
diff --git a/src/plugins/qmldesigner/qmldesignerplugin.h b/src/plugins/qmldesigner/qmldesignerplugin.h
index ab8cfb79e3482ee9b6dea5ae8b2f14fc646c8155..23f159c14d7192e2be31e92fdde733a804fbf059 100644
--- a/src/plugins/qmldesigner/qmldesignerplugin.h
+++ b/src/plugins/qmldesigner/qmldesignerplugin.h
@@ -54,6 +54,7 @@ namespace Core {
     class IEditor;
     class DesignMode;
     class EditorManager;
+    class IMode;
 }
 
 namespace QmlDesigner {
diff --git a/src/plugins/qmldesigner/shortcutmanager.cpp b/src/plugins/qmldesigner/shortcutmanager.cpp
index baf5252c4eb2976d7a92f1bb5f69de2e8f26c816..5f8ccfcf8f192ef3c9b786a866e127574495329a 100644
--- a/src/plugins/qmldesigner/shortcutmanager.cpp
+++ b/src/plugins/qmldesigner/shortcutmanager.cpp
@@ -34,6 +34,7 @@
 #include <coreplugin/actionmanager/actioncontainer.h>
 #include <coreplugin/icore.h>
 #include <coreplugin/editormanager/documentmodel.h>
+#include <coreplugin/editormanager/editormanager.h>
 #include <coreplugin/coreconstants.h>
 #include <utils/hostosinfo.h>
 
diff --git a/src/plugins/qmljseditor/quicktoolbar.cpp b/src/plugins/qmljseditor/quicktoolbar.cpp
index 00af014ef134e6161c84c088a8346fdfa00f305f..36c6d8bdd82c1495238ea6e284a3345b70fb7363 100644
--- a/src/plugins/qmljseditor/quicktoolbar.cpp
+++ b/src/plugins/qmljseditor/quicktoolbar.cpp
@@ -45,6 +45,7 @@
 #include <qmljs/qmljsevaluate.h>
 #include <qmljs/qmljsutils.h>
 #include <texteditor/texteditor.h>
+#include <texteditor/textdocument.h>
 #include <texteditor/tabsettings.h>
 #include <coreplugin/icore.h>
 
diff --git a/src/plugins/qmljstools/qmljsmodelmanager.cpp b/src/plugins/qmljstools/qmljsmodelmanager.cpp
index fb8721fe217e0f6698ff00cda0c816b326bf8f18..821b65519f52e138baeee12b17b63b4e828b014f 100644
--- a/src/plugins/qmljstools/qmljsmodelmanager.cpp
+++ b/src/plugins/qmljstools/qmljsmodelmanager.cpp
@@ -34,6 +34,7 @@
 #include "qmljsbundleprovider.h"
 
 #include <coreplugin/icore.h>
+#include <coreplugin/editormanager/documentmodel.h>
 #include <coreplugin/messagemanager.h>
 #include <coreplugin/progressmanager/progressmanager.h>
 #include <cpptools/cppmodelmanager.h>
diff --git a/src/plugins/qnx/bardescriptoreditor.cpp b/src/plugins/qnx/bardescriptoreditor.cpp
index 863b529b2bfe00dba6f3ce82f9314623a83c3f6c..5274774d30ccb44ec81990285ff03b89e1ab11b0 100644
--- a/src/plugins/qnx/bardescriptoreditor.cpp
+++ b/src/plugins/qnx/bardescriptoreditor.cpp
@@ -41,6 +41,7 @@
 #include <projectexplorer/taskhub.h>
 #include <texteditor/texteditorconstants.h>
 #include <texteditor/texteditor.h>
+#include <texteditor/textdocument.h>
 #include <texteditor/tabsettings.h>
 #include <utils/linecolumnlabel.h>
 #include <utils/qtcassert.h>
diff --git a/src/plugins/subversion/subversionplugin.cpp b/src/plugins/subversion/subversionplugin.cpp
index da2862c204988316eddaca8aedc0dd9e829a3a37..5a7ed50758f1b83954291379080c28158f88e549 100644
--- a/src/plugins/subversion/subversionplugin.cpp
+++ b/src/plugins/subversion/subversionplugin.cpp
@@ -47,6 +47,8 @@
 #include <vcsbase/vcsoutputwindow.h>
 #include <vcsbase/vcsbaseeditorparameterwidget.h>
 
+#include <texteditor/textdocument.h>
+
 #include <coreplugin/actionmanager/actioncontainer.h>
 #include <coreplugin/actionmanager/actionmanager.h>
 #include <coreplugin/actionmanager/command.h>
diff --git a/src/plugins/texteditor/basefilefind.cpp b/src/plugins/texteditor/basefilefind.cpp
index 7c13415e46e3e5aad3daacf06c800f59a4f6eea0..9e00297faf538fbb9d3f2fd2fd43cd861926aafb 100644
--- a/src/plugins/texteditor/basefilefind.cpp
+++ b/src/plugins/texteditor/basefilefind.cpp
@@ -30,6 +30,7 @@
 
 #include "basefilefind.h"
 #include "basefilefind_p.h"
+#include "textdocument.h"
 
 #include <aggregation/aggregate.h>
 #include <coreplugin/icore.h>
@@ -37,6 +38,7 @@
 #include <coreplugin/progressmanager/futureprogress.h>
 #include <coreplugin/dialogs/readonlyfilesdialog.h>
 #include <coreplugin/documentmanager.h>
+#include <coreplugin/editormanager/editormanager.h>
 #include <coreplugin/find/ifindsupport.h>
 #include <texteditor/texteditor.h>
 #include <texteditor/refactoringchanges.h>
diff --git a/src/plugins/texteditor/basehoverhandler.h b/src/plugins/texteditor/basehoverhandler.h
index d2a6541e8af7b8070ddc3395b81ca26811d368bf..00accf05b7e5f572c657731875bacd44b8d50416 100644
--- a/src/plugins/texteditor/basehoverhandler.h
+++ b/src/plugins/texteditor/basehoverhandler.h
@@ -33,7 +33,8 @@
 
 #include "texteditor_global.h"
 #include "helpitem.h"
-#include <texteditor/codeassist/keywordscompletionassist.h>
+
+#include <QObject>
 
 namespace Core { class IEditor; }
 
diff --git a/src/plugins/texteditor/codeassist/codeassistant.cpp b/src/plugins/texteditor/codeassist/codeassistant.cpp
index 51b0ab7f8801c0f5a179ff1cbb82fbbe3c800333..1dd33bd87aba7ee22ea8a66f4c98fd4e902f89dd 100644
--- a/src/plugins/texteditor/codeassist/codeassistant.cpp
+++ b/src/plugins/texteditor/codeassist/codeassistant.cpp
@@ -32,6 +32,7 @@
 #include "completionassistprovider.h"
 #include "quickfixassistprovider.h"
 #include "iassistprocessor.h"
+#include "textdocument.h"
 #include "iassistproposal.h"
 #include "iassistproposalwidget.h"
 #include "assistinterface.h"
diff --git a/src/plugins/texteditor/codeassist/genericproposalmodel.h b/src/plugins/texteditor/codeassist/genericproposalmodel.h
index 43cd6494fd24493589e0f2f20c44db5050dfadf2..a147991a524b8c5c2483c765c59cc39e89e280cd 100644
--- a/src/plugins/texteditor/codeassist/genericproposalmodel.h
+++ b/src/plugins/texteditor/codeassist/genericproposalmodel.h
@@ -38,9 +38,9 @@
 
 
 #include <QHash>
-#include <QIcon>
 #include <QList>
-#include <QPair>
+
+QT_FORWARD_DECLARE_CLASS(QIcon)
 
 namespace TextEditor {
 
diff --git a/src/plugins/texteditor/codeassist/iassistprocessor.h b/src/plugins/texteditor/codeassist/iassistprocessor.h
index 7d7a7dd7e9b755986b33a7c60f4898430bf0ff64..b95614906665385a2fdba4243dcbca62cdb703b1 100644
--- a/src/plugins/texteditor/codeassist/iassistprocessor.h
+++ b/src/plugins/texteditor/codeassist/iassistprocessor.h
@@ -31,8 +31,6 @@
 #ifndef IASSISTPROCESSOR_H
 #define IASSISTPROCESSOR_H
 
-#include "iassistproposalwidget.h"
-
 #include <texteditor/texteditor_global.h>
 
 namespace TextEditor {
diff --git a/src/plugins/texteditor/codeassist/iassistproposalmodel.h b/src/plugins/texteditor/codeassist/iassistproposalmodel.h
index 4eacabe8537c5efa0fa08cd2156b75243fb404cf..b881b40cb67849cc256218ed7f1e528fd0466461 100644
--- a/src/plugins/texteditor/codeassist/iassistproposalmodel.h
+++ b/src/plugins/texteditor/codeassist/iassistproposalmodel.h
@@ -33,7 +33,7 @@
 
 #include <texteditor/texteditor_global.h>
 
-#include <QString>
+QT_FORWARD_DECLARE_CLASS(QString)
 
 namespace TextEditor {
 
diff --git a/src/plugins/texteditor/codeassist/iassistprovider.h b/src/plugins/texteditor/codeassist/iassistprovider.h
index a967a87be44d6222e0b4bee9e64653bdfed682a5..9ca728789be9fdc0c68eb970b35f64a3dc69e039 100644
--- a/src/plugins/texteditor/codeassist/iassistprovider.h
+++ b/src/plugins/texteditor/codeassist/iassistprovider.h
@@ -32,10 +32,10 @@
 #define IASSISTPROVIDER_H
 
 #include <texteditor/texteditor_global.h>
-#include <coreplugin/id.h>
 
 #include <QObject>
 
+namespace Core { class Id; }
 namespace TextEditor {
 
 class IAssistProcessor;
diff --git a/src/plugins/texteditor/codestyleeditor.cpp b/src/plugins/texteditor/codestyleeditor.cpp
index 08baf759ec542c6f02a1d6601a7d01b3c5aa7fac..f4f567c7bf42b054f4b60b5af3b405b63d3a6062 100644
--- a/src/plugins/texteditor/codestyleeditor.cpp
+++ b/src/plugins/texteditor/codestyleeditor.cpp
@@ -30,6 +30,7 @@
 
 #include "codestyleeditor.h"
 
+#include "textdocument.h"
 #include "icodestylepreferencesfactory.h"
 #include "icodestylepreferences.h"
 #include "codestyleselectorwidget.h"
diff --git a/src/plugins/texteditor/codestylepool.h b/src/plugins/texteditor/codestylepool.h
index 9405877024d65783b9435872f0ea712782066121..9a20d1d00e7fa4c35633ca942dee59d3d19711bc 100644
--- a/src/plugins/texteditor/codestylepool.h
+++ b/src/plugins/texteditor/codestylepool.h
@@ -33,10 +33,9 @@
 
 #include "texteditor_global.h"
 
-#include <utils/fileutils.h>
-
 #include <QObject>
 
+namespace Utils { class FileName; }
 namespace TextEditor {
 
 class ICodeStylePreferences;
diff --git a/src/plugins/texteditor/codestyleselectorwidget.cpp b/src/plugins/texteditor/codestyleselectorwidget.cpp
index 673bb507b6464e9c8fd33c8ed93ab006b01a6869..6cf09a5ad04eef0611025332d12a8ea7677f0ed5 100644
--- a/src/plugins/texteditor/codestyleselectorwidget.cpp
+++ b/src/plugins/texteditor/codestyleselectorwidget.cpp
@@ -35,6 +35,8 @@
 #include "codestylepool.h"
 #include "tabsettings.h"
 
+#include <utils/fileutils.h>
+
 #include <QPushButton>
 #include <QDialogButtonBox>
 #include <QDialog>
diff --git a/src/plugins/texteditor/findincurrentfile.cpp b/src/plugins/texteditor/findincurrentfile.cpp
index 6416a8fb2e471376d1b62ce34ef2d721c4096cd4..c68b459c0cc2ce2fc6c3228cbc6f0abbb236f49c 100644
--- a/src/plugins/texteditor/findincurrentfile.cpp
+++ b/src/plugins/texteditor/findincurrentfile.cpp
@@ -30,6 +30,7 @@
 
 #include "findincurrentfile.h"
 #include "texteditor.h"
+#include "textdocument.h"
 
 #include <utils/filesearch.h>
 #include <utils/fileutils.h>
diff --git a/src/plugins/texteditor/fontsettingspage.h b/src/plugins/texteditor/fontsettingspage.h
index a281436f1dec305d06032df487f1c8f809a1de0a..ee7b7bd7900cd8907665029d0b995db33db8d300 100644
--- a/src/plugins/texteditor/fontsettingspage.h
+++ b/src/plugins/texteditor/fontsettingspage.h
@@ -33,7 +33,8 @@
 
 #include "texteditor_global.h"
 
-#include "fontsettings.h"
+#include "texteditorconstants.h"
+#include "colorscheme.h"
 
 #include "texteditoroptionspage.h"
 
@@ -47,6 +48,8 @@ QT_END_NAMESPACE
 
 namespace TextEditor {
 
+class Format;
+class FontSettings;
 namespace Internal { class FontSettingsPagePrivate; }
 
 // GUI description of a format consisting of id (settings key)
diff --git a/src/plugins/texteditor/icodestylepreferences.h b/src/plugins/texteditor/icodestylepreferences.h
index 2388fda8459677df3420ba1732c06beeda313571..6e5d6964a7ddbff5e7010e1d8733057134f3b7eb 100644
--- a/src/plugins/texteditor/icodestylepreferences.h
+++ b/src/plugins/texteditor/icodestylepreferences.h
@@ -34,9 +34,9 @@
 #include "texteditor_global.h"
 
 #include <QObject>
-#include <QVariant>
 
 QT_BEGIN_NAMESPACE
+class QVariant;
 class QSettings;
 QT_END_NAMESPACE
 
diff --git a/src/plugins/texteditor/icodestylepreferencesfactory.h b/src/plugins/texteditor/icodestylepreferencesfactory.h
index f3abb383185626965153ae50d20333f025892476..b2e6bfd7b837fec01b81f2c77e617d2e5a7cf1f4 100644
--- a/src/plugins/texteditor/icodestylepreferencesfactory.h
+++ b/src/plugins/texteditor/icodestylepreferencesfactory.h
@@ -33,10 +33,9 @@
 
 #include "texteditor_global.h"
 
-#include <coreplugin/id.h>
-
 #include <QObject>
 
+namespace Core { class Id; }
 namespace TextEditor {
 
 class ICodeStylePreferences;
diff --git a/src/plugins/texteditor/refactoringchanges.cpp b/src/plugins/texteditor/refactoringchanges.cpp
index 5685e75c881b212de1f37a72e272ad040804286d..346b40834c9a7465d8a40bc165b05fdd61a31492 100644
--- a/src/plugins/texteditor/refactoringchanges.cpp
+++ b/src/plugins/texteditor/refactoringchanges.cpp
@@ -30,9 +30,11 @@
 
 #include "refactoringchanges.h"
 #include "texteditor.h"
+#include "textdocument.h"
 
 #include <coreplugin/icore.h>
 #include <coreplugin/dialogs/readonlyfilesdialog.h>
+#include <coreplugin/editormanager/editormanager.h>
 #include <utils/qtcassert.h>
 #include <utils/fileutils.h>
 
diff --git a/src/plugins/texteditor/simplecodestylepreferences.cpp b/src/plugins/texteditor/simplecodestylepreferences.cpp
index fa56c4b305ecfac3b7ac26fb2c25e72d17a900dc..b19c3c878a5eb6e848db400ccbdb7ea3d3364e32 100644
--- a/src/plugins/texteditor/simplecodestylepreferences.cpp
+++ b/src/plugins/texteditor/simplecodestylepreferences.cpp
@@ -30,6 +30,8 @@
 
 #include "simplecodestylepreferences.h"
 
+#include <QVariant>
+
 using namespace TextEditor;
 
 static const char settingsSuffixKey[] = "TabPreferences";
diff --git a/src/plugins/texteditor/snippets/snippetssettingspage.cpp b/src/plugins/texteditor/snippets/snippetssettingspage.cpp
index 45a7afc1871fa81c0eab98dc0399ca074f26a3b0..44bbc6353abdf5e920a431a0f0402c2a7a19ebda 100644
--- a/src/plugins/texteditor/snippets/snippetssettingspage.cpp
+++ b/src/plugins/texteditor/snippets/snippetssettingspage.cpp
@@ -34,6 +34,7 @@
 #include "snippet.h"
 #include "snippetscollection.h"
 #include "snippetssettings.h"
+#include "textdocument.h"
 #include "ui_snippetssettingspage.h"
 
 #include <coreplugin/icore.h>
diff --git a/src/plugins/texteditor/syntaxhighlighter.cpp b/src/plugins/texteditor/syntaxhighlighter.cpp
index f5a3dd437d76f33d603536567b2de46695e6458e..debb4feddec1afa4d1e879ba9f1245d6d035c538 100644
--- a/src/plugins/texteditor/syntaxhighlighter.cpp
+++ b/src/plugins/texteditor/syntaxhighlighter.cpp
@@ -37,6 +37,8 @@
 #include <utils/algorithm.h>
 #include <utils/qtcassert.h>
 
+#include <QTextDocument>
+#include <QPointer>
 #include <qtimer.h>
 
 #include <math.h>
diff --git a/src/plugins/texteditor/textdocument.cpp b/src/plugins/texteditor/textdocument.cpp
index af37bf3d1dcd917bacd80ebfabcbb1853d52c4fd..75e4ad4f085380a6ebc0bd8021aa5429badd4c62 100644
--- a/src/plugins/texteditor/textdocument.cpp
+++ b/src/plugins/texteditor/textdocument.cpp
@@ -42,6 +42,8 @@
 #include "texteditorconstants.h"
 #include "typingsettings.h"
 #include <texteditor/generichighlighter/highlighter.h>
+#include <coreplugin/editormanager/editormanager.h>
+#include <coreplugin/editormanager/documentmodel.h>
 
 #include <QApplication>
 #include <QDir>
diff --git a/src/plugins/texteditor/textdocument.h b/src/plugins/texteditor/textdocument.h
index 7378807372e225029e164e88070974b4f853686b..818059e80aaba7886ee83e40e488525753045dae 100644
--- a/src/plugins/texteditor/textdocument.h
+++ b/src/plugins/texteditor/textdocument.h
@@ -35,8 +35,6 @@
 
 #include <coreplugin/id.h>
 #include <coreplugin/textdocument.h>
-#include <coreplugin/editormanager/editormanager.h>
-#include <coreplugin/editormanager/ieditor.h>
 
 #include <QList>
 #include <QMap>
diff --git a/src/plugins/texteditor/textdocumentlayout.cpp b/src/plugins/texteditor/textdocumentlayout.cpp
index 112d5de7bc672a0a80c9d058eead0a2f8214ff3e..4187ef31e0bebf1ebe31f5564e59fac3ffa63e21 100644
--- a/src/plugins/texteditor/textdocumentlayout.cpp
+++ b/src/plugins/texteditor/textdocumentlayout.cpp
@@ -29,6 +29,7 @@
 ****************************************************************************/
 
 #include "textdocumentlayout.h"
+#include "textdocument.h"
 #include <utils/qtcassert.h>
 #include <QDebug>
 
diff --git a/src/plugins/texteditor/textdocumentlayout.h b/src/plugins/texteditor/textdocumentlayout.h
index d09a8caac812c7e288f535b7a0cfb7380f6ecbe3..eaf018d82a7723ab02638e0afd214ce9b12e5f75 100644
--- a/src/plugins/texteditor/textdocumentlayout.h
+++ b/src/plugins/texteditor/textdocumentlayout.h
@@ -33,8 +33,8 @@
 
 #include "texteditor_global.h"
 
-#include "texteditor.h"
 #include "textmark.h"
+#include "textdocument.h"
 
 #include <QTextBlockUserData>
 #include <QPlainTextDocumentLayout>
diff --git a/src/plugins/texteditor/texteditor.cpp b/src/plugins/texteditor/texteditor.cpp
index bafc47481b80b0e913811c195f371538fb573d5b..ee5ad4f5a261081951d29d19b2f2626774a64fd9 100644
--- a/src/plugins/texteditor/texteditor.cpp
+++ b/src/plugins/texteditor/texteditor.cpp
@@ -30,6 +30,10 @@
 
 #include "texteditor.h"
 #include "texteditor_p.h"
+#include "displaysettings.h"
+#include "marginsettings.h"
+#include "fontsettings.h"
+#include "texteditoractionhandler.h"
 
 #include "autocompleter.h"
 #include "basehoverhandler.h"
@@ -48,6 +52,7 @@
 #include "textdocument.h"
 #include "textdocumentlayout.h"
 #include "texteditoroverlay.h"
+#include "refactoroverlay.h"
 #include "texteditorsettings.h"
 #include "typingsettings.h"
 #include "extraencodingsettings.h"
diff --git a/src/plugins/texteditor/texteditor.h b/src/plugins/texteditor/texteditor.h
index 1ba72e2b3666dc7642436c56b81ac10bc423520c..9ddaa159d563627a3343691f721f53c331d2d039 100644
--- a/src/plugins/texteditor/texteditor.h
+++ b/src/plugins/texteditor/texteditor.h
@@ -31,22 +31,17 @@
 #ifndef TEXTEDITOR_H
 #define TEXTEDITOR_H
 
-#include "textdocument.h"
-#include "codeassist/assistenums.h"
 #include "texteditor_global.h"
+#include "codeassist/assistenums.h"
 
-#include <texteditor/texteditoractionhandler.h>
-
-#include <coreplugin/textdocument.h>
-#include <coreplugin/editormanager/editormanager.h>
 #include <coreplugin/editormanager/ieditor.h>
 #include <coreplugin/editormanager/ieditorfactory.h>
-#include <coreplugin/find/ifindsupport.h>
 
 #include <utils/uncommentselection.h>
 
 #include <QLabel>
 #include <QPlainTextEdit>
+#include <QSharedPointer>
 #include <functional>
 
 QT_BEGIN_NAMESPACE
@@ -60,11 +55,12 @@ class QTextBlock;
 QT_END_NAMESPACE
 
 namespace TextEditor {
-
+class TextDocument;
 class BaseHoverHandler;
 class TabSettings;
 class RefactorOverlay;
 struct RefactorMarker;
+class SyntaxHighlighter;
 class IAssistMonitorInterface;
 class AssistInterface;
 class IAssistProvider;
@@ -211,9 +207,9 @@ public:
     TextEditorWidget(QWidget *parent = 0);
     ~TextEditorWidget();
 
-    void setTextDocument(const TextDocumentPtr &doc);
+    void setTextDocument(const QSharedPointer<TextDocument> &doc);
     TextDocument *textDocument() const;
-    TextDocumentPtr textDocumentPtr() const;
+    QSharedPointer<TextDocument> textDocumentPtr() const;
 
     // IEditor
     virtual bool open(QString *errorString, const QString &fileName, const QString &realFileName);
diff --git a/src/plugins/texteditor/texteditor_p.h b/src/plugins/texteditor/texteditor_p.h
index 15a0419f261e97f307ea1df5557588039e8cdc48..b71600e022167c4e04a29b5ba87cdf59b65b6a45 100644
--- a/src/plugins/texteditor/texteditor_p.h
+++ b/src/plugins/texteditor/texteditor_p.h
@@ -31,22 +31,10 @@
 #ifndef TEXTEDITOR_P_H
 #define TEXTEDITOR_P_H
 
-#include "texteditor.h"
-#include "behaviorsettings.h"
-#include "displaysettings.h"
-#include "marginsettings.h"
-#include "fontsettings.h"
-#include "refactoroverlay.h"
-
-#include <coreplugin/id.h>
-#include <utils/changeset.h>
-
-#include <QBasicTimer>
-#include <QSharedPointer>
-#include <QPointer>
-#include <QScopedPointer>
-#include <QTextBlock>
-#include <QTimer>
+
+#include "texteditor_global.h"
+
+#include <QList>
 
 namespace TextEditor {
 
diff --git a/src/plugins/texteditor/texteditor_test.cpp b/src/plugins/texteditor/texteditor_test.cpp
index fe7295f384dc7f0ba25dbcd43fc556c6a25fbf8a..eabbbb69bface6a4d94bebceae33b8c07093f7ba 100644
--- a/src/plugins/texteditor/texteditor_test.cpp
+++ b/src/plugins/texteditor/texteditor_test.cpp
@@ -40,6 +40,7 @@
 
 #include "texteditor.h"
 #include "texteditorplugin.h"
+#include "textdocument.h"
 
 using namespace TextEditor;
 
diff --git a/src/plugins/texteditor/texteditoractionhandler.cpp b/src/plugins/texteditor/texteditoractionhandler.cpp
index 586e64ef08f30e769ea82eedee0e0aef7263e89d..06fa947cec6c0d5dd5eb2c3e131e809dcf4552f3 100644
--- a/src/plugins/texteditor/texteditoractionhandler.cpp
+++ b/src/plugins/texteditor/texteditoractionhandler.cpp
@@ -38,6 +38,7 @@
 
 #include <coreplugin/locator/locatormanager.h>
 #include <coreplugin/icore.h>
+#include <coreplugin/editormanager/editormanager.h>
 #include <coreplugin/coreconstants.h>
 #include <coreplugin/actionmanager/actionmanager.h>
 #include <coreplugin/actionmanager/actioncontainer.h>
diff --git a/src/plugins/texteditor/texteditoractionhandler.h b/src/plugins/texteditor/texteditoractionhandler.h
index 11c5b7a2eb51c57d5b6493deef084058eed99642..5ef2c993bc75cb6878b7232e1a1f651d65cf9e63 100644
--- a/src/plugins/texteditor/texteditoractionhandler.h
+++ b/src/plugins/texteditor/texteditoractionhandler.h
@@ -33,11 +33,12 @@
 
 #include "texteditor_global.h"
 
-#include <coreplugin/id.h>
-
 #include <QObject>
 
-namespace Core { class IEditor; }
+namespace Core {
+class Id;
+class IEditor;
+}
 
 namespace TextEditor {
 class TextEditorWidget;
diff --git a/src/plugins/texteditor/texteditorsettings.cpp b/src/plugins/texteditor/texteditorsettings.cpp
index 8e09907fb3137e313023f7a3d9c0848274229dfc..fd3bf12b1c0e8d4492648d779be1fd411c2812eb 100644
--- a/src/plugins/texteditor/texteditorsettings.cpp
+++ b/src/plugins/texteditor/texteditorsettings.cpp
@@ -30,6 +30,7 @@
 
 #include "texteditorsettings.h"
 
+#include "fontsettings.h"
 #include "texteditor.h"
 #include "behaviorsettings.h"
 #include "behaviorsettingspage.h"
diff --git a/src/plugins/texteditor/textmark.h b/src/plugins/texteditor/textmark.h
index ddbe872d28924868088933d2a64f33541141fbc3..85726d521c34757f94598b209259e6fc3887b869 100644
--- a/src/plugins/texteditor/textmark.h
+++ b/src/plugins/texteditor/textmark.h
@@ -33,7 +33,6 @@
 
 #include "texteditor_global.h"
 
-#include <QObject>
 #include <QIcon>
 
 QT_BEGIN_NAMESPACE
diff --git a/src/plugins/texteditor/typingsettings.h b/src/plugins/texteditor/typingsettings.h
index 5d42db28a3a40a9cf568d1ae4ed4215241d382c4..6c49feb343b073208991c1e156513950f85884a8 100644
--- a/src/plugins/texteditor/typingsettings.h
+++ b/src/plugins/texteditor/typingsettings.h
@@ -33,10 +33,12 @@
 
 #include "texteditor_global.h"
 
-#include <QTextBlock>
+#include <QVariantMap>
 
 QT_BEGIN_NAMESPACE
 class QSettings;
+class QTextDocument;
+class QTextCursor;
 QT_END_NAMESPACE
 
 namespace TextEditor {
diff --git a/src/plugins/valgrind/callgrindtool.cpp b/src/plugins/valgrind/callgrindtool.cpp
index 27771bafc5162d085a5118b96be5f55a986d95e7..c658815aaadb6e36dab4180ec1f61cdd31ec1731 100644
--- a/src/plugins/valgrind/callgrindtool.cpp
+++ b/src/plugins/valgrind/callgrindtool.cpp
@@ -54,6 +54,7 @@
 
 #include <coreplugin/coreconstants.h>
 #include <coreplugin/icore.h>
+#include <coreplugin/editormanager/editormanager.h>
 
 #include <cplusplus/LookupContext.h>
 #include <cplusplus/Overview.h>
@@ -62,6 +63,7 @@
 #include <extensionsystem/iplugin.h>
 
 #include <texteditor/texteditor.h>
+#include <texteditor/textdocument.h>
 
 #include <utils/qtcassert.h>
 #include <utils/fancymainwindow.h>
diff --git a/src/plugins/vcsbase/basevcseditorfactory.cpp b/src/plugins/vcsbase/basevcseditorfactory.cpp
index d4c9316fb95cc678a9f496cdc7ed841d38bac0c8..2f14a2f33edb78607c14e5ad2969ce58e4d12168 100644
--- a/src/plugins/vcsbase/basevcseditorfactory.cpp
+++ b/src/plugins/vcsbase/basevcseditorfactory.cpp
@@ -32,6 +32,7 @@
 #include "vcsbaseeditor.h"
 
 #include <texteditor/texteditoractionhandler.h>
+#include <texteditor/textdocument.h>
 
 #include <diffeditor/diffeditorconstants.h>
 #include <extensionsystem/pluginmanager.h>
diff --git a/src/plugins/vcsbase/vcsbaseclient.cpp b/src/plugins/vcsbase/vcsbaseclient.cpp
index e38abbd3e1003881536d76119651db604c07b6c0..31509def769756095894cecd2d023d1c30743ce4 100644
--- a/src/plugins/vcsbase/vcsbaseclient.cpp
+++ b/src/plugins/vcsbase/vcsbaseclient.cpp
@@ -35,6 +35,9 @@
 
 #include <coreplugin/icore.h>
 #include <coreplugin/vcsmanager.h>
+#include <coreplugin/editormanager/documentmodel.h>
+#include <coreplugin/editormanager/editormanager.h>
+#include <coreplugin/idocument.h>
 
 #include <utils/qtcassert.h>
 #include <utils/synchronousprocess.h>
diff --git a/src/plugins/vcsbase/vcsbaseeditor.cpp b/src/plugins/vcsbase/vcsbaseeditor.cpp
index 9b40522e3553ad2c61b9a485a4b9001cfd36ee6b..f3fc5e62f1f2210d76fe8ec295ac35a516ec4c44 100644
--- a/src/plugins/vcsbase/vcsbaseeditor.cpp
+++ b/src/plugins/vcsbase/vcsbaseeditor.cpp
@@ -39,6 +39,7 @@
 #include <coreplugin/icore.h>
 #include <coreplugin/vcsmanager.h>
 #include <coreplugin/patchtool.h>
+#include <coreplugin/editormanager/editormanager.h>
 #include <extensionsystem/pluginmanager.h>
 #include <projectexplorer/editorconfiguration.h>
 #include <projectexplorer/projectexplorer.h>