forked from qt-creator/qt-creator
QmlProfiler: Move event handling into model manager
This is the logical place to do it. Adding the event first to the QML model and then passing it back to the manager in order to have it dispatched to the other models is somewhat backwards. Change-Id: I64b1cb38f97331b62d83fa5ae49b9b2690810d40 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io> Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
This commit is contained in:
@@ -117,41 +117,46 @@ QmlProfilerDataModel::~QmlProfilerDataModel()
|
||||
delete d;
|
||||
}
|
||||
|
||||
const QmlEventType &QmlProfilerDataModel::eventType(int typeId) const
|
||||
{
|
||||
Q_D(const QmlProfilerDataModel);
|
||||
return d->eventTypes.at(typeId);
|
||||
}
|
||||
|
||||
const QVector<QmlEventType> &QmlProfilerDataModel::eventTypes() const
|
||||
{
|
||||
Q_D(const QmlProfilerDataModel);
|
||||
return d->eventTypes;
|
||||
}
|
||||
|
||||
void QmlProfilerDataModel::setEventTypes(const QVector<QmlEventType> &types)
|
||||
void QmlProfilerDataModel::addEventTypes(const QVector<QmlEventType> &types)
|
||||
{
|
||||
Q_D(QmlProfilerDataModel);
|
||||
d->eventTypes = types;
|
||||
int typeIndex = d->eventTypes.length();
|
||||
d->eventTypes.append(types);
|
||||
for (const int end = d->eventTypes.length(); typeIndex < end; ++typeIndex)
|
||||
d->rewriteType(typeIndex);
|
||||
}
|
||||
|
||||
int QmlProfilerDataModel::addEventType(const QmlEventType &type)
|
||||
void QmlProfilerDataModel::addEventType(const QmlEventType &type)
|
||||
{
|
||||
Q_D(QmlProfilerDataModel);
|
||||
int typeIndex = d->eventTypes.length();
|
||||
d->eventTypes.append(type);
|
||||
d->rewriteType(typeIndex);
|
||||
return typeIndex;
|
||||
}
|
||||
|
||||
void QmlProfilerDataModel::addEvent(const QmlEvent &event)
|
||||
{
|
||||
Q_D(QmlProfilerDataModel);
|
||||
d->modelManager->dispatch(event, d->eventTypes[event.typeIndex()]);
|
||||
d->eventStream << event;
|
||||
}
|
||||
|
||||
void QmlProfilerDataModel::addEvents(const QVector<QmlEvent> &events)
|
||||
{
|
||||
Q_D(QmlProfilerDataModel);
|
||||
for (const QmlEvent &event : events) {
|
||||
d->modelManager->dispatch(event, d->eventTypes[event.typeIndex()]);
|
||||
for (const QmlEvent &event : events)
|
||||
d->eventStream << event;
|
||||
}
|
||||
}
|
||||
|
||||
void QmlProfilerDataModel::clear()
|
||||
|
||||
Reference in New Issue
Block a user