diff options
author | Christian Kamm <christian.d.kamm@nokia.com> | 2011-11-21 10:34:40 +0100 |
---|---|---|
committer | Qt by Nokia <qt-info@nokia.com> | 2011-11-22 12:16:13 +0100 |
commit | 774eebf9978ac3bf68b124a9e88729cd21068433 (patch) | |
tree | 67acb235fade1689232d8624e80fd82736e9171d /tools | |
parent | 64b26c6bdac01ec8017c51c5d3e2e21bd997605b (diff) |
qmlplugindump: Fix QObject dump.
* Hide deleteLater and the destroyed signal.
* Add destroy and toString functions.
Task-number: QTCREATORBUG-4903
Change-Id: Icbae3e1c82605baa84ac9cc8f38cd747e4dcf687
Reviewed-by: Michael Brasser <michael.brasser@nokia.com>
Diffstat (limited to 'tools')
-rw-r--r-- | tools/qmlplugindump/main.cpp | 32 |
1 files changed, 30 insertions, 2 deletions
diff --git a/tools/qmlplugindump/main.cpp b/tools/qmlplugindump/main.cpp index 4dd3fe9871..d52469a5c5 100644 --- a/tools/qmlplugindump/main.cpp +++ b/tools/qmlplugindump/main.cpp @@ -374,8 +374,36 @@ public: implicitSignals.insert(QString("%1Changed").arg(QString::fromUtf8(property.name()))); } - for (int index = meta->methodOffset(); index < meta->methodCount(); ++index) - dump(meta->method(index), implicitSignals); + if (meta == &QObject::staticMetaObject) { + // for QObject, hide deleteLater() and onDestroyed + for (int index = meta->methodOffset(); index < meta->methodCount(); ++index) { + QMetaMethod method = meta->method(index); + const char *signature(method.signature()); + if (signature == QLatin1String("destroyed(QObject*)") + || signature == QLatin1String("destroyed()") + || signature == QLatin1String("deleteLater()")) + continue; + dump(method, implicitSignals); + } + + // and add toString(), destroy() and destroy(int) + qml->writeStartObject(QLatin1String("Method")); + qml->writeScriptBinding(QLatin1String("name"), enquote(QLatin1String("toString"))); + qml->writeEndObject(); + qml->writeStartObject(QLatin1String("Method")); + qml->writeScriptBinding(QLatin1String("name"), enquote(QLatin1String("destroy"))); + qml->writeEndObject(); + qml->writeStartObject(QLatin1String("Method")); + qml->writeScriptBinding(QLatin1String("name"), enquote(QLatin1String("destroy"))); + qml->writeStartObject(QLatin1String("Parameter")); + qml->writeScriptBinding(QLatin1String("name"), enquote(QLatin1String("delay"))); + qml->writeScriptBinding(QLatin1String("type"), enquote(QLatin1String("int"))); + qml->writeEndObject(); + qml->writeEndObject(); + } else { + for (int index = meta->methodOffset(); index < meta->methodCount(); ++index) + dump(meta->method(index), implicitSignals); + } qml->writeEndObject(); } |