X-Git-Url: https://git.cworth.org/git?a=blobdiff_plain;f=gui%2Fapitracemodel.cpp;h=800b5c7457d03781e1f9d25726335922c0dbf9fd;hb=ebf971eec6c3a5f98885cc418e04690ba213b645;hp=debf5c5712698470c27a6ea024b96b4dd2b211ee;hpb=b56e03d668d2db9c07aa9f9a7033b8bf205ee169;p=apitrace diff --git a/gui/apitracemodel.cpp b/gui/apitracemodel.cpp index debf5c5..800b5c7 100644 --- a/gui/apitracemodel.cpp +++ b/gui/apitracemodel.cpp @@ -1,7 +1,7 @@ #include "apitracemodel.h" #include "apitracecall.h" -#include "loaderthread.h" +#include "traceloader.h" #include "trace_parser.hpp" #include @@ -42,7 +42,7 @@ QVariant ApiTraceModel::data(const QModelIndex &index, int role) const const QString stateText = tr("State info available."); if (itm->type() == ApiTraceEvent::Call) { ApiTraceCall *call = static_cast(itm); - if (call->state().isEmpty()) + if (!call->hasState()) return QString::fromLatin1("%1) %2") .arg(call->index()) .arg(call->name()); @@ -53,12 +53,20 @@ QVariant ApiTraceModel::data(const QModelIndex &index, int role) const .arg(stateText); } else { ApiTraceFrame *frame = static_cast(itm); - QString text = frame->staticText().text(); - if (frame->state().isEmpty()) - return QString::fromLatin1("%1").arg(text); + QString text = QObject::tr("%1) Frame ") + .arg(frame->number); + int binaryDataSize = frame->binaryDataSize() / 1024; + if (!frame->hasState()) + return QObject::tr( + "%1 (binary data size = %2kB)") + .arg(text) + .arg(binaryDataSize); else - return QString::fromLatin1("%1
%2") + return QObject::tr( + "%1 (binary data size = %2kB)" + "
%3") .arg(text) + .arg(binaryDataSize) .arg(stateText); } } @@ -108,7 +116,7 @@ QModelIndex ApiTraceModel::index(int row, int column, return QModelIndex(); } ApiTraceFrame *frame = static_cast(event); - ApiTraceCall *call = frame->calls.value(row); + ApiTraceCall *call = frame->call(row); if (call) return createIndex(row, column, call); else @@ -129,7 +137,7 @@ bool ApiTraceModel::hasChildren(const QModelIndex &parent) const ApiTraceEvent *event = item(parent); if (event && event->type() == ApiTraceEvent::Frame) { ApiTraceFrame *frame = static_cast(event); - return !frame->calls.isEmpty(); + return !frame->isEmpty(); } else return false; } else { @@ -163,7 +171,7 @@ int ApiTraceModel::rowCount(const QModelIndex &parent) const ApiTraceFrame *frame = static_cast(event); if (frame) - return frame->calls.count(); + return frame->numChildren(); return 0; } @@ -244,7 +252,7 @@ void ApiTraceModel::stateSetOnEvent(ApiTraceEvent *event) if (event->type() == ApiTraceEvent::Call) { ApiTraceCall *call = static_cast(event); ApiTraceFrame *frame = call->parentFrame(); - int row = frame->calls.indexOf(call); + int row = frame->callIndex(call); QModelIndex index = createIndex(row, 0, call); emit dataChanged(index, index); } else if (event->type() == ApiTraceEvent::Frame) { @@ -271,7 +279,7 @@ QModelIndex ApiTraceModel::indexForCall(ApiTraceCall *call) const ApiTraceFrame *frame = call->parentFrame(); Q_ASSERT(frame); - int row = frame->calls.indexOf(call); + int row = frame->callIndex(call); if (row < 0) { qDebug() << "Couldn't find call num "<index()<<" inside parent!"; return QModelIndex(); @@ -295,7 +303,7 @@ void ApiTraceModel::callChanged(ApiTraceCall *call) trace->save(); ApiTraceFrame *frame = call->parentFrame(); - int row = frame->calls.indexOf(call); + int row = frame->callIndex(call); QModelIndex index = createIndex(row, 0, call); emit dataChanged(index, index); }