QmlDebugger: Watchers

Reviewed-by: hjk
This commit is contained in:
Christiaan Janssen
2011-02-23 16:09:56 +01:00
parent 6b123c9869
commit fd66f68671
5 changed files with 40 additions and 6 deletions

View File

@@ -231,6 +231,8 @@ void QmlEngine::connectionEstablished()
showMessage(tr("QML Debugger connected."), StatusBar);
synchronizeWatchers();
notifyEngineRunAndInferiorRunOk();
}
@@ -687,22 +689,29 @@ void QmlEngine::updateWatchData(const WatchData &data,
}
if (!data.name.isEmpty() && data.isChildrenNeeded()
&& watchHandler()->isExpandedIName(data.iname))
&& watchHandler()->isExpandedIName(data.iname)) {
expandObject(data.iname, data.id);
}
{
synchronizeWatchers();
if (!data.isSomethingNeeded())
watchHandler()->insertData(data);
}
void QmlEngine::synchronizeWatchers()
{
if (!watchHandler()->watcherNames().isEmpty()) {
// send watchers list
QByteArray reply;
QDataStream rs(&reply, QIODevice::WriteOnly);
QByteArray cmd = "WATCH_EXPRESSIONS";
rs << cmd;
rs << watchHandler()->watchedExpressions();
logMessage(LogSend, QString("%1 %2").arg(
QString(cmd), watchHandler()->watchedExpressions().join(", ")));
QString(cmd), watchHandler()->watchedExpressions().join(", ")));
sendMessage(reply);
}
if (!data.isSomethingNeeded())
watchHandler()->insertData(data);
}
void QmlEngine::expandObject(const QByteArray &iname, quint64 objectId)