]> git.cworth.org Git - apitrace/commitdiff
Cleanup the code.
authorZack Rusin <zack@kde.org>
Tue, 13 Sep 2011 21:58:58 +0000 (17:58 -0400)
committerZack Rusin <zack@kde.org>
Tue, 13 Sep 2011 21:58:58 +0000 (17:58 -0400)
Frames own the calls.

gui/apitrace.cpp
gui/apitrace.h
gui/apitracecall.cpp
gui/apitracecall.h

index a7333aa9e6b799786ec3ba8b7d47d5f3b3cb562f..6254d2cb2481d8587fdcc293a96b057ae6914548 100644 (file)
@@ -70,7 +70,6 @@ ApiTrace::~ApiTrace()
 {
     m_loaderThread->quit();
     m_loaderThread->deleteLater();
-    qDeleteAll(m_calls);
     qDeleteAll(m_frames);
     delete m_loader;
     delete m_saver;
@@ -102,7 +101,7 @@ bool ApiTrace::isCallAFrameMarker(const ApiTraceCall *call,
 
 bool ApiTrace::isEmpty() const
 {
-    return m_calls.isEmpty();
+    return m_frames.isEmpty();
 }
 
 QString ApiTrace::fileName() const
@@ -148,7 +147,6 @@ void ApiTrace::setFileName(const QString &name)
         m_fileName = name;
 
         m_frames.clear();
-        m_calls.clear();
         m_errors.clear();
         m_editedCalls.clear();
         m_needsSaving = false;
@@ -159,17 +157,6 @@ void ApiTrace::setFileName(const QString &name)
     }
 }
 
-void ApiTrace::setFrameMarker(FrameMarker marker)
-{
-    if (m_frameMarker != marker) {
-        emit framesInvalidated();
-
-        qDeleteAll(m_frames);
-        m_frames.clear();
-        detectFrames();
-    }
-}
-
 void ApiTrace::addFrames(const QList<ApiTraceFrame*> &frames)
 {
     QVector<ApiTraceCall*> calls;
@@ -180,57 +167,21 @@ void ApiTrace::addFrames(const QList<ApiTraceFrame*> &frames)
 
     m_frames += frames;
 
-    int currentCalls = m_calls.count();
     int numNewCalls = 0;
     foreach(ApiTraceFrame *frame, frames) {
         frame->setParentTrace(this);
         numNewCalls += frame->numChildren();
         calls += frame->calls();
     }
-    m_calls.reserve(m_calls.count() + calls.count() + 1);
-    m_calls += calls;
-
-    emit endAddingFrames();
-    emit callsAdded(currentCalls, numNewCalls);
-}
 
-void ApiTrace::detectFrames()
-{
-    if (m_calls.isEmpty())
-        return;
-
-    emit beginAddingFrames(0, m_frames.count());
-
-    ApiTraceFrame *currentFrame = 0;
-    foreach(ApiTraceCall *apiCall, m_calls) {
-        if (!currentFrame) {
-            currentFrame = new ApiTraceFrame(this);
-            currentFrame->number = m_frames.count();
-            currentFrame->setLoaded(true);
-        }
-        apiCall->setParentFrame(currentFrame);
-        currentFrame->addCall(apiCall);
-        if (ApiTrace::isCallAFrameMarker(apiCall,
-                                         m_frameMarker)) {
-            m_frames.append(currentFrame);
-            currentFrame = 0;
-        }
-    }
-    //last frames won't have markers
-    //  it's just a bunch of Delete calls for every object
-    //  after the last SwapBuffers
-    if (currentFrame) {
-        m_frames.append(currentFrame);
-        currentFrame = 0;
-    }
     emit endAddingFrames();
 }
 
 ApiTraceCall * ApiTrace::callWithIndex(int idx) const
 {
-    for (int i = 0; i < m_calls.count(); ++i) {
-        ApiTraceCall *call = m_calls[i];
-        if (call->index() == idx)
+    for (int i = 0; i < m_frames.count(); ++i) {
+        ApiTraceCall *call = m_frames[i]->callWithIndex(idx);
+        if (call)
             return call;
     }
     return NULL;
@@ -286,7 +237,8 @@ void ApiTrace::save()
     QDir dir;
     emit startedSaving();
     dir.mkpath(fi.absolutePath());
-    m_saver->saveFile(m_tempFileName, m_calls);
+    Q_ASSERT(!"saving not implemented");
+    m_saver->saveFile(m_tempFileName, QVector<ApiTraceCall*>());
 }
 
 void ApiTrace::slotSaved()
index 060f34abea202a73654504ee4cea5bb163bfac2b..5cd3fe736f990e053946e97a5e3caf8ef1244a86 100644 (file)
@@ -60,7 +60,6 @@ public:
 
 public slots:
     void setFileName(const QString &name);
-    void setFrameMarker(FrameMarker marker);
     void save();
     void loadFrame(ApiTraceFrame *frame);
     void findNext(ApiTraceFrame *frame,
@@ -92,7 +91,6 @@ signals:
 
     void beginAddingFrames(int oldCount, int numAdded);
     void endAddingFrames();
-    void callsAdded(int oldCount, int numAdded);
     void beginLoadingFrame(ApiTraceFrame *frame, int numAdded);
     void endLoadingFrame(ApiTraceFrame *frame);
     void foundFrameStart(ApiTraceFrame *frame);
@@ -121,7 +119,6 @@ private slots:
                             ApiTraceCall *call);
 
 private:
-    void detectFrames();
     int callInFrame(int callIdx) const;
 private:
     QString m_fileName;
index 4063bf0c283cab627f1df0898c96bcf6955618f7..8d95f167fd44607f7d21157316ecb367c59fd0c0 100644 (file)
@@ -936,6 +936,11 @@ ApiTraceFrame::ApiTraceFrame(ApiTrace *parentTrace)
 {
 }
 
+ApiTraceFrame::~ApiTraceFrame()
+{
+    qDeleteAll(m_calls);
+}
+
 QStaticText ApiTraceFrame::staticText() const
 {
     if (m_staticText && !m_staticText->text().isEmpty())
index 0ca49ba934e513d810e4ef2892d9141899da1e56..01dd0038a3baec4273021464862d79bb9b7253e9 100644 (file)
@@ -290,6 +290,7 @@ class ApiTraceFrame : public ApiTraceEvent
 {
 public:
     ApiTraceFrame(ApiTrace *parent=0);
+    ~ApiTraceFrame();
     int number;
 
     bool isEmpty() const;