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:
parent
bf6b23f4a0
commit
706f9c5574
|
@ -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"));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -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;
|
||||||
};
|
};
|
||||||
|
|
Loading…
Reference in a new issue