QmlProfiler: Add special model for notes

Change-Id: Ia0acbc5e0a02563cf497594b67a5f7a67488fb79
Reviewed-by: Kai Koehne <kai.koehne@theqtcompany.com>
This commit is contained in:
Ulf Hermann
2014-09-26 15:49:49 +02:00
parent 0c107b33d1
commit 350615cc71
9 changed files with 445 additions and 3 deletions

View File

@@ -32,6 +32,7 @@
#include "qmlprofilerdatamodel.h"
#include "qv8profilerdatamodel.h"
#include "qmlprofilertracefile.h"
#include "notesmodel.h"
#include <utils/qtcassert.h>
@@ -172,6 +173,8 @@ public:
QmlProfilerDataModel *model;
QV8ProfilerDataModel *v8Model;
NotesModel *notesModel;
QmlProfilerDataState *dataState;
QmlProfilerTraceTime *traceTime;
@@ -197,6 +200,8 @@ QmlProfilerModelManager::QmlProfilerModelManager(Utils::FileInProjectFinder *fin
d->v8Model = new QV8ProfilerDataModel(finder, this);
d->dataState = new QmlProfilerDataState(this, this);
d->traceTime = new QmlProfilerTraceTime(this);
d->notesModel = new NotesModel(this);
d->notesModel->setModelManager(this);
}
QmlProfilerModelManager::~QmlProfilerModelManager()
@@ -219,6 +224,11 @@ QV8ProfilerDataModel *QmlProfilerModelManager::v8Model() const
return d->v8Model;
}
NotesModel *QmlProfilerModelManager::notesModel() const
{
return d->notesModel;
}
bool QmlProfilerModelManager::isEmpty() const
{
return d->model->isEmpty() && d->v8Model->isEmpty();
@@ -328,6 +338,8 @@ void QmlProfilerModelManager::complete()
{
switch (state()) {
case QmlProfilerDataState::ProcessingData:
// Load notes after the timeline models have been initialized.
d->notesModel->loadData();
setState(QmlProfilerDataState::Done);
emit dataAvailable();
break;
@@ -367,6 +379,7 @@ void QmlProfilerModelManager::save(const QString &filename)
QmlProfilerFileWriter writer;
d->notesModel->saveData();
writer.setTraceTime(traceTime()->startTime(), traceTime()->endTime(), traceTime()->duration());
writer.setV8DataModel(d->v8Model);
writer.setQmlEvents(d->model->getEventTypes(), d->model->getEvents());