]> git.cworth.org Git - apitrace/blobdiff - gui/trimprocess.h
Add trim support to qapitrace GUI app.
[apitrace] / gui / trimprocess.h
diff --git a/gui/trimprocess.h b/gui/trimprocess.h
new file mode 100644 (file)
index 0000000..1cc796c
--- /dev/null
@@ -0,0 +1,45 @@
+#ifndef TRIMPROCESS_H
+#define TRIMPROCESS_H
+
+#include "apitrace.h"
+
+#include <QObject>
+#include <QProcess>
+
+class TrimProcess : public QObject
+{
+    Q_OBJECT
+public:
+    TrimProcess(QObject *parent=0);
+    ~TrimProcess();
+
+    void setTrimIndex(int trimIndex);
+    int trimIndex();
+
+    void setTracePath(const QString &str);
+    QString tracePath() const;
+
+private:
+    void updateTrimPath();
+
+public slots:
+    void start();
+
+signals:
+    void trimmedFile(const QString &trimPath);
+    void error(const QString &msg);
+
+private slots:
+    void trimFinished();
+    void trimError(QProcess::ProcessError err);
+
+private:
+    QStringList m_args;
+    QString m_tracePath;
+    QString m_trimPath;
+    ApiTraceEvent *m_trimEvent;
+    int m_trimIndex;
+    QProcess *m_process;
+};
+
+#endif