From b56e03d668d2db9c07aa9f9a7033b8bf205ee169 Mon Sep 17 00:00:00 2001 From: Zack Rusin Date: Wed, 20 Apr 2011 23:58:52 -0400 Subject: [PATCH] Fix minor errors in the apitracemodel --- gui/apitrace.cpp | 9 +++++++-- gui/apitrace.h | 3 ++- gui/apitracemodel.cpp | 16 +++++++++++----- gui/apitracemodel.h | 3 ++- 4 files changed, 22 insertions(+), 9 deletions(-) diff --git a/gui/apitrace.cpp b/gui/apitrace.cpp index eb65ba8..4c96c71 100644 --- a/gui/apitrace.cpp +++ b/gui/apitrace.cpp @@ -146,6 +146,9 @@ void ApiTrace::addFrames(const QList &frames) { int currentFrames = m_frames.count(); int numNewFrames = frames.count(); + + emit beginAddingFrames(currentFrames, numNewFrames); + m_frames += frames; int currentCalls = m_calls.count(); @@ -156,7 +159,7 @@ void ApiTrace::addFrames(const QList &frames) m_calls += frame->calls; } - emit framesAdded(currentFrames, numNewFrames); + emit endAddingFrames(); emit callsAdded(currentCalls, numNewCalls); } @@ -165,6 +168,8 @@ void ApiTrace::detectFrames() if (m_calls.isEmpty()) return; + emit beginAddingFrames(0, m_frames.count()); + ApiTraceFrame *currentFrame = 0; foreach(ApiTraceCall *apiCall, m_calls) { if (!currentFrame) { @@ -187,7 +192,7 @@ void ApiTrace::detectFrames() m_frames.append(currentFrame); currentFrame = 0; } - emit framesAdded(0, m_frames.count()); + emit endAddingFrames(); } ApiTraceCall * ApiTrace::callWithIndex(int idx) const diff --git a/gui/apitrace.h b/gui/apitrace.h index d0b76fa..d52c669 100644 --- a/gui/apitrace.h +++ b/gui/apitrace.h @@ -68,7 +68,8 @@ signals: void startedSaving(); void saved(); - void framesAdded(int oldCount, int numAdded); + void beginAddingFrames(int oldCount, int numAdded); + void endAddingFrames(); void callsAdded(int oldCount, int numAdded); private slots: diff --git a/gui/apitracemodel.cpp b/gui/apitracemodel.cpp index 951d6ac..debf5c5 100644 --- a/gui/apitracemodel.cpp +++ b/gui/apitracemodel.cpp @@ -98,7 +98,7 @@ QVariant ApiTraceModel::headerData(int section, Qt::Orientation orientation, QModelIndex ApiTraceModel::index(int row, int column, const QModelIndex &parent) const { - if (parent.isValid() && parent.column() != 0) + if ((parent.isValid() && parent.column() != 0) || column != 0) return QModelIndex(); ApiTraceEvent *event = item(parent); @@ -204,8 +204,10 @@ void ApiTraceModel::setApiTrace(ApiTrace *trace) this, SLOT(invalidateFrames())); connect(m_trace, SIGNAL(framesInvalidated()), this, SLOT(invalidateFrames())); - connect(m_trace, SIGNAL(framesAdded(int, int)), - this, SLOT(appendFrames(int, int))); + connect(m_trace, SIGNAL(beginAddingFrames(int, int)), + this, SLOT(beginAddingFrames(int, int))); + connect(m_trace, SIGNAL(endAddingFrames()), + this, SLOT(endAddingFrames())); connect(m_trace, SIGNAL(changed(ApiTraceCall*)), this, SLOT(callChanged(ApiTraceCall*))); } @@ -221,11 +223,10 @@ void ApiTraceModel::invalidateFrames() endResetModel(); } -void ApiTraceModel::appendFrames(int oldCount, int numAdded) +void ApiTraceModel::beginAddingFrames(int oldCount, int numAdded) { beginInsertRows(QModelIndex(), oldCount, oldCount + numAdded - 1); - endInsertRows(); } ApiTraceEvent * ApiTraceModel::item(const QModelIndex &index) const @@ -299,4 +300,9 @@ void ApiTraceModel::callChanged(ApiTraceCall *call) emit dataChanged(index, index); } +void ApiTraceModel::endAddingFrames() +{ + endInsertRows(); +} + #include "apitracemodel.moc" diff --git a/gui/apitracemodel.h b/gui/apitracemodel.h index 752d7b6..2cdd7d0 100644 --- a/gui/apitracemodel.h +++ b/gui/apitracemodel.h @@ -49,7 +49,8 @@ public: private slots: void invalidateFrames(); - void appendFrames(int oldCount, int numAdded); + void beginAddingFrames(int oldCount, int numAdded); + void endAddingFrames(); void callChanged(ApiTraceCall *call); private: -- 2.43.0