From 2f42544780ad2a2b8d4948d360b9a1e39c3be654 Mon Sep 17 00:00:00 2001 From: Olivier Goffart <olivier.goffart@nokia.com> Date: Thu, 22 Jul 2010 16:26:38 +0200 Subject: [PATCH] QML JS Debugger: Better support of QObject --- src/tools/qml/qmlobserver/jsdebuggeragent.cpp | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/src/tools/qml/qmlobserver/jsdebuggeragent.cpp b/src/tools/qml/qmlobserver/jsdebuggeragent.cpp index 57f8eb97b66..9b2f3295d3c 100644 --- a/src/tools/qml/qmlobserver/jsdebuggeragent.cpp +++ b/src/tools/qml/qmlobserver/jsdebuggeragent.cpp @@ -92,16 +92,16 @@ struct JSAgentWatchData { data.type = QLatin1String("String"); } else if (value.isVariant()) { data.type = QLatin1String("Variant"); + } else if (value.isQObject()) { + const QObject *obj = value.toQObject(); + data.value = QString::fromLatin1("[%1]").arg(obj->metaObject()->className()); + data.type = QLatin1String("Object"); + data.hasChildren = true; } else if (value.isObject()) { data.type = QLatin1String("Object"); data.hasChildren = true; + data.type = QLatin1String("Object"); data.value = QLatin1String("[Object]"); -/* } else if (value.isQMetaObject()) { - data.setType(QLatin1String("QMetaObject"), false); - data.setValue(QString(QLatin1Char(' '))); - } else if (value.isQObject()) { - data.type = QLatin1String("QObject"); - data.hasChildren = true;*/ } else if (value.isNull()) { data.type = QLatin1String("<null>"); } else { @@ -123,6 +123,8 @@ static QList<JSAgentWatchData> expandObject(const QScriptValue &object) QScriptValueIterator it(object); while (it.hasNext()) { it.next(); + if (it.flags() & QScriptValue::SkipInEnumeration) + continue; result << JSAgentWatchData::fromScriptValue(it.name(), it.value()); } return result; -- GitLab