Commit 89d9b83a authored by Christiaan Janssen's avatar Christiaan Janssen

QmlDebugger: adding slots to items in Live Preview

Reviewed-by: Kai Koehne
parent 5e543b28
......@@ -460,6 +460,9 @@ Delta::DebugIdMap Delta::operator()(const Document::Ptr &doc1, const Document::P
Q_ASSERT(doc1->qmlProgram());
Q_ASSERT(doc2->qmlProgram());
m_previousDoc = doc1;
m_currentDoc = doc2;
Delta::DebugIdMap newDebuggIds;
Map M = buildMapping(doc1, doc2);
......
......@@ -670,14 +670,15 @@ QDeclarativeDebugExpressionQuery *QDeclarativeEngineDebug::queryExpressionResult
bool QDeclarativeEngineDebug::setBindingForObject(int objectDebugId, const QString &propertyName,
const QVariant &bindingExpression,
bool isLiteralValue)
bool isLiteralValue,
QString source, int line)
{
Q_D(QDeclarativeEngineDebug);
if (d->client->status() == QDeclarativeDebugClient::Enabled && objectDebugId != -1) {
QByteArray message;
QDataStream ds(&message, QIODevice::WriteOnly);
ds << QByteArray("SET_BINDING") << objectDebugId << propertyName << bindingExpression << isLiteralValue;
ds << QByteArray("SET_BINDING") << objectDebugId << propertyName << bindingExpression << isLiteralValue << source << line;
d->client->sendMessage(message);
return true;
} else {
......
......@@ -90,7 +90,8 @@ public:
const QString &expr,
QObject *parent = 0);
bool setBindingForObject(int objectDebugId, const QString &propertyName,
const QVariant &bindingExpression, bool isLiteralValue);
const QVariant &bindingExpression, bool isLiteralValue,
QString source = QString(), int line = -1);
bool resetBindingForObject(int objectDebugId, const QString &propertyName);
bool setMethodBody(int objectDebugId, const QString &methodName, const QString &methodBody);
......
......@@ -250,7 +250,9 @@ QList<QDeclarativeDebugObjectReference> ClientProxy::objectReferences(const QDec
bool ClientProxy::setBindingForObject(int objectDebugId,
const QString &propertyName,
const QVariant &value,
bool isLiteralValue)
bool isLiteralValue,
QString source,
int line)
{
if (objectDebugId == -1)
return false;
......@@ -263,7 +265,7 @@ bool ClientProxy::setBindingForObject(int objectDebugId,
log(LogSend, QString("SET_BINDING %1 %2 %3 %4").arg(QString::number(objectDebugId), propertyName, value.toString(), QString(isLiteralValue ? "true" : "false")));
bool result = m_engineClient->setBindingForObject(objectDebugId, propertyName, value.toString(), isLiteralValue);
bool result = m_engineClient->setBindingForObject(objectDebugId, propertyName, value.toString(), isLiteralValue, source, line);
if (!result)
log(LogSend, QString("failed!"));
......
......@@ -62,7 +62,9 @@ public:
bool setBindingForObject(int objectDebugId,
const QString &propertyName,
const QVariant &value,
bool isLiteralValue);
bool isLiteralValue,
QString source,
int line);
bool setMethodBodyForObject(int objectDebugId, const QString &methodName, const QString &methodBody);
bool resetBindingForObject(int objectDebugId, const QString &propertyName);
......
......@@ -463,7 +463,7 @@ protected:
if (isLiteral)
expr = castToLiteral(scriptCode, scriptBinding);
appliedChangesToViewer = true;
m_clientProxy->setBindingForObject(debugId, propertyName, expr, isLiteral);
m_clientProxy->setBindingForObject(debugId, propertyName, expr, isLiteral, document()->fileName(), scriptBinding->firstSourceLocation().startLine);
}
virtual void resetBindingForObject(int debugId, const QString &propertyName)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment