QmlProfiler: Allow string data in events

The restriction to put all strings in the type data is becoming a
burden to further enhancements. Also, introduce proper ctors for all
event structs.

Change-Id: I42d3bac96155ac1ac183a2b82785ce0396c5a932
Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
This commit is contained in:
Ulf Hermann
2015-11-13 15:31:32 +01:00
parent 8d936b8aa6
commit 35cedb2aee
6 changed files with 250 additions and 111 deletions

View File

@@ -194,7 +194,7 @@ bool QmlProfilerDataModel::isEmpty() const
inline static bool operator<(const QmlProfilerDataModel::QmlEventData &t1,
const QmlProfilerDataModel::QmlEventData &t2)
{
return t1.startTime < t2.startTime;
return t1.startTime() < t2.startTime();
}
inline static uint qHash(const QmlProfilerDataModel::QmlEventTypeData &type)
@@ -266,15 +266,15 @@ void QmlProfilerDataModel::addQmlEvent(QmlDebug::Message message, QmlDebug::Rang
Q_D(QmlProfilerDataModel);
QString displayName;
QmlEventTypeData typeData = {displayName, location, message, rangeType, detailType, data};
QmlEventData eventData = {-1, startTime, duration, ndata1, ndata2, ndata3, ndata4, ndata5};
QmlEventTypeData typeData(displayName, location, message, rangeType, detailType, data);
QmlEventData eventData(startTime, duration, -1, ndata1, ndata2, ndata3, ndata4, ndata5);
QHash<QmlEventTypeData, int>::Iterator it = d->eventTypeIds.find(typeData);
if (it != d->eventTypeIds.end()) {
eventData.typeIndex = it.value();
eventData.setTypeIndex(it.value());
} else {
eventData.typeIndex = d->eventTypes.size();
d->eventTypeIds[typeData] = eventData.typeIndex;
eventData.setTypeIndex(d->eventTypes.size());
d->eventTypeIds[typeData] = eventData.typeIndex();
d->eventTypes.append(typeData);
}
@@ -290,7 +290,7 @@ qint64 QmlProfilerDataModel::lastTimeMark() const
if (d->eventList.isEmpty())
return 0;
return d->eventList.last().startTime + d->eventList.last().duration;
return d->eventList.last().startTime() + d->eventList.last().duration();
}
void QmlProfilerDataModel::detailsChanged(int requestId, const QString &newString)