]> git.cworth.org Git - apitrace/blobdiff - gui/apitracemodel.cpp
Update downloads link.
[apitrace] / gui / apitracemodel.cpp
index 96a9888ed63e057be2c068517a8b9f922d964df9..0863c1b5bc0eb19ad1b649b9d83442483a2fc5ad 100644 (file)
@@ -91,7 +91,7 @@ QVariant ApiTraceModel::data(const QModelIndex &index, int role) const
                 }
             }
 
-            int numCalls = frame->loaded()
+            int numCalls = frame->isLoaded()
                     ? frame->numChildren()
                     : frame->numChildrenToLoad();
 
@@ -248,8 +248,8 @@ void ApiTraceModel::setApiTrace(ApiTrace *trace)
             this, SLOT(beginAddingFrames(int, int)));
     connect(m_trace, SIGNAL(endAddingFrames()),
             this, SLOT(endAddingFrames()));
-    connect(m_trace, SIGNAL(changed(ApiTraceCall*)),
-            this, SLOT(callChanged(ApiTraceCall*)));
+    connect(m_trace, SIGNAL(changed(ApiTraceEvent*)),
+            this, SLOT(changed(ApiTraceEvent*)));
     connect(m_trace, SIGNAL(beginLoadingFrame(ApiTraceFrame*,int)),
             this, SLOT(beginLoadingFrame(ApiTraceFrame*,int)));
     connect(m_trace, SIGNAL(endLoadingFrame(ApiTraceFrame*)),
@@ -294,7 +294,7 @@ void ApiTraceModel::stateSetOnEvent(ApiTraceEvent *event)
         emit dataChanged(index, index);
     } else if (event->type() == ApiTraceEvent::Frame) {
         ApiTraceFrame *frame = static_cast<ApiTraceFrame*>(event);
-        const QList<ApiTraceFrame*> frames = m_trace->frames();
+        const QList<ApiTraceFrame*> frames = m_trace->frames();
         int row = frames.indexOf(frame);
         QModelIndex index = createIndex(row, 0, frame);
         emit dataChanged(index, index);
@@ -318,6 +318,15 @@ QModelIndex ApiTraceModel::indexForCall(ApiTraceCall *call) const
     return createIndex(row, 0, call);
 }
 
+void ApiTraceModel::changed(ApiTraceEvent *event)
+{
+    if (event->type() == ApiTraceEvent::Call) {
+        callChanged(static_cast<ApiTraceCall*>(event));
+    } else if (event->type() == ApiTraceEvent::Frame) {
+        frameChanged(static_cast<ApiTraceFrame*>(event));
+    }
+}
+
 void ApiTraceModel::callChanged(ApiTraceCall *call)
 {
     ApiTrace *trace = call->parentFrame()->parentTrace();
@@ -339,6 +348,14 @@ void ApiTraceModel::callChanged(ApiTraceCall *call)
     emit dataChanged(index, index);
 }
 
+void ApiTraceModel::frameChanged(ApiTraceFrame *frame)
+{
+    const QList<ApiTraceFrame*> & frames = m_trace->frames();
+    int row = frames.indexOf(frame);
+    QModelIndex index = createIndex(row, 0, frame);
+    emit dataChanged(index, index);
+}
+
 void ApiTraceModel::endAddingFrames()
 {
     endInsertRows();
@@ -350,7 +367,7 @@ bool ApiTraceModel::canFetchMore(const QModelIndex &parent) const
         ApiTraceEvent *event = item(parent);
         if (event && event->type() == ApiTraceEvent::Frame) {
             ApiTraceFrame *frame = static_cast<ApiTraceFrame*>(event);
-            return !frame->loaded() && !m_loadingFrames.contains(frame);
+            return !frame->isLoaded() && !m_loadingFrames.contains(frame);
         } else
             return false;
     } else {
@@ -366,7 +383,7 @@ void ApiTraceModel::fetchMore(const QModelIndex &parent)
             ApiTraceFrame *frame = static_cast<ApiTraceFrame*>(event);
             QModelIndex index = createIndex(frame->number, 0, frame);
 
-            Q_ASSERT(!frame->loaded());
+            Q_ASSERT(!frame->isLoaded());
             m_loadingFrames.insert(frame);
 
             m_trace->loadFrame(frame);