diff --git a/src/plugins/clearcase/clearcaseplugin.cpp b/src/plugins/clearcase/clearcaseplugin.cpp
index 43ba106d254b51ed560339a1027d29d1e0158c0d..80d335619c941f80591385ec4ee35e00414df85d 100644
--- a/src/plugins/clearcase/clearcaseplugin.cpp
+++ b/src/plugins/clearcase/clearcaseplugin.cpp
@@ -1525,7 +1525,7 @@ IEditor *ClearCasePlugin::showOutputInEditor(const QString& title, const QString
         return 0;
     e->setForceReadOnly(true);
     s.replace(QLatin1Char(' '), QLatin1Char('_'));
-    e->setSuggestedFileName(s);
+    e->baseTextDocument()->setSuggestedFileName(s);
     if (!source.isEmpty())
         e->setSource(source);
     if (codec)
diff --git a/src/plugins/cppeditor/cppeditor.cpp b/src/plugins/cppeditor/cppeditor.cpp
index c8518184c9df529121188ac4efb9c3cd92db0e62..6dc61e9349e035667f922c5ee8849ca547e583b6 100644
--- a/src/plugins/cppeditor/cppeditor.cpp
+++ b/src/plugins/cppeditor/cppeditor.cpp
@@ -1515,7 +1515,7 @@ bool CPPEditor::open(QString *errorString, const QString &fileName, const QStrin
 {
     if (!TextEditor::BaseTextEditor::open(errorString, fileName, realFileName))
         return false;
-    editorWidget()->setMimeType(Core::MimeDatabase::findByFile(QFileInfo(fileName)).type());
+    baseTextDocument()->setMimeType(Core::MimeDatabase::findByFile(QFileInfo(fileName)).type());
     return true;
 }
 
diff --git a/src/plugins/cvs/cvsplugin.cpp b/src/plugins/cvs/cvsplugin.cpp
index 9e85e9b7bfe96b6159f0884db6eeb06dee72f9fa..fcca910b39de005d631760b20d1cf4c095cdb324 100644
--- a/src/plugins/cvs/cvsplugin.cpp
+++ b/src/plugins/cvs/cvsplugin.cpp
@@ -1176,7 +1176,7 @@ IEditor *CvsPlugin::showOutputInEditor(const QString& title, const QString &outp
     if (!e)
         return 0;
     s.replace(QLatin1Char(' '), QLatin1Char('_'));
-    e->setSuggestedFileName(s);
+    e->baseTextDocument()->setSuggestedFileName(s);
     e->setForceReadOnly(true);
     if (!source.isEmpty())
         e->setSource(source);
diff --git a/src/plugins/glsleditor/glsleditor.cpp b/src/plugins/glsleditor/glsleditor.cpp
index 0aca114e5fa31e60199ebee00dd4f32981af2e77..ad829c4780b50680731876dbd1dace21a724b8a7 100644
--- a/src/plugins/glsleditor/glsleditor.cpp
+++ b/src/plugins/glsleditor/glsleditor.cpp
@@ -213,7 +213,7 @@ Core::Id GLSLEditorEditable::id() const
 
 bool GLSLEditorEditable::open(QString *errorString, const QString &fileName, const QString &realFileName)
 {
-    editorWidget()->setMimeType(Core::MimeDatabase::findByFile(QFileInfo(fileName)).type());
+    baseTextDocument()->setMimeType(Core::MimeDatabase::findByFile(QFileInfo(fileName)).type());
     bool b = TextEditor::BaseTextEditor::open(errorString, fileName, realFileName);
     return b;
 }
@@ -281,7 +281,7 @@ void GLSLTextEditorWidget::updateDocumentNow()
 {
     m_updateDocumentTimer->stop();
 
-    int variant = languageVariant(mimeType());
+    int variant = languageVariant(baseTextDocument()->mimeType());
     const QString contents = toPlainText(); // get the code from the editor
     const QByteArray preprocessedCode = contents.toLatin1(); // ### use the QtCreator C++ preprocessor.
 
@@ -389,7 +389,7 @@ TextEditor::IAssistInterface *GLSLTextEditorWidget::createAssistInterface(
                                                  position(),
                                                  editor()->document()->filePath(),
                                                  reason,
-                                                 mimeType(),
+                                                 baseTextDocument()->mimeType(),
                                                  m_glslDocument);
     return BaseTextEditorWidget::createAssistInterface(kind, reason);
 }
diff --git a/src/plugins/perforce/perforceplugin.cpp b/src/plugins/perforce/perforceplugin.cpp
index cad43e661fa398a04f624bcec7f9e809a2108c41..fb6bfeb9495962bc0075a57a19de7a346796f187 100644
--- a/src/plugins/perforce/perforceplugin.cpp
+++ b/src/plugins/perforce/perforceplugin.cpp
@@ -1182,7 +1182,7 @@ Core::IEditor *PerforcePlugin::showOutputInEditor(const QString &title, const QS
     e->setForceReadOnly(true);
     e->setSource(source);
     s.replace(QLatin1Char(' '), QLatin1Char('_'));
-    e->setSuggestedFileName(s);
+    e->baseTextDocument()->setSuggestedFileName(s);
     if (codec)
         e->setCodec(codec);
     Core::EditorManager::activateEditor(editor);
diff --git a/src/plugins/pythoneditor/pythoneditor.cpp b/src/plugins/pythoneditor/pythoneditor.cpp
index a75c324ba2ddedadcbd1e9660ad70189d6d20114..346c0f40194b316e45ea7449f551c530f38c15a8 100644
--- a/src/plugins/pythoneditor/pythoneditor.cpp
+++ b/src/plugins/pythoneditor/pythoneditor.cpp
@@ -78,7 +78,7 @@ bool PythonEditor::open(QString *errorString,
                         const QString &realFileName)
 {
     Core::MimeType mimeType = Core::MimeDatabase::findByFile(QFileInfo(fileName));
-    editorWidget()->setMimeType(mimeType.type());
+    baseTextDocument()->setMimeType(mimeType.type());
     return TextEditor::BaseTextEditor::open(errorString, fileName, realFileName);
 }
 
diff --git a/src/plugins/qmljseditor/qmljseditor.cpp b/src/plugins/qmljseditor/qmljseditor.cpp
index 1ed5aa94681c7fc9cfba9ca91a6f76d40725cab0..8e66676d8563539bb395509303d8d962e660bdd3 100644
--- a/src/plugins/qmljseditor/qmljseditor.cpp
+++ b/src/plugins/qmljseditor/qmljseditor.cpp
@@ -608,7 +608,7 @@ Id QmlJSEditor::id() const
 bool QmlJSEditor::open(QString *errorString, const QString &fileName, const QString &realFileName)
 {
     bool b = TextEditor::BaseTextEditor::open(errorString, fileName, realFileName);
-    editorWidget()->setMimeType(MimeDatabase::findByFile(QFileInfo(fileName)).type());
+    baseTextDocument()->setMimeType(MimeDatabase::findByFile(QFileInfo(fileName)).type());
     return b;
 }
 
diff --git a/src/plugins/subversion/subversionplugin.cpp b/src/plugins/subversion/subversionplugin.cpp
index e6faebde04a1dd0121a5cb47e6034ffe8179ad16..cd8de10eb4cb881de162db98e7741af1f2313d41 100644
--- a/src/plugins/subversion/subversionplugin.cpp
+++ b/src/plugins/subversion/subversionplugin.cpp
@@ -1031,7 +1031,7 @@ Core::IEditor *SubversionPlugin::showOutputInEditor(const QString &title, const
         return 0;
     e->setForceReadOnly(true);
     s.replace(QLatin1Char(' '), QLatin1Char('_'));
-    e->setSuggestedFileName(s);
+    e->baseTextDocument()->setSuggestedFileName(s);
     if (!source.isEmpty())
         e->setSource(source);
     if (codec)
diff --git a/src/plugins/texteditor/basetexteditor.cpp b/src/plugins/texteditor/basetexteditor.cpp
index 9358f93ba8c85adfeeba6f11e44ce13d5dd686aa..25f4d2fa6b561772f490f7f9aca851f36abc0292 100644
--- a/src/plugins/texteditor/basetexteditor.cpp
+++ b/src/plugins/texteditor/basetexteditor.cpp
@@ -285,16 +285,6 @@ BaseTextEditorWidget::~BaseTextEditorWidget()
     d = 0;
 }
 
-QString BaseTextEditorWidget::mimeType() const
-{
-    return d->m_document->mimeType();
-}
-
-void BaseTextEditorWidget::setMimeType(const QString &mt)
-{
-    d->m_document->setMimeType(mt);
-}
-
 void BaseTextEditorWidget::print(QPrinter *printer)
 {
     const bool oldFullPage = printer->fullPage();
@@ -2190,16 +2180,6 @@ bool BaseTextEditorWidget::restoreState(const QByteArray &state)
     return true;
 }
 
-void BaseTextEditorWidget::setDefaultPath(const QString &defaultPath)
-{
-    baseTextDocument()->setDefaultPath(defaultPath);
-}
-
-void BaseTextEditorWidget::setSuggestedFileName(const QString &suggestedFileName)
-{
-    baseTextDocument()->setSuggestedFileName(suggestedFileName);
-}
-
 void BaseTextEditorWidget::setParenthesesMatchingEnabled(bool b)
 {
     d->m_parenthesesMatchingEnabled = b;
diff --git a/src/plugins/texteditor/basetexteditor.h b/src/plugins/texteditor/basetexteditor.h
index 5d65cd96ec22ed3aa477e08e7982cc18eb03197c..757e57b86ba29530ff23643f0dcf171c40deb27e 100644
--- a/src/plugins/texteditor/basetexteditor.h
+++ b/src/plugins/texteditor/basetexteditor.h
@@ -154,10 +154,6 @@ public:
 
     void print(QPrinter *);
 
-    void setSuggestedFileName(const QString &suggestedFileName);
-    QString mimeType() const;
-    virtual void setMimeType(const QString &mt);
-
     void appendMenuActionsFromContext(QMenu *menu, Core::Id menuContextId);
     void appendStandardContextMenuActions(QMenu *menu);
 
@@ -355,8 +351,6 @@ private:
     void collectToCircularClipboard();
 
 protected:
-    void setDefaultPath(const QString &defaultPath);
-
     virtual BaseTextEditor *createEditor() = 0;
 
 private slots:
diff --git a/src/plugins/texteditor/plaintexteditor.cpp b/src/plugins/texteditor/plaintexteditor.cpp
index 09d0f5b7bec61f0f1d5c6f5fd9a1519e3f85c4fd..4ffc4ec08dfbcf75ac08dd18b3fe2971c3d04cff 100644
--- a/src/plugins/texteditor/plaintexteditor.cpp
+++ b/src/plugins/texteditor/plaintexteditor.cpp
@@ -83,7 +83,7 @@ void PlainTextEditorWidget::ctor()
     setLineSeparatorsAllowed(true);
     setIndenter(new NormalIndenter); // Currently only "normal" indentation is supported.
 
-    setMimeType(QLatin1String(TextEditor::Constants::C_TEXTEDITOR_MIMETYPE_TEXT));
+    baseTextDocument()->setMimeType(QLatin1String(TextEditor::Constants::C_TEXTEDITOR_MIMETYPE_TEXT));
 
     m_commentDefinition.clearCommentStyles();
 
@@ -146,7 +146,7 @@ void PlainTextEditorWidget::configure(const MimeType &mimeType)
 
         setMimeTypeForHighlighter(highlighter, mimeType);
         const QString &type = mimeType.type();
-        setMimeType(type);
+        baseTextDocument()->setMimeType(type);
 
         QString definitionId = Manager::instance()->definitionIdByMimeType(type);
         if (definitionId.isEmpty())
diff --git a/src/plugins/vcsbase/basevcseditorfactory.cpp b/src/plugins/vcsbase/basevcseditorfactory.cpp
index 346eed104326b5c61d293ffcd86b72b13b73be73..ea2fdf5b397b6c3b798080cd025aa1568a7ffeff 100644
--- a/src/plugins/vcsbase/basevcseditorfactory.cpp
+++ b/src/plugins/vcsbase/basevcseditorfactory.cpp
@@ -81,7 +81,7 @@ Core::IEditor *BaseVcsEditorFactory::createEditor()
 {
     VcsBaseEditorWidget *vcsEditor = createVcsBaseEditor(d->m_type);
 
-    vcsEditor->setMimeType(mimeTypes().front());
+    vcsEditor->baseTextDocument()->setMimeType(mimeTypes().front());
 
     TextEditor::TextEditorSettings::initializeEditor(vcsEditor);
     return vcsEditor->editor();
diff --git a/src/plugins/vcsbase/vcsbaseeditor.cpp b/src/plugins/vcsbase/vcsbaseeditor.cpp
index acb1ccb008954af8c5cc924751f51d52c3bdeb37..571997717002b3d1ed899bd82ed00da305193db1 100644
--- a/src/plugins/vcsbase/vcsbaseeditor.cpp
+++ b/src/plugins/vcsbase/vcsbaseeditor.cpp
@@ -657,7 +657,7 @@ VcsBaseEditorWidget::VcsBaseEditorWidget(const VcsBaseEditorParameters *type, QW
     d(new Internal::VcsBaseEditorWidgetPrivate(this, type))
 {
     viewport()->setMouseTracking(true);
-    setMimeType(QLatin1String(d->m_parameters->mimeType));
+    baseTextDocument()->setMimeType(QLatin1String(d->m_parameters->mimeType));
 }
 
 void VcsBaseEditorWidget::setDiffFilePattern(const QRegExp &pattern)