QmlProfiler: allow for multiple sequential traces to be aggregated

Task-number: QTCREATORBUG-13317
Change-Id: Ic7d1d5c94d8d522741b6c4207a21a43f521da5fb
Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
This commit is contained in:
Ulf Hermann
2015-11-18 12:34:52 +01:00
parent 030acfdf73
commit ffc11d5e9e
9 changed files with 93 additions and 12 deletions

View File

@@ -45,6 +45,7 @@ QmlProfilerSettings::QmlProfilerSettings()
defaults.insert(QLatin1String(Constants::FLUSH_INTERVAL), 1000);
defaults.insert(QLatin1String(Constants::FLUSH_ENABLED), false);
defaults.insert(QLatin1String(Constants::LAST_TRACE_FILE), QString());
defaults.insert(QLatin1String(Constants::AGGREGATE_TRACES), false);
// Read stored values
QSettings *settings = Core::ICore::settings();
@@ -106,6 +107,19 @@ void QmlProfilerSettings::setLastTraceFile(const QString &lastTracePath)
}
}
bool QmlProfilerSettings::aggregateTraces() const
{
return m_aggregateTraces;
}
void QmlProfilerSettings::setAggregateTraces(bool aggregateTraces)
{
if (m_aggregateTraces != aggregateTraces) {
m_aggregateTraces = aggregateTraces;
emit changed();
}
}
void QmlProfilerSettings::writeGlobalSettings() const
{
QSettings *settings = Core::ICore::settings();
@@ -122,6 +136,7 @@ void QmlProfilerSettings::toMap(QVariantMap &map) const
map[QLatin1String(Constants::FLUSH_INTERVAL)] = m_flushInterval;
map[QLatin1String(Constants::FLUSH_ENABLED)] = m_flushEnabled;
map[QLatin1String(Constants::LAST_TRACE_FILE)] = m_lastTraceFile;
map[QLatin1String(Constants::AGGREGATE_TRACES)] = m_aggregateTraces;
}
void QmlProfilerSettings::fromMap(const QVariantMap &map)
@@ -129,6 +144,7 @@ void QmlProfilerSettings::fromMap(const QVariantMap &map)
m_flushEnabled = map.value(QLatin1String(Constants::FLUSH_ENABLED)).toBool();
m_flushInterval = map.value(QLatin1String(Constants::FLUSH_INTERVAL)).toUInt();
m_lastTraceFile = map.value(QLatin1String(Constants::LAST_TRACE_FILE)).toString();
m_aggregateTraces = map.value(QLatin1String(Constants::AGGREGATE_TRACES)).toBool();
emit changed();
}