aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins/qmlprofiler/qmlprofilermodelmanager.cpp
diff options
context:
space:
mode:
authorUlf Hermann <ulf.hermann@qt.io>2016-05-11 14:43:26 +0200
committerUlf Hermann <ulf.hermann@qt.io>2016-05-23 14:39:24 +0000
commitc39ed2a3b7f85b27aa867e9c3cbc1c8215bd564b (patch)
tree0dd90f1f8fde6f391c7e91db0b19ec943bb673ac /src/plugins/qmlprofiler/qmlprofilermodelmanager.cpp
parent475e527cf0ef67a2e6101f310253870460597d6d (diff)
QmlProfiler: Make progress widget more expressive
Instead of the progress bar we can now show the number of events we have received, and the number of finished finalizers. This should give a the user a better idea of what is going on. Change-Id: I324fefbe6d5e3c24b080bfbc103c4317fa585215 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
Diffstat (limited to 'src/plugins/qmlprofiler/qmlprofilermodelmanager.cpp')
-rw-r--r--src/plugins/qmlprofiler/qmlprofilermodelmanager.cpp27
1 files changed, 26 insertions, 1 deletions
diff --git a/src/plugins/qmlprofiler/qmlprofilermodelmanager.cpp b/src/plugins/qmlprofiler/qmlprofilermodelmanager.cpp
index 0ecd488dc3a..d27d7f8a097 100644
--- a/src/plugins/qmlprofiler/qmlprofilermodelmanager.cpp
+++ b/src/plugins/qmlprofiler/qmlprofilermodelmanager.cpp
@@ -143,6 +143,9 @@ public:
QmlProfilerTraceTime *traceTime;
int numRegisteredModels;
+ int numFinishedFinalizers;
+
+ uint numLoadedEvents;
quint64 availableFeatures;
quint64 visibleFeatures;
quint64 recordedFeatures;
@@ -156,6 +159,8 @@ QmlProfilerModelManager::QmlProfilerModelManager(Utils::FileInProjectFinder *fin
QObject(parent), d(new QmlProfilerModelManagerPrivate)
{
d->numRegisteredModels = 0;
+ d->numFinishedFinalizers = 0;
+ d->numLoadedEvents = 0;
d->availableFeatures = 0;
d->visibleFeatures = 0;
d->recordedFeatures = 0;
@@ -192,15 +197,31 @@ bool QmlProfilerModelManager::isEmpty() const
return d->model->isEmpty();
}
+uint QmlProfilerModelManager::numLoadedEvents() const
+{
+ return d->numLoadedEvents;
+}
+
int QmlProfilerModelManager::registerModelProxy()
{
return d->numRegisteredModels++;
}
+int QmlProfilerModelManager::numFinishedFinalizers() const
+{
+ return d->numFinishedFinalizers;
+}
+
+int QmlProfilerModelManager::numRegisteredFinalizers() const
+{
+ return d->finalizers.count();
+}
+
void QmlProfilerModelManager::dispatch(const QmlEvent &event, const QmlEventType &type)
{
foreach (const EventLoader &loader, d->eventLoaders[type.feature()])
loader(event, type);
+ ++d->numLoadedEvents;
}
void QmlProfilerModelManager::announceFeatures(quint64 features, EventLoader eventLoader,
@@ -278,8 +299,10 @@ void QmlProfilerModelManager::processingDone()
// Load notes after the timeline models have been initialized ...
// which happens on stateChanged(Done).
- foreach (const Finalizer &finalizer, d->finalizers)
+ foreach (const Finalizer &finalizer, d->finalizers) {
finalizer();
+ ++d->numFinishedFinalizers;
+ }
d->notesModel->loadData();
setState(Done);
@@ -412,6 +435,8 @@ QmlProfilerModelManager::State QmlProfilerModelManager::state() const
void QmlProfilerModelManager::clear()
{
setState(ClearingData);
+ d->numLoadedEvents = 0;
+ d->numFinishedFinalizers = 0;
d->model->clear();
d->traceTime->clear();
d->notesModel->clear();