forked from qt-creator/qt-creator
QmlProfiler: Allow preselection of events to be recorded
This allows us to reduce the amount of data we need to handle if the user isn't interested in certain categories. Task-number: QTBUG-41118 Change-Id: Ieaac12fb1dec29d6035642f433bc1a1d49e545c2 Reviewed-by: Kai Koehne <kai.koehne@digia.com>
This commit is contained in:
@@ -44,6 +44,15 @@
|
||||
namespace QmlProfiler {
|
||||
namespace Internal {
|
||||
|
||||
static const QmlDebug::ProfileFeature RangeFeatures[QmlDebug::MaximumRangeType] = {
|
||||
QmlDebug::ProfilePainting,
|
||||
QmlDebug::ProfileCompiling,
|
||||
QmlDebug::ProfileCreating,
|
||||
QmlDebug::ProfileBinding,
|
||||
QmlDebug::ProfileHandlingSignal,
|
||||
QmlDebug::ProfileJavaScript
|
||||
};
|
||||
|
||||
class RangeTimelineModel::RangeTimelineModelPrivate : public AbstractTimelineModelPrivate
|
||||
{
|
||||
public:
|
||||
@@ -70,6 +79,12 @@ RangeTimelineModel::RangeTimelineModel(QmlDebug::RangeType rangeType, QObject *p
|
||||
d->contractedRows = 1;
|
||||
}
|
||||
|
||||
quint64 RangeTimelineModel::features() const
|
||||
{
|
||||
Q_D(const RangeTimelineModel);
|
||||
return 1 << RangeFeatures[d->rangeType];
|
||||
}
|
||||
|
||||
void RangeTimelineModel::clear()
|
||||
{
|
||||
Q_D(RangeTimelineModel);
|
||||
@@ -222,16 +237,19 @@ int RangeTimelineModel::rowCount() const
|
||||
return d->contractedRows;
|
||||
}
|
||||
|
||||
QString RangeTimelineModel::categoryLabel(int categoryIndex)
|
||||
QString RangeTimelineModel::categoryLabel(QmlDebug::RangeType rangeType)
|
||||
{
|
||||
switch (categoryIndex) {
|
||||
case 0: return QCoreApplication::translate("MainView", "Painting"); break;
|
||||
case 1: return QCoreApplication::translate("MainView", "Compiling"); break;
|
||||
case 2: return QCoreApplication::translate("MainView", "Creating"); break;
|
||||
case 3: return QCoreApplication::translate("MainView", "Binding"); break;
|
||||
case 4: return QCoreApplication::translate("MainView", "Handling Signal"); break;
|
||||
case 5: return QCoreApplication::translate("MainView", "JavaScript"); break;
|
||||
default: return QString();
|
||||
switch (rangeType) {
|
||||
case QmlDebug::Painting:
|
||||
case QmlDebug::Compiling:
|
||||
case QmlDebug::Creating:
|
||||
case QmlDebug::Binding:
|
||||
case QmlDebug::HandlingSignal:
|
||||
case QmlDebug::Javascript:
|
||||
return QCoreApplication::translate("MainView",
|
||||
QmlProfilerModelManager::featureName(RangeFeatures[rangeType]));
|
||||
default:
|
||||
return QString();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user