]> git.cworth.org Git - apitrace/blobdiff - gui/traceloader.h
Skip over filtered calls when searching.
[apitrace] / gui / traceloader.h
index 4b88ec605041527e2c9464e1aabbc9ee9cd484da..b36cab8471efcd6408a31829ce52606505f79f57 100644 (file)
@@ -28,15 +28,10 @@ public slots:
     void loadTrace(const QString &filename);
     void loadFrame(ApiTraceFrame *frame);
     void setFrameMarker(ApiTrace::FrameMarker marker);
-    void searchNext(int startFrame,
-                    const QString &str,
-                    Qt::CaseSensitivity sensitivity);
-    void searchPrev(int startFrame,
-                    const QString &str,
-                    Qt::CaseSensitivity sensitivity);
     void findFrameStart(ApiTraceFrame *frame);
     void findFrameEnd(ApiTraceFrame *frame);
     void findCallIndex(int index);
+    void search(const ApiTrace::SearchRequest &request);
 
 signals:
     void startedParsing();
@@ -48,7 +43,9 @@ signals:
                              const QVector<ApiTraceCall*> &calls,
                              quint64 binaryDataSize);
 
-    void searchResult(ApiTrace::SearchResult result, ApiTraceCall *call);
+    void searchResult(const ApiTrace::SearchRequest &request,
+                      ApiTrace::SearchResult result,
+                      ApiTraceCall *call);
     void foundFrameStart(ApiTraceFrame *frame);
     void foundFrameEnd(ApiTraceFrame *frame);
     void foundCallIndex(ApiTraceCall *call);
@@ -73,6 +70,9 @@ private:
     void scanTrace();
     void parseTrace();
 
+    void searchNext(const ApiTrace::SearchRequest &request);
+    void searchPrev(const ApiTrace::SearchRequest &request);
+
     int callInFrame(int callIdx) const;
     bool callContains(Trace::Call *call,
                       const QString &str,
@@ -80,12 +80,10 @@ private:
      QVector<ApiTraceCall*> fetchFrameContents(ApiTraceFrame *frame);
      bool searchCallsBackwards(const QList<Trace::Call*> &calls,
                                int frameIdx,
-                               const QString &str,
-                               Qt::CaseSensitivity sensitivity);
+                               const ApiTrace::SearchRequest &request);
 
 private:
     Trace::Parser m_parser;
-    QString m_fileName;
     ApiTrace::FrameMarker m_frameMarker;
 
     typedef QMap<int, FrameBookmark> FrameBookmarks;