QmlDebugger: synchronize watches when deleted

Reviewed-by: Kai Koehne
This commit is contained in:
Christiaan Janssen
2011-04-21 12:25:06 +02:00
parent d0d0a8c07e
commit 5692120ee3
2 changed files with 16 additions and 14 deletions

View File

@@ -230,7 +230,10 @@ void QmlEngine::connectionEstablished()
showMessage(tr("QML Debugger connected."), StatusBar); showMessage(tr("QML Debugger connected."), StatusBar);
if (!watchHandler()->watcherNames().isEmpty()) {
synchronizeWatchers(); synchronizeWatchers();
}
connect(watchersModel(),SIGNAL(layoutChanged()),this,SLOT(synchronizeWatchers()));
notifyEngineRunAndInferiorRunOk(); notifyEngineRunAndInferiorRunOk();
@@ -359,6 +362,7 @@ bool QmlEngine::acceptsWatchesWhileRunning() const
void QmlEngine::closeConnection() void QmlEngine::closeConnection()
{ {
disconnect(watchersModel(),SIGNAL(layoutChanged()),this,SLOT(synchronizeWatchers()));
disconnect(&d->m_adapter, SIGNAL(connectionStartupFailed()), disconnect(&d->m_adapter, SIGNAL(connectionStartupFailed()),
this, SLOT(connectionStartupFailed())); this, SLOT(connectionStartupFailed()));
d->m_adapter.closeConnection(); d->m_adapter.closeConnection();
@@ -709,7 +713,6 @@ void QmlEngine::updateWatchData(const WatchData &data,
void QmlEngine::synchronizeWatchers() void QmlEngine::synchronizeWatchers()
{ {
if (!watchHandler()->watcherNames().isEmpty()) {
// send watchers list // send watchers list
QByteArray reply; QByteArray reply;
QDataStream rs(&reply, QIODevice::WriteOnly); QDataStream rs(&reply, QIODevice::WriteOnly);
@@ -719,7 +722,6 @@ void QmlEngine::synchronizeWatchers()
logMessage(LogSend, QString("%1 %2").arg( logMessage(LogSend, QString("%1 %2").arg(
QString(cmd), watchHandler()->watchedExpressions().join(", "))); QString(cmd), watchHandler()->watchedExpressions().join(", ")));
sendMessage(reply); sendMessage(reply);
}
} }
void QmlEngine::expandObject(const QByteArray &iname, quint64 objectId) void QmlEngine::expandObject(const QByteArray &iname, quint64 objectId)

View File

@@ -132,6 +132,8 @@ private slots:
void serviceConnectionError(const QString &service); void serviceConnectionError(const QString &service);
void appendMessage(const QString &msg, ProjectExplorer::OutputFormat); void appendMessage(const QString &msg, ProjectExplorer::OutputFormat);
void synchronizeWatchers();
private: private:
void expandObject(const QByteArray &iname, quint64 objectId); void expandObject(const QByteArray &iname, quint64 objectId);
void sendPing(); void sendPing();
@@ -146,8 +148,6 @@ private:
const QString &oldBasePath, const QString &newBasePath) const; const QString &oldBasePath, const QString &newBasePath) const;
QString qmlImportPath() const; QString qmlImportPath() const;
void synchronizeWatchers();
enum LogDirection { enum LogDirection {
LogSend, LogSend,
LogReceive LogReceive