diff --git a/src/plugins/plugins.pro b/src/plugins/plugins.pro
index 00b4c4d6dac169fa6cfc5c553ecd17c489c902b4..047e9c031852e79535432454ad4746cf42fa674c 100644
--- a/src/plugins/plugins.pro
+++ b/src/plugins/plugins.pro
@@ -40,7 +40,7 @@ contains(QT_CONFIG, declarative) {
     SUBDIRS += plugin_qmlprojectmanager \
                plugin_qmlinspector
 
-    exists($$[QT_INSTALL_HEADERS]/QtDeclarative/private/qmlcontext_p.h) {
+    exists($$[QT_INSTALL_HEADERS]/QtDeclarative/private/qdeclarativecontext_p.h) {
         SUBDIRS += plugin_qmldesigner
     } else {
         warning("QmlDesigner plugin disabled! It depends on private headers from QtDeclarative module, which seems not to be installed.")
diff --git a/src/plugins/qmlprojectmanager/fileformat/filefilteritems.cpp b/src/plugins/qmlprojectmanager/fileformat/filefilteritems.cpp
index 43cb7d252d6baa87e6e64ea6a802e49d20752a21..d2726f9872ddb84c18e0bf0b9ea0afdd5759c895 100644
--- a/src/plugins/qmlprojectmanager/fileformat/filefilteritems.cpp
+++ b/src/plugins/qmlprojectmanager/fileformat/filefilteritems.cpp
@@ -235,7 +235,3 @@ CssFileFilterItem::CssFileFilterItem(QObject *parent)
 
 } // namespace QmlProjectManager
 
-QML_DEFINE_TYPE(QmlProject,1,0,QmlFiles,QmlProjectManager::QmlFileFilterItem)
-QML_DEFINE_TYPE(QmlProject,1,0,JavaScriptFiles,QmlProjectManager::JsFileFilterItem)
-QML_DEFINE_TYPE(QmlProject,1,0,ImageFiles,QmlProjectManager::ImageFileFilterItem)
-QML_DEFINE_TYPE(QmlProject,1,0,CssFiles,QmlProjectManager::CssFileFilterItem)
diff --git a/src/plugins/qmlprojectmanager/fileformat/filefilteritems.h b/src/plugins/qmlprojectmanager/fileformat/filefilteritems.h
index 90178927f19b1fc5ef394c9731a7167af1587c38..ef85d58b8546999083e4dd74522f2634f3825aa6 100644
--- a/src/plugins/qmlprojectmanager/fileformat/filefilteritems.h
+++ b/src/plugins/qmlprojectmanager/fileformat/filefilteritems.h
@@ -4,7 +4,7 @@
 #include <QDir>
 #include <QObject>
 #include <QSet>
-#include <qml.h>
+#include <qdeclarative.h>
 #include <QFileSystemWatcher>
 
 #include "qmlprojectitem.h"
diff --git a/src/plugins/qmlprojectmanager/fileformat/fileformat.pri b/src/plugins/qmlprojectmanager/fileformat/fileformat.pri
index 278e85e6c57593a65316d11f34cefd3dd910a133..5edc94b4c915d2e79e4479470ca700f1419661d2 100644
--- a/src/plugins/qmlprojectmanager/fileformat/fileformat.pri
+++ b/src/plugins/qmlprojectmanager/fileformat/fileformat.pri
@@ -1,4 +1,6 @@
 HEADERS += $$PWD/qmlprojectitem.h \
-           $$PWD/filefilteritems.h
+           $$PWD/filefilteritems.h \
+           $$PWD/qmlprojectfileformat.h
 SOURCES += $$PWD/qmlprojectitem.cpp \
-           $$PWD/filefilteritems.cpp
+           $$PWD/filefilteritems.cpp \
+           $$PWD/qmlprojectfileformat.cpp
diff --git a/src/plugins/qmlprojectmanager/fileformat/qmlprojectfileformat.cpp b/src/plugins/qmlprojectmanager/fileformat/qmlprojectfileformat.cpp
new file mode 100644
index 0000000000000000000000000000000000000000..46aab1617d3f5d403afb7f8c09f222d91ac9fb22
--- /dev/null
+++ b/src/plugins/qmlprojectmanager/fileformat/qmlprojectfileformat.cpp
@@ -0,0 +1,20 @@
+#include "qmlprojectfileformat.h"
+#include "qmlprojectitem.h"
+#include "filefilteritems.h"
+
+#include <qdeclarative.h>
+
+namespace QmlProjectManager {
+
+void QmlProjectFileFormat::registerDeclarativeTypes()
+{
+    QML_REGISTER_NOCREATE_TYPE(QmlProjectManager::QmlProjectContentItem);
+    QML_REGISTER_TYPE(QmlProject,1,0,Project,QmlProjectManager::QmlProjectItem);
+
+    QML_REGISTER_TYPE(QmlProject,1,0,QmlFiles,QmlProjectManager::QmlFileFilterItem);
+    QML_REGISTER_TYPE(QmlProject,1,0,JavaScriptFiles,QmlProjectManager::JsFileFilterItem);
+    QML_REGISTER_TYPE(QmlProject,1,0,ImageFiles,QmlProjectManager::ImageFileFilterItem);
+    QML_REGISTER_TYPE(QmlProject,1,0,CssFiles,QmlProjectManager::CssFileFilterItem);
+}
+
+} // namespace QmlProjectManager
diff --git a/src/plugins/qmlprojectmanager/fileformat/qmlprojectfileformat.h b/src/plugins/qmlprojectmanager/fileformat/qmlprojectfileformat.h
new file mode 100644
index 0000000000000000000000000000000000000000..675e553223f9b34c84adb6918021e9cd101020b5
--- /dev/null
+++ b/src/plugins/qmlprojectmanager/fileformat/qmlprojectfileformat.h
@@ -0,0 +1,13 @@
+#ifndef QMLPROJECTFILEFORMAT_H
+#define QMLPROJECTFILEFORMAT_H
+
+namespace QmlProjectManager {
+
+class QmlProjectFileFormat {
+public:
+    static void registerDeclarativeTypes();
+};
+
+} // namespace QmlProjectManager
+
+#endif // QMLPROJECTFILEFORMAT_H
diff --git a/src/plugins/qmlprojectmanager/fileformat/qmlprojectitem.cpp b/src/plugins/qmlprojectmanager/fileformat/qmlprojectitem.cpp
index 40ad97937f4c38589ec4a0ccdeffd9a389338c51..9dbb4fc4f6078a0b81c22ca97ff5ee2c6499b631 100644
--- a/src/plugins/qmlprojectmanager/fileformat/qmlprojectitem.cpp
+++ b/src/plugins/qmlprojectmanager/fileformat/qmlprojectitem.cpp
@@ -45,10 +45,10 @@ QmlProjectItem::~QmlProjectItem()
     delete d_ptr;
 }
 
-QmlListProperty<QmlProjectContentItem> QmlProjectItem::content()
+QDeclarativeListProperty<QmlProjectContentItem> QmlProjectItem::content()
 {
     Q_D(QmlProjectItem);
-    return QmlListProperty<QmlProjectContentItem>(this, d->content);
+    return QDeclarativeListProperty<QmlProjectContentItem>(this, d->content);
 }
 
 QString QmlProjectItem::sourceDirectory() const
@@ -137,7 +137,4 @@ bool QmlProjectItem::matchesFile(const QString &filePath) const
 
 } // namespace QmlProjectManager
 
-QML_DEFINE_NOCREATE_TYPE(QmlProjectManager::QmlProjectContentItem)
-QML_DEFINE_TYPE(QmlProject,1,0,Project,QmlProjectManager::QmlProjectItem)
-
 #include "qmlprojectitem.moc"
diff --git a/src/plugins/qmlprojectmanager/fileformat/qmlprojectitem.h b/src/plugins/qmlprojectmanager/fileformat/qmlprojectitem.h
index ade9791b5f28943026b4113601b3d623a38ed92f..e68b58ab8b628660d2487382cc2ee2ba98f4f9f8 100644
--- a/src/plugins/qmlprojectmanager/fileformat/qmlprojectitem.h
+++ b/src/plugins/qmlprojectmanager/fileformat/qmlprojectitem.h
@@ -1,8 +1,9 @@
-#ifndef PROJECTITEM_H
-#define PROJECTITEM_H
+#ifndef QMLPROJECTITEM_H
+#define QMLPROJECTITEM_H
 
-#include <QtCore/QObject>
-#include <qml.h>
+#include <QObject>
+#include <QStringList>
+#include <qdeclarative.h>
 
 namespace QmlProjectManager {
 
@@ -21,7 +22,7 @@ class QmlProjectItem : public QObject {
     Q_DECLARE_PRIVATE(QmlProjectItem)
     Q_DISABLE_COPY(QmlProjectItem)
 
-    Q_PROPERTY(QmlListProperty<QmlProjectManager::QmlProjectContentItem> content READ content DESIGNABLE false)
+    Q_PROPERTY(QDeclarativeListProperty<QmlProjectManager::QmlProjectContentItem> content READ content DESIGNABLE false)
     Q_PROPERTY(QString sourceDirectory READ sourceDirectory NOTIFY sourceDirectoryChanged)
     Q_PROPERTY(QStringList libraryPaths READ libraryPaths WRITE setLibraryPaths NOTIFY libraryPathsChanged)
 
@@ -31,7 +32,7 @@ public:
     QmlProjectItem(QObject *parent = 0);
     ~QmlProjectItem();
 
-    QmlListProperty<QmlProjectContentItem> content();
+    QDeclarativeListProperty<QmlProjectContentItem> content();
 
     QString sourceDirectory() const;
     void setSourceDirectory(const QString &directoryPath);
@@ -57,5 +58,4 @@ QML_DECLARE_TYPE(QmlProjectManager::QmlProjectItem);
 QML_DECLARE_TYPE(QmlProjectManager::QmlProjectContentItem);
 Q_DECLARE_METATYPE(QList<QmlProjectManager::QmlProjectContentItem *>);
 
-
-#endif // PROJECTITEM_H
+#endif // QMLPROJECTITEM_H
diff --git a/src/plugins/qmlprojectmanager/qmlproject.cpp b/src/plugins/qmlprojectmanager/qmlproject.cpp
index 975c5a623c020ded37541f86133197742427440a..3ee9d071ec0c7ce3373320c9efb0f9750959063d 100644
--- a/src/plugins/qmlprojectmanager/qmlproject.cpp
+++ b/src/plugins/qmlprojectmanager/qmlproject.cpp
@@ -39,7 +39,7 @@
 #include <qmljseditor/qmljsmodelmanagerinterface.h>
 
 #include <QTextStream>
-#include <QmlComponent>
+#include <QDeclarativeComponent>
 #include <QtDebug>
 
 namespace QmlProjectManager {
@@ -88,7 +88,7 @@ void QmlProject::parseProject(RefreshOptions options)
         if (!m_projectItem) {
             QFile file(m_fileName);
             if (file.open(QFile::ReadOnly)) {
-                QmlComponent *component = new QmlComponent(&m_engine, this);
+                QDeclarativeComponent *component = new QDeclarativeComponent(&m_engine, this);
                 component->setData(file.readAll(), QUrl::fromLocalFile(m_fileName));
                 if (component->isReady()
                     && qobject_cast<QmlProjectItem*>(component->create())) {
diff --git a/src/plugins/qmlprojectmanager/qmlproject.h b/src/plugins/qmlprojectmanager/qmlproject.h
index 3e209e53fadc7ecdca8d8a8f0fe2c12567614c49..bdb2f00772c21df18861c51287e318620ca2bb2a 100644
--- a/src/plugins/qmlprojectmanager/qmlproject.h
+++ b/src/plugins/qmlprojectmanager/qmlproject.h
@@ -37,7 +37,7 @@
 
 #include <projectexplorer/project.h>
 
-#include <QtDeclarative/QmlEngine>
+#include <QtDeclarative/QDeclarativeEngine>
 
 namespace QmlJSEditor {
 class ModelManagerInterface;
@@ -125,7 +125,7 @@ private:
     QStringList m_files;
 
     // qml based, new format
-    QmlEngine m_engine;
+    QDeclarativeEngine m_engine;
     QWeakPointer<QmlProjectItem> m_projectItem;
     ProjectExplorer::FileWatcher *m_fileWatcher;
 
diff --git a/src/plugins/qmlprojectmanager/qmlprojectmanagerconstants.h b/src/plugins/qmlprojectmanager/qmlprojectmanagerconstants.h
index 27e86ae84c8004a566b1fa875199a67fc8a6731b..735505174caac648b3c5494e9259c65c149ed788 100644
--- a/src/plugins/qmlprojectmanager/qmlprojectmanagerconstants.h
+++ b/src/plugins/qmlprojectmanager/qmlprojectmanagerconstants.h
@@ -34,8 +34,8 @@ namespace Constants {
 
 const char * const QML_RC_ID("QmlProjectManager.QmlRunConfiguration");
 const char * const QML_RC_DISPLAY_NAME(QT_TRANSLATE_NOOP("QmlProjectManager::Internal::QmlRunConfiguration", "QML Viewer"));
-const char * const QML_VIEWER_KEY("QmlProjectManager.QmlRunConfiguration.QmlViewer");
-const char * const QML_VIEWER_ARGUMENTS_KEY("QmlProjectManager.QmlRunConfiguration.QmlViewerArguments");
+const char * const QML_VIEWER_KEY("QmlProjectManager.QmlRunConfiguration.QDeclarativeViewer");
+const char * const QML_VIEWER_ARGUMENTS_KEY("QmlProjectManager.QmlRunConfiguration.QDeclarativeViewerArguments");
 const char * const QML_VIEWER_TARGET_ID("QmlProjectManager.QmlTarget");
 const char * const QML_VIEWER_TARGET_DISPLAY_NAME("QML Viewer");
 const char * const QML_MAINSCRIPT_KEY("QmlProjectManager.QmlRunConfiguration.MainScript");
diff --git a/src/plugins/qmlprojectmanager/qmlprojectplugin.cpp b/src/plugins/qmlprojectmanager/qmlprojectplugin.cpp
index 64dc9501c7fbf2279a5d73fe58f85a559effa2f2..28ecb33a2be8fe6838b22b25c50fd66ebe6233cf 100644
--- a/src/plugins/qmlprojectmanager/qmlprojectplugin.cpp
+++ b/src/plugins/qmlprojectmanager/qmlprojectplugin.cpp
@@ -36,6 +36,7 @@
 #include "qmlprojectrunconfigurationfactory.h"
 #include "qmlprojectruncontrol.h"
 #include "qmltaskmanager.h"
+#include "fileformat/qmlprojectfileformat.h"
 
 #include <extensionsystem/pluginmanager.h>
 
@@ -81,6 +82,9 @@ bool QmlProjectPlugin::initialize(const QStringList &, QString *errorMessage)
     addAutoReleasedObject(new Internal::QmlRunControlFactory);
     addAutoReleasedObject(new QmlProjectApplicationWizard);
     addAutoReleasedObject(new QmlProjectImportWizard);
+
+    QmlProjectFileFormat::registerDeclarativeTypes();
+
     return true;
 }
 
diff --git a/src/plugins/qmlprojectmanager/qmlprojectrunconfiguration.cpp b/src/plugins/qmlprojectmanager/qmlprojectrunconfiguration.cpp
index 2d98f98ff6cff436a91508691cdeb5523f039617..6d1606f00008cbe409205fc41f415b31f8e52a02 100644
--- a/src/plugins/qmlprojectmanager/qmlprojectrunconfiguration.cpp
+++ b/src/plugins/qmlprojectmanager/qmlprojectrunconfiguration.cpp
@@ -164,11 +164,11 @@ QWidget *QmlProjectRunConfiguration::configurationWidget()
     Utils::PathChooser *qmlViewer = new Utils::PathChooser;
     qmlViewer->setExpectedKind(Utils::PathChooser::Command);
     qmlViewer->setPath(viewerPath());
-    connect(qmlViewer, SIGNAL(changed(QString)), this, SLOT(onQmlViewerChanged()));
+    connect(qmlViewer, SIGNAL(changed(QString)), this, SLOT(onViewerChanged()));
 
     QLineEdit *qmlViewerArgs = new QLineEdit;
     qmlViewerArgs->setText(m_qmlViewerArgs);
-    connect(qmlViewerArgs, SIGNAL(textChanged(QString)), this, SLOT(onQmlViewerArgsChanged()));
+    connect(qmlViewerArgs, SIGNAL(textChanged(QString)), this, SLOT(onViewerArgsChanged()));
 
     QLineEdit *debugServer = new QLineEdit;
     debugServer->setText(m_debugServerAddress);
@@ -212,14 +212,14 @@ void QmlProjectRunConfiguration::setMainScript(const QString &scriptFile)
     m_scriptFile = scriptFile;
 }
 
-void QmlProjectRunConfiguration::onQmlViewerChanged()
+void QmlProjectRunConfiguration::onViewerChanged()
 {
     if (Utils::PathChooser *chooser = qobject_cast<Utils::PathChooser *>(sender())) {
         m_qmlViewerCustomPath = chooser->path();
     }
 }
 
-void QmlProjectRunConfiguration::onQmlViewerArgsChanged()
+void QmlProjectRunConfiguration::onViewerArgsChanged()
 {
     if (QLineEdit *lineEdit = qobject_cast<QLineEdit*>(sender()))
         m_qmlViewerArgs = lineEdit->text();
diff --git a/src/plugins/qmlprojectmanager/qmlprojectrunconfiguration.h b/src/plugins/qmlprojectmanager/qmlprojectrunconfiguration.h
index b13fdb011cbc27d102eca2844e9b7b1e4b43256d..d2954bcc04c17a1d45ec1d5deb685cf2627476ea 100644
--- a/src/plugins/qmlprojectmanager/qmlprojectrunconfiguration.h
+++ b/src/plugins/qmlprojectmanager/qmlprojectrunconfiguration.h
@@ -65,8 +65,8 @@ public:
 private slots:
     QString mainScript() const;
     void setMainScript(const QString &scriptFile);
-    void onQmlViewerChanged();
-    void onQmlViewerArgsChanged();
+    void onViewerChanged();
+    void onViewerArgsChanged();
     void onDebugServerAddressChanged();
     void onDebugServerPortChanged();
 
diff --git a/src/plugins/qmlprojectmanager/qmlprojectruncontrol.cpp b/src/plugins/qmlprojectmanager/qmlprojectruncontrol.cpp
index b947d6a8604be5ff245ef7a9937662a5358964b3..c9ea23b80d30a1dc868adfcda81b0506ef56e97e 100644
--- a/src/plugins/qmlprojectmanager/qmlprojectruncontrol.cpp
+++ b/src/plugins/qmlprojectmanager/qmlprojectruncontrol.cpp
@@ -112,7 +112,7 @@ void QmlRunControl::slotError(const QString &err)
 
 void QmlRunControl::slotAddToOutputWindow(const QString &line)
 {
-    if (m_debugMode && line.startsWith("QmlDebugServer: Waiting for connection")) {
+    if (m_debugMode && line.startsWith("QDeclarativeDebugServer: Waiting for connection")) {
         Core::ICore *core = Core::ICore::instance();
         core->modeManager()->activateMode(Debugger::Constants::MODE_DEBUG);
     }