diff --git a/src/plugins/diffeditor/diffeditorfactory.cpp b/src/plugins/diffeditor/diffeditorfactory.cpp
index 44363d69a7ac978f418b1efd4147103e67f6f9bf..1a84d13a08d06d92f63872ee109347bab22ce039 100644
--- a/src/plugins/diffeditor/diffeditorfactory.cpp
+++ b/src/plugins/diffeditor/diffeditorfactory.cpp
@@ -39,19 +39,11 @@ namespace DiffEditor {
 namespace Internal {
 
 DiffEditorFactory::DiffEditorFactory(QObject *parent)
-    : IEditorFactory(parent),
-      m_mimeTypes(QLatin1String(Constants::DIFF_EDITOR_MIMETYPE))
+    : IEditorFactory(parent)
 {
-}
-
-Core::Id DiffEditorFactory::id() const
-{
-    return Constants::DIFF_EDITOR_ID;
-}
-
-QString DiffEditorFactory::displayName() const
-{
-    return qApp->translate("DiffEditorFactory", Constants::DIFF_EDITOR_DISPLAY_NAME);
+    setId(Constants::DIFF_EDITOR_ID);
+    setDisplayName(qApp->translate("DiffEditorFactory", Constants::DIFF_EDITOR_DISPLAY_NAME));
+    addMimeType(QLatin1String(Constants::DIFF_EDITOR_MIMETYPE));
 }
 
 Core::IEditor *DiffEditorFactory::createEditor(QWidget *parent)
@@ -61,10 +53,5 @@ Core::IEditor *DiffEditorFactory::createEditor(QWidget *parent)
     return editor;
 }
 
-QStringList DiffEditorFactory::mimeTypes() const
-{
-    return m_mimeTypes;
-}
-
 } // namespace Internal
 } // namespace DiffEditor
diff --git a/src/plugins/diffeditor/diffeditorfactory.h b/src/plugins/diffeditor/diffeditorfactory.h
index 28d702771f9e23105f845783028a2e2b3101843e..a21af4d1fb3321f32eff50d6c22b17392556500f 100644
--- a/src/plugins/diffeditor/diffeditorfactory.h
+++ b/src/plugins/diffeditor/diffeditorfactory.h
@@ -47,13 +47,7 @@ class DiffEditorFactory : public Core::IEditorFactory
 public:
     explicit DiffEditorFactory(QObject *parent);
 
-    QStringList mimeTypes() const;
     Core::IEditor *createEditor(QWidget *parent);
-    Core::Id id() const;
-    QString displayName() const;
-
-private:
-    const QStringList m_mimeTypes;
 };
 
 } // namespace Internal
diff --git a/src/plugins/diffeditor/diffshoweditorfactory.cpp b/src/plugins/diffeditor/diffshoweditorfactory.cpp
index eaabf322685a9507abac83ba48eecadba3682120..6597795b50114005b0177fa222d37d05a929c87b 100644
--- a/src/plugins/diffeditor/diffshoweditorfactory.cpp
+++ b/src/plugins/diffeditor/diffshoweditorfactory.cpp
@@ -39,19 +39,11 @@ namespace DiffEditor {
 namespace Internal {
 
 DiffShowEditorFactory::DiffShowEditorFactory(QObject *parent)
-    : IEditorFactory(parent),
-      m_mimeTypes(QLatin1String(Constants::DIFF_EDITOR_MIMETYPE))
+    : IEditorFactory(parent)
 {
-}
-
-Core::Id DiffShowEditorFactory::id() const
-{
-    return Constants::DIFF_SHOW_EDITOR_ID;
-}
-
-QString DiffShowEditorFactory::displayName() const
-{
-    return qApp->translate("DiffEditorFactory", Constants::DIFF_SHOW_EDITOR_DISPLAY_NAME);
+    setId(Constants::DIFF_SHOW_EDITOR_ID);
+    setDisplayName(qApp->translate("DiffEditorFactory", Constants::DIFF_SHOW_EDITOR_DISPLAY_NAME));
+    setMimeTypes(QStringList() << QLatin1String(Constants::DIFF_EDITOR_MIMETYPE));
 }
 
 Core::IEditor *DiffShowEditorFactory::createEditor(QWidget *parent)
@@ -61,10 +53,5 @@ Core::IEditor *DiffShowEditorFactory::createEditor(QWidget *parent)
     return editor;
 }
 
-QStringList DiffShowEditorFactory::mimeTypes() const
-{
-    return m_mimeTypes;
-}
-
 } // namespace Internal
 } // namespace DiffEditor
diff --git a/src/plugins/diffeditor/diffshoweditorfactory.h b/src/plugins/diffeditor/diffshoweditorfactory.h
index 520b42ff3ea1cfd2d71b56776dc8060364d67013..25f5285dbe8f07ff4dcedec6ccfef1a54ab6bc9f 100644
--- a/src/plugins/diffeditor/diffshoweditorfactory.h
+++ b/src/plugins/diffeditor/diffshoweditorfactory.h
@@ -47,13 +47,7 @@ class DiffShowEditorFactory : public Core::IEditorFactory
 public:
     explicit DiffShowEditorFactory(QObject *parent);
 
-    QStringList mimeTypes() const;
     Core::IEditor *createEditor(QWidget *parent);
-    Core::Id id() const;
-    QString displayName() const;
-
-private:
-    const QStringList m_mimeTypes;
 };
 
 } // namespace Internal