From 2cdc9403293a2478c1d8bc10ca0ffc618f0516bf Mon Sep 17 00:00:00 2001 From: =?utf8?q?Jos=C3=A9=20Fonseca?= Date: Tue, 28 Feb 2012 17:12:24 +0000 Subject: [PATCH] Allow to specify the API from trace dialog. --- gui/mainwindow.cpp | 1 + gui/tracedialog.cpp | 15 +++++++++++++++ gui/tracedialog.h | 1 + gui/traceprocess.cpp | 7 +++++++ gui/traceprocess.h | 2 ++ gui/ui/tracedialog.ui | 14 ++++++++++++++ 6 files changed, 40 insertions(+) diff --git a/gui/mainwindow.cpp b/gui/mainwindow.cpp index d37162b..672ad64 100644 --- a/gui/mainwindow.cpp +++ b/gui/mainwindow.cpp @@ -61,6 +61,7 @@ void MainWindow::createTrace() if (dialog.exec() == QDialog::Accepted) { qDebug()<< "App : " <setApi(dialog.api()); m_traceProcess->setExecutablePath(dialog.applicationPath()); m_traceProcess->setArguments(dialog.arguments()); m_traceProcess->start(); diff --git a/gui/tracedialog.cpp b/gui/tracedialog.cpp index bed5173..1506707 100644 --- a/gui/tracedialog.cpp +++ b/gui/tracedialog.cpp @@ -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(); diff --git a/gui/tracedialog.h b/gui/tracedialog.h index d5e502d..0ebe13a 100644 --- a/gui/tracedialog.h +++ b/gui/tracedialog.h @@ -12,6 +12,7 @@ public: void accept(); + QString api() const; QString applicationPath() const; QStringList arguments() const; diff --git a/gui/traceprocess.cpp b/gui/traceprocess.cpp index 5961444..6f4d0b9 100644 --- a/gui/traceprocess.cpp +++ b/gui/traceprocess.cpp @@ -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("--"); diff --git a/gui/traceprocess.h b/gui/traceprocess.h index b65f41c..343bac9 100644 --- a/gui/traceprocess.h +++ b/gui/traceprocess.h @@ -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; diff --git a/gui/ui/tracedialog.ui b/gui/ui/tracedialog.ui index 149881f..a3e5240 100644 --- a/gui/ui/tracedialog.ui +++ b/gui/ui/tracedialog.ui @@ -14,6 +14,20 @@ Dialog + + + + + + API: + + + + + + + + -- 2.43.0