From 4c59f3f2ce811deec85d191bda1462b130842117 Mon Sep 17 00:00:00 2001
From: Kai Koehne <kai.koehne@nokia.com>
Date: Fri, 26 Feb 2010 14:46:04 +0100
Subject: [PATCH] QmlProjectManager: Fix compilation with latest changes of
 QDeclarative

All files have been renamed from Qml to QDeclarative.
Registration of types is now done in an initializer method.
---
 src/plugins/plugins.pro                       |  2 +-
 .../fileformat/filefilteritems.cpp            |  4 ----
 .../fileformat/filefilteritems.h              |  2 +-
 .../fileformat/fileformat.pri                 |  6 ++++--
 .../fileformat/qmlprojectfileformat.cpp       | 20 +++++++++++++++++++
 .../fileformat/qmlprojectfileformat.h         | 13 ++++++++++++
 .../fileformat/qmlprojectitem.cpp             |  7 ++-----
 .../fileformat/qmlprojectitem.h               | 16 +++++++--------
 src/plugins/qmlprojectmanager/qmlproject.cpp  |  4 ++--
 src/plugins/qmlprojectmanager/qmlproject.h    |  4 ++--
 .../qmlprojectmanagerconstants.h              |  4 ++--
 .../qmlprojectmanager/qmlprojectplugin.cpp    |  4 ++++
 .../qmlprojectrunconfiguration.cpp            |  8 ++++----
 .../qmlprojectrunconfiguration.h              |  4 ++--
 .../qmlprojectruncontrol.cpp                  |  2 +-
 15 files changed, 66 insertions(+), 34 deletions(-)
 create mode 100644 src/plugins/qmlprojectmanager/fileformat/qmlprojectfileformat.cpp
 create mode 100644 src/plugins/qmlprojectmanager/fileformat/qmlprojectfileformat.h

diff --git a/src/plugins/plugins.pro b/src/plugins/plugins.pro
index 00b4c4d6dac..047e9c03185 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 43cb7d252d6..d2726f9872d 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 90178927f19..ef85d58b854 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 278e85e6c57..5edc94b4c91 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 00000000000..46aab1617d3
--- /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 00000000000..675e553223f
--- /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 40ad97937f4..9dbb4fc4f60 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 ade9791b5f2..e68b58ab8b6 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 975c5a623c0..3ee9d071ec0 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 3e209e53fad..bdb2f00772c 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 27e86ae84c8..735505174ca 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 64dc9501c7f..28ecb33a2be 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 2d98f98ff6c..6d1606f0000 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 b13fdb011cb..d2954bcc04c 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 b947d6a8604..c9ea23b80d3 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);
     }
-- 
GitLab