summaryrefslogtreecommitdiffstats
path: root/tools/qmlplugindump/main.cpp
diff options
context:
space:
mode:
authorDavid Boddie <david.boddie@nokia.com>2011-06-17 11:54:16 (GMT)
committerDavid Boddie <david.boddie@nokia.com>2011-06-17 11:54:16 (GMT)
commit2b39081bf101e53a70ff056d527dc3dfb8208bf0 (patch)
treea8e57489e18dbdd620b8880eda5c8e2d77049a07 /tools/qmlplugindump/main.cpp
parent5e1112ec04dcef671700e326186ca56b790f7e08 (diff)
parentc390312f8fbea14ac4df0c5185ca814054f448d8 (diff)
downloadQt-2b39081bf101e53a70ff056d527dc3dfb8208bf0.zip
Qt-2b39081bf101e53a70ff056d527dc3dfb8208bf0.tar.gz
Qt-2b39081bf101e53a70ff056d527dc3dfb8208bf0.tar.bz2
Merge branch '4.8' of scm.dev.nokia.troll.no:qt/qt
Conflicts: doc/src/declarative/righttoleft.qdoc examples/draganddrop/fridgemagnets/main.cpp examples/script/context2d/main.cpp
Diffstat (limited to 'tools/qmlplugindump/main.cpp')
-rw-r--r--tools/qmlplugindump/main.cpp22
1 files changed, 16 insertions, 6 deletions
diff --git a/tools/qmlplugindump/main.cpp b/tools/qmlplugindump/main.cpp
index 5667c7a..f398358 100644
--- a/tools/qmlplugindump/main.cpp
+++ b/tools/qmlplugindump/main.cpp
@@ -65,6 +65,8 @@
#include <signal.h>
#endif
+QString pluginImportPath;
+
void collectReachableMetaObjects(const QMetaObject *meta, QSet<const QMetaObject *> *metas)
{
if (! meta || metas->contains(meta))
@@ -194,7 +196,7 @@ QSet<const QMetaObject *> collectReachableMetaObjects(const QString &importCode,
code += " {}\n";
QDeclarativeComponent c(engine);
- c.setData(code, QUrl("typeinstance"));
+ c.setData(code, QUrl::fromLocalFile(pluginImportPath + "/typeinstance.qml"));
QObject *object = c.create();
if (object)
@@ -334,6 +336,10 @@ private:
qml->writeStartObject("Property");
qml->writeScriptBinding(QLatin1String("name"), enquote(QString::fromUtf8(prop.name())));
+#if (QT_VERSION >= QT_VERSION_CHECK(4, 7, 4))
+ if (int revision = prop.revision())
+ qml->writeScriptBinding(QLatin1String("revision"), QString::number(revision));
+#endif
writeTypeProperties(prop.typeName(), prop.isWritable());
qml->writeEndObject();
@@ -362,6 +368,11 @@ private:
qml->writeScriptBinding(QLatin1String("name"), enquote(name));
+#if (QT_VERSION >= QT_VERSION_CHECK(4, 7, 4))
+ if (int revision = meth.revision())
+ qml->writeScriptBinding(QLatin1String("revision"), QString::number(revision));
+#endif
+
const QString typeName = convertToId(meth.typeName());
if (! typeName.isEmpty())
qml->writeScriptBinding(QLatin1String("type"), enquote(typeName));
@@ -451,7 +462,6 @@ int main(int argc, char *argv[])
QString pluginImportUri;
QString pluginImportVersion;
- QString pluginImportPath;
bool relocatable = true;
bool pathImport = false;
if (args.size() >= 3) {
@@ -488,7 +498,7 @@ int main(int argc, char *argv[])
qWarning() << "Incorrect number of positional arguments";
return EXIT_INVALIDARGUMENTS;
}
- pluginImportPath = positionalArgs[1];
+ pluginImportPath = QDir::fromNativeSeparators(positionalArgs[1]);
if (positionalArgs.size() == 3)
pluginImportVersion = positionalArgs[2];
}
@@ -500,7 +510,7 @@ int main(int argc, char *argv[])
engine->addImportPath(pluginImportPath);
// find all QMetaObjects reachable from the builtin module
- QByteArray importCode("import QtQuick 1.0\n");
+ QByteArray importCode("import QtQuick 1.1\n");
QSet<const QMetaObject *> defaultReachable = collectReachableMetaObjects(importCode, engine);
// this will hold the meta objects we want to dump information of
@@ -514,7 +524,7 @@ int main(int argc, char *argv[])
importCode += QString("import %0 %1\n").arg(pluginImportUri, pluginImportVersion).toAscii();
} else {
// pluginImportVersion can be empty
- importCode += QString("import \"%1\" %2\n").arg(pluginImportPath, pluginImportVersion).toAscii();
+ importCode += QString("import \".\" %2\n").arg(pluginImportVersion).toAscii();
}
// create a component with these imports to make sure the imports are valid
@@ -524,7 +534,7 @@ int main(int argc, char *argv[])
code += "QtObject {}";
QDeclarativeComponent c(engine);
- c.setData(code, QUrl("typelist"));
+ c.setData(code, QUrl::fromLocalFile(pluginImportPath + "/typelist.qml"));
c.create();
if (!c.errors().isEmpty()) {
foreach (const QDeclarativeError &error, c.errors())