]> git.cworth.org Git - apitrace/commitdiff
Allow to specify the API from trace dialog.
authorJosé Fonseca <jose.r.fonseca@gmail.com>
Tue, 28 Feb 2012 17:12:24 +0000 (17:12 +0000)
committerJosé Fonseca <jose.r.fonseca@gmail.com>
Tue, 28 Feb 2012 17:12:24 +0000 (17:12 +0000)
gui/mainwindow.cpp
gui/tracedialog.cpp
gui/tracedialog.h
gui/traceprocess.cpp
gui/traceprocess.h
gui/ui/tracedialog.ui

index d37162ba7e227c10df01cedc1fc5e0310586ae8a..672ad643b42713a3965f302ee4c7e9f1d1a06c4b 100644 (file)
@@ -61,6 +61,7 @@ void MainWindow::createTrace()
     if (dialog.exec() == QDialog::Accepted) {
         qDebug()<< "App : " <<dialog.applicationPath();
         qDebug()<< "  Arguments: "<<dialog.arguments();
+        m_traceProcess->setApi(dialog.api());
         m_traceProcess->setExecutablePath(dialog.applicationPath());
         m_traceProcess->setArguments(dialog.arguments());
         m_traceProcess->start();
index bed517368ff243c147774b3f254ddd1e25b0e86f..15067077d09aeffac1def5fbdbc276113f0e6259 100644 (file)
@@ -9,10 +9,25 @@ TraceDialog::TraceDialog(QWidget *parent)
 {
     setupUi(this);
 
+    apiComboBox->addItem("GL");
+#ifdef Q_OS_WIN
+    apiComboBox->addItem("D3D7");
+    apiComboBox->addItem("D3D8");
+    apiComboBox->addItem("D3D9");
+    apiComboBox->addItem("D3D10");
+#else
+    apiComboBox->addItem("EGL");
+#endif
+
     connect(browseButton, SIGNAL(clicked()),
             this, SLOT(browse()));
 }
 
+QString TraceDialog::api() const
+{
+    return apiComboBox->currentText().toLower();
+}
+
 QString TraceDialog::applicationPath() const
 {
     return applicationEdit->text();
index d5e502ddc60d8279b65930ef4a745c847162ff91..0ebe13ad7bc30a54cadafc414013c72f3cfb0b1a 100644 (file)
@@ -12,6 +12,7 @@ public:
 
     void accept();
 
+    QString api() const;
     QString applicationPath() const;
     QStringList arguments() const;
 
index 5961444cd6e1370974cc20b829f6b2157a471050..6f4d0b9350da147249bbf1e522fd8c51d6de4384 100644 (file)
@@ -31,6 +31,11 @@ TraceProcess::~TraceProcess()
 {
 }
 
+void TraceProcess::setApi(const QString &str)
+{
+    m_api = str;
+}
+
 void TraceProcess::setExecutablePath(const QString &str)
 {
     m_execPath = str;
@@ -93,6 +98,8 @@ void TraceProcess::start()
     QStringList arguments;
 
     arguments << QLatin1String("trace");
+    arguments << QLatin1String("--api");
+    arguments << m_api;
     arguments << QLatin1String("--output");
     arguments << m_tracePath;
     arguments << QLatin1String("--");
index b65f41c548ab0e3a1b909077195a567eedeaabf7..343bac967cf6fddf6c64557fe8a457fde17441bf 100644 (file)
@@ -13,6 +13,7 @@ public:
 
     bool canTrace() const;
 
+    void setApi(const QString &str);
     void setExecutablePath(const QString &str);
     QString executablePath() const;
 
@@ -31,6 +32,7 @@ private slots:
     void traceError(QProcess::ProcessError err);
 
 private:
+    QString m_api;
     QString m_execPath;
     QStringList m_args;
     QString m_tracePath;
index 149881f7427714162303944e76d110ab6af875a8..a3e5240a540b2ec44a2751557b9652650bb567f5 100644 (file)
    <string>Dialog</string>
   </property>
   <layout class="QVBoxLayout" name="verticalLayout">
+   <item>
+    <layout class="QHBoxLayout" name="horizontalLayout_3">
+     <item>
+      <widget class="QLabel" name="label_3">
+       <property name="text">
+        <string>API:</string>
+       </property>
+      </widget>
+     </item>
+     <item>
+      <widget class="QComboBox" name="apiComboBox"/>
+     </item>
+    </layout>
+   </item>
    <item>
     <layout class="QHBoxLayout" name="horizontalLayout">
      <item>