diff options
author | Bea Lam <bea.lam@nokia.com> | 2009-11-02 01:16:02 (GMT) |
---|---|---|
committer | Bea Lam <bea.lam@nokia.com> | 2009-11-02 01:16:02 (GMT) |
commit | 55e2858f2146d72bc43bde850dbec0cf7aa055e6 (patch) | |
tree | ad72f4c53cc62bb285d56b0037c048b635115fce /src/declarative/debugger | |
parent | 37b5b477a044929bf69fe5f7251f2b5cbd892d93 (diff) | |
download | Qt-55e2858f2146d72bc43bde850dbec0cf7aa055e6.zip Qt-55e2858f2146d72bc43bde850dbec0cf7aa055e6.tar.gz Qt-55e2858f2146d72bc43bde850dbec0cf7aa055e6.tar.bz2 |
Make QmlBoundSignal children look like properties (instead of children)
in the debugger to reflect how signal properties are written in QML.
This also changes the FETCH_OBJECT reply stream to send children
data before property data.
Diffstat (limited to 'src/declarative/debugger')
-rw-r--r-- | src/declarative/debugger/qmldebug.cpp | 42 |
1 files changed, 26 insertions, 16 deletions
diff --git a/src/declarative/debugger/qmldebug.cpp b/src/declarative/debugger/qmldebug.cpp index 5a8cda0..08d3d75 100644 --- a/src/declarative/debugger/qmldebug.cpp +++ b/src/declarative/debugger/qmldebug.cpp @@ -110,6 +110,15 @@ void QmlEngineDebugPrivate::decode(QDataStream &ds, QmlDebugObjectReference &o, if (simple) return; + int childCount; + bool recur; + ds >> childCount >> recur; + + for (int ii = 0; ii < childCount; ++ii) { + o.m_children.append(QmlDebugObjectReference()); + decode(ds, o.m_children.last(), !recur); + } + int propCount; ds >> propCount; @@ -122,25 +131,26 @@ void QmlEngineDebugPrivate::decode(QDataStream &ds, QmlDebugObjectReference &o, prop.m_binding = data.binding; prop.m_hasNotifySignal = data.hasNotifySignal; prop.m_valueTypeName = data.valueTypeName; - if (data.type == QmlEngineDebugServer::QmlObjectProperty::Basic - || data.type == QmlEngineDebugServer::QmlObjectProperty::List) { - prop.m_value = data.value; - } else if (data.type == QmlEngineDebugServer::QmlObjectProperty::Object) { - QmlDebugObjectReference obj; - obj.m_debugId = prop.m_value.toInt(); - prop.m_value = qVariantFromValue(obj); + switch (data.type) { + case QmlEngineDebugServer::QmlObjectProperty::Basic: + case QmlEngineDebugServer::QmlObjectProperty::List: + case QmlEngineDebugServer::QmlObjectProperty::SignalProperty: + { + prop.m_value = data.value; + break; + } + case QmlEngineDebugServer::QmlObjectProperty::Object: + { + QmlDebugObjectReference obj; + obj.m_debugId = prop.m_value.toInt(); + prop.m_value = qVariantFromValue(obj); + break; + } + case QmlEngineDebugServer::QmlObjectProperty::Unknown: + break; } o.m_properties << prop; } - - int childCount; - bool recur; - ds >> childCount >> recur; - - for (int ii = 0; ii < childCount; ++ii) { - o.m_children.append(QmlDebugObjectReference()); - decode(ds, o.m_children.last(), !recur); - } } void QmlEngineDebugPrivate::decode(QDataStream &ds, QmlDebugContextReference &c) |