diff --git a/src/libs/tracing/timelinemodel.cpp b/src/libs/tracing/timelinemodel.cpp index e2f28e18497..39a43b3f681 100644 --- a/src/libs/tracing/timelinemodel.cpp +++ b/src/libs/tracing/timelinemodel.cpp @@ -59,7 +59,6 @@ namespace Timeline { */ void TimelineModel::computeNesting() { - Q_D(TimelineModel); QLinkedList parents; for (int range = 0; range != count(); ++range) { TimelineModelPrivate::Range ¤t = d->ranges[range]; @@ -107,13 +106,11 @@ void TimelineModel::computeNesting() int TimelineModel::collapsedRowCount() const { - Q_D(const TimelineModel); return d->collapsedRowCount; } void TimelineModel::setCollapsedRowCount(int rows) { - Q_D(TimelineModel); if (d->collapsedRowCount != rows) { d->collapsedRowCount = rows; emit collapsedRowCountChanged(); @@ -126,13 +123,11 @@ void TimelineModel::setCollapsedRowCount(int rows) int TimelineModel::expandedRowCount() const { - Q_D(const TimelineModel); return d->expandedRowCount; } void TimelineModel::setExpandedRowCount(int rows) { - Q_D(TimelineModel); if (d->expandedRowCount != rows) { int prevHeight = height(); if (d->rowOffsets.length() > rows) @@ -159,7 +154,7 @@ TimelineModel::TimelineModelPrivate::TimelineModelPrivate(int modelId) : } TimelineModel::TimelineModel(TimelineModelAggregator *parent) : - QObject(parent), d_ptr(new TimelineModelPrivate(parent->generateModelId())) + QObject(parent), d(std::make_unique(parent->generateModelId())) { connect(this, &TimelineModel::contentChanged, this, &TimelineModel::labelsChanged); connect(this, &TimelineModel::contentChanged, this, &TimelineModel::detailsChanged); @@ -167,8 +162,6 @@ TimelineModel::TimelineModel(TimelineModelAggregator *parent) : TimelineModel::~TimelineModel() { - Q_D(TimelineModel); - delete d; } bool TimelineModel::isEmpty() const @@ -178,7 +171,6 @@ bool TimelineModel::isEmpty() const int TimelineModel::modelId() const { - Q_D(const TimelineModel); return d->modelId; } @@ -195,7 +187,6 @@ int TimelineModel::collapsedRowOffset(int rowNumber) const int TimelineModel::expandedRowHeight(int rowNumber) const { - Q_D(const TimelineModel); if (d->rowOffsets.size() > rowNumber) return d->rowOffsets[rowNumber] - (rowNumber > 0 ? d->rowOffsets[rowNumber - 1] : 0); return TimelineModelPrivate::DefaultRowHeight; @@ -203,7 +194,6 @@ int TimelineModel::expandedRowHeight(int rowNumber) const int TimelineModel::expandedRowOffset(int rowNumber) const { - Q_D(const TimelineModel); if (rowNumber == 0) return 0; @@ -217,7 +207,6 @@ int TimelineModel::expandedRowOffset(int rowNumber) const void TimelineModel::setExpandedRowHeight(int rowNumber, int height) { - Q_D(TimelineModel); if (height < TimelineModelPrivate::DefaultRowHeight) height = TimelineModelPrivate::DefaultRowHeight; @@ -248,7 +237,6 @@ int TimelineModel::rowHeight(int rowNumber) const int TimelineModel::height() const { - Q_D(const TimelineModel); if (d->hidden || isEmpty()) return 0; @@ -266,25 +254,21 @@ int TimelineModel::height() const */ int TimelineModel::count() const { - Q_D(const TimelineModel); return d->ranges.count(); } qint64 TimelineModel::duration(int index) const { - Q_D(const TimelineModel); return d->ranges[index].duration; } qint64 TimelineModel::startTime(int index) const { - Q_D(const TimelineModel); return d->ranges[index].start; } qint64 TimelineModel::endTime(int index) const { - Q_D(const TimelineModel); return d->ranges[index].start + d->ranges[index].duration; } @@ -309,7 +293,6 @@ int TimelineModel::typeId(int index) const */ int TimelineModel::firstIndex(qint64 startTime) const { - Q_D(const TimelineModel); int index = d->firstIndexNoParents(startTime); if (index == -1) return -1; @@ -343,7 +326,6 @@ int TimelineModel::TimelineModelPrivate::firstIndexNoParents(qint64 startTime) c */ int TimelineModel::lastIndex(qint64 endTime) const { - Q_D(const TimelineModel); // in the "starttime" list, find the last event that starts before endtime // lowerBound() never returns "invalid", so handle this manually. @@ -364,8 +346,6 @@ int TimelineModel::lastIndex(qint64 endTime) const */ int TimelineModel::bestIndex(qint64 timestamp) const { - Q_D(const TimelineModel); - if (d->ranges.isEmpty()) return -1; @@ -390,7 +370,6 @@ int TimelineModel::bestIndex(qint64 timestamp) const int TimelineModel::parentIndex(int index) const { - Q_D(const TimelineModel); return d->ranges[index].parent; } @@ -467,7 +446,6 @@ QRgb TimelineModel::colorByHue(int hue) const */ int TimelineModel::insert(qint64 startTime, qint64 duration, int selectionId) { - Q_D(TimelineModel); /* Doing insert-sort here is preferable as most of the time the times will actually be * presorted in the right way. So usually this will just result in appending. */ int index = d->insertStart(TimelineModelPrivate::Range(startTime, duration, selectionId)); @@ -485,7 +463,6 @@ int TimelineModel::insert(qint64 startTime, qint64 duration, int selectionId) */ int TimelineModel::insertStart(qint64 startTime, int selectionId) { - Q_D(TimelineModel); int index = d->insertStart(TimelineModelPrivate::Range(startTime, 0, selectionId)); if (index < d->ranges.size() - 1) d->incrementStartIndices(index); @@ -497,20 +474,17 @@ int TimelineModel::insertStart(qint64 startTime, int selectionId) */ void TimelineModel::insertEnd(int index, qint64 duration) { - Q_D(TimelineModel); d->ranges[index].duration = duration; d->insertEnd(TimelineModelPrivate::RangeEnd(index, d->ranges[index].start + duration)); } bool TimelineModel::expanded() const { - Q_D(const TimelineModel); return d->expanded; } void TimelineModel::setExpanded(bool expanded) { - Q_D(TimelineModel); if (expanded != d->expanded) { int prevHeight = height(); d->expanded = expanded; @@ -524,13 +498,11 @@ void TimelineModel::setExpanded(bool expanded) bool TimelineModel::hidden() const { - Q_D(const TimelineModel); return d->hidden; } void TimelineModel::setHidden(bool hidden) { - Q_D(TimelineModel); if (hidden != d->hidden) { int prevHeight = height(); d->hidden = hidden; @@ -542,7 +514,6 @@ void TimelineModel::setHidden(bool hidden) void TimelineModel::setDisplayName(const QString &displayName) { - Q_D(TimelineModel); if (d->displayName != displayName) { d->displayName = displayName; emit displayNameChanged(); @@ -551,13 +522,11 @@ void TimelineModel::setDisplayName(const QString &displayName) QString TimelineModel::displayName() const { - Q_D(const TimelineModel); return d->displayName; } int TimelineModel::rowCount() const { - Q_D(const TimelineModel); return d->expanded ? d->expandedRowCount : d->collapsedRowCount; } @@ -600,13 +569,11 @@ int TimelineModel::collapsedRow(int index) const */ int TimelineModel::selectionId(int index) const { - Q_D(const TimelineModel); return d->ranges[index].selectionId; } void TimelineModel::clear() { - Q_D(TimelineModel); bool hadRowHeights = !d->rowOffsets.empty(); bool wasEmpty = isEmpty(); setExpandedRowCount(1); @@ -628,15 +595,13 @@ void TimelineModel::clear() int TimelineModel::nextItemBySelectionId(int selectionId, qint64 time, int currentItem) const { - Q_D(const TimelineModel); - return d->nextItemById([d, selectionId](int index) { + return d->nextItemById([this, selectionId](int index) { return d->ranges[index].selectionId == selectionId; }, time, currentItem); } int TimelineModel::nextItemByTypeId(int requestedTypeId, qint64 time, int currentItem) const { - Q_D(const TimelineModel); return d->nextItemById([this, requestedTypeId](int index) { return typeId(index) == requestedTypeId; }, time, currentItem); @@ -644,15 +609,13 @@ int TimelineModel::nextItemByTypeId(int requestedTypeId, qint64 time, int curren int TimelineModel::prevItemBySelectionId(int selectionId, qint64 time, int currentItem) const { - Q_D(const TimelineModel); - return d->prevItemById([d, selectionId](int index) { + return d->prevItemById([this, selectionId](int index) { return d->ranges[index].selectionId == selectionId; }, time, currentItem); } int TimelineModel::prevItemByTypeId(int requestedTypeId, qint64 time, int currentItem) const { - Q_D(const TimelineModel); return d->prevItemById([this, requestedTypeId](int index) { return typeId(index) == requestedTypeId; }, time, currentItem); diff --git a/src/libs/tracing/timelinemodel.h b/src/libs/tracing/timelinemodel.h index abf0953bacd..a873860f502 100644 --- a/src/libs/tracing/timelinemodel.h +++ b/src/libs/tracing/timelinemodel.h @@ -30,6 +30,8 @@ #include #include +#include + namespace Timeline { class TimelineModelAggregator; @@ -143,8 +145,7 @@ protected: virtual void clear(); private: - TimelineModelPrivate *d_ptr; - Q_DECLARE_PRIVATE(TimelineModel) + std::unique_ptr d; }; } // namespace Timeline