citra-qt: Polish the pica tracing widget.

Changed start/stop button to reflect current tracing status.
Properly labeled column headers.
This commit is contained in:
Tony Wasserka 2014-10-26 11:40:12 +01:00
parent bf6b23f4a0
commit 706f9c5574
2 changed files with 26 additions and 1 deletions

View file

@ -49,6 +49,24 @@ QVariant GPUCommandListModel::data(const QModelIndex& index, int role) const
return QVariant(); return QVariant();
} }
QVariant GPUCommandListModel::headerData(int section, Qt::Orientation orientation, int role) const
{
switch(role) {
case Qt::DisplayRole:
{
if (section == 0) {
return tr("Command Name");
} else if (section == 1) {
return tr("Data");
}
break;
}
}
return QVariant();
}
void GPUCommandListModel::OnPicaTraceFinished(const Pica::DebugUtils::PicaTrace& trace) void GPUCommandListModel::OnPicaTraceFinished(const Pica::DebugUtils::PicaTrace& trace)
{ {
beginResetModel(); beginResetModel();
@ -70,7 +88,7 @@ GPUCommandListWidget::GPUCommandListWidget(QWidget* parent) : QDockWidget(tr("Pi
list_widget->setFont(QFont("monospace")); list_widget->setFont(QFont("monospace"));
list_widget->setRootIsDecorated(false); list_widget->setRootIsDecorated(false);
QPushButton* toggle_tracing = new QPushButton(tr("Start Tracing")); toggle_tracing = new QPushButton(tr("Start Tracing"));
connect(toggle_tracing, SIGNAL(clicked()), this, SLOT(OnToggleTracing())); connect(toggle_tracing, SIGNAL(clicked()), this, SLOT(OnToggleTracing()));
connect(this, SIGNAL(TracingFinished(const Pica::DebugUtils::PicaTrace&)), connect(this, SIGNAL(TracingFinished(const Pica::DebugUtils::PicaTrace&)),
@ -88,8 +106,10 @@ void GPUCommandListWidget::OnToggleTracing()
{ {
if (!Pica::DebugUtils::IsPicaTracing()) { if (!Pica::DebugUtils::IsPicaTracing()) {
Pica::DebugUtils::StartPicaTracing(); Pica::DebugUtils::StartPicaTracing();
toggle_tracing->setText(tr("Stop Tracing"));
} else { } else {
pica_trace = Pica::DebugUtils::FinishPicaTracing(); pica_trace = Pica::DebugUtils::FinishPicaTracing();
emit TracingFinished(*pica_trace); emit TracingFinished(*pica_trace);
toggle_tracing->setText(tr("Start Tracing"));
} }
} }

View file

@ -10,6 +10,8 @@
#include "video_core/gpu_debugger.h" #include "video_core/gpu_debugger.h"
#include "video_core/debug_utils/debug_utils.h" #include "video_core/debug_utils/debug_utils.h"
class QPushButton;
class GPUCommandListModel : public QAbstractListModel class GPUCommandListModel : public QAbstractListModel
{ {
Q_OBJECT Q_OBJECT
@ -20,6 +22,7 @@ public:
int columnCount(const QModelIndex& parent = QModelIndex()) const override; int columnCount(const QModelIndex& parent = QModelIndex()) const override;
int rowCount(const QModelIndex& parent = QModelIndex()) const override; int rowCount(const QModelIndex& parent = QModelIndex()) const override;
QVariant data(const QModelIndex& index, int role = Qt::DisplayRole) const override; QVariant data(const QModelIndex& index, int role = Qt::DisplayRole) const override;
QVariant headerData(int section, Qt::Orientation orientation, int role = Qt::DisplayRole) const override;
public slots: public slots:
void OnPicaTraceFinished(const Pica::DebugUtils::PicaTrace& trace); void OnPicaTraceFinished(const Pica::DebugUtils::PicaTrace& trace);
@ -43,4 +46,6 @@ signals:
private: private:
std::unique_ptr<Pica::DebugUtils::PicaTrace> pica_trace; std::unique_ptr<Pica::DebugUtils::PicaTrace> pica_trace;
QPushButton* toggle_tracing;
}; };