QmlProfiler: Don't emit recordingChanged signal if service gets enabled

Change-Id: I1cba56b92d83edb2ed54b731f9815c77d04cfd9e
Reviewed-on: http://codereview.qt.nokia.com/3500
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Christiaan Janssen <christiaan.janssen@nokia.com>
This commit is contained in:
Kai Koehne
2011-08-24 14:38:54 +02:00
parent b490f2eff0
commit 38d84d5b6a

View File

@@ -36,14 +36,18 @@ namespace QmlJsDebugClient {
class QmlProfilerTraceClientPrivate {
public:
QmlProfilerTraceClientPrivate()
: inProgressRanges(0)
QmlProfilerTraceClientPrivate(QmlProfilerTraceClient *_q)
: q(_q)
, inProgressRanges(0)
, maximumTime(0)
, recording(false)
{
::memset(rangeCount, 0, MaximumQmlEventType * sizeof(int));
}
void sendRecordingStatus();
QmlProfilerTraceClient *q;
qint64 inProgressRanges;
QStack<qint64> rangeStartTimes[MaximumQmlEventType];
QStack<QStringList> rangeDatas[MaximumQmlEventType];
@@ -59,9 +63,17 @@ using namespace QmlJsDebugClient;
static const int GAP_TIME = 150;
void QmlProfilerTraceClientPrivate::sendRecordingStatus()
{
QByteArray ba;
QDataStream stream(&ba, QIODevice::WriteOnly);
stream << recording;
q->sendMessage(ba);
}
QmlProfilerTraceClient::QmlProfilerTraceClient(QDeclarativeDebugConnection *client)
: QDeclarativeDebugClient(QLatin1String("CanvasFrameRate"), client)
, d(new QmlProfilerTraceClientPrivate)
, d(new QmlProfilerTraceClientPrivate(this))
{
}
@@ -86,22 +98,19 @@ void QmlProfilerTraceClient::setRecording(bool v)
if (v == d->recording)
return;
d->recording = v;
if (status() == Enabled) {
QByteArray ba;
QDataStream stream(&ba, QIODevice::WriteOnly);
stream << v;
sendMessage(ba);
d->sendRecordingStatus();
}
d->recording = v;
emit recordingChanged(v);
}
void QmlProfilerTraceClient::statusChanged(Status status)
{
if (status == Enabled) {
d->recording = !d->recording;
setRecording(!d->recording);
d->sendRecordingStatus();
emit enabled();
}
}