|
|
@ -2,6 +2,8 @@ |
|
|
// Licensed under GPLv2 or any later version
|
|
|
// Licensed under GPLv2 or any later version
|
|
|
// Refer to the license.txt file included.
|
|
|
// Refer to the license.txt file included.
|
|
|
|
|
|
|
|
|
|
|
|
#include <QApplication>
|
|
|
|
|
|
#include <QClipboard>
|
|
|
#include <QLabel>
|
|
|
#include <QLabel>
|
|
|
#include <QListView>
|
|
|
#include <QListView>
|
|
|
#include <QMainWindow>
|
|
|
#include <QMainWindow>
|
|
|
@ -304,16 +306,24 @@ GPUCommandListWidget::GPUCommandListWidget(QWidget* parent) : QDockWidget(tr("Pi |
|
|
this, SLOT(OnCommandDoubleClicked(const QModelIndex&))); |
|
|
this, SLOT(OnCommandDoubleClicked(const QModelIndex&))); |
|
|
|
|
|
|
|
|
toggle_tracing = new QPushButton(tr("Start Tracing")); |
|
|
toggle_tracing = new QPushButton(tr("Start Tracing")); |
|
|
|
|
|
QPushButton* copy_all = new QPushButton(tr("Copy All")); |
|
|
|
|
|
|
|
|
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&)), |
|
|
model, SLOT(OnPicaTraceFinished(const Pica::DebugUtils::PicaTrace&))); |
|
|
model, SLOT(OnPicaTraceFinished(const Pica::DebugUtils::PicaTrace&))); |
|
|
|
|
|
|
|
|
|
|
|
connect(copy_all, SIGNAL(clicked()), this, SLOT(CopyAllToClipboard())); |
|
|
|
|
|
|
|
|
command_info_widget = new QWidget; |
|
|
command_info_widget = new QWidget; |
|
|
|
|
|
|
|
|
QVBoxLayout* main_layout = new QVBoxLayout; |
|
|
QVBoxLayout* main_layout = new QVBoxLayout; |
|
|
main_layout->addWidget(list_widget); |
|
|
main_layout->addWidget(list_widget); |
|
|
main_layout->addWidget(toggle_tracing); |
|
|
|
|
|
|
|
|
{ |
|
|
|
|
|
QHBoxLayout* sub_layout = new QHBoxLayout; |
|
|
|
|
|
sub_layout->addWidget(toggle_tracing); |
|
|
|
|
|
sub_layout->addWidget(copy_all); |
|
|
|
|
|
main_layout->addLayout(sub_layout); |
|
|
|
|
|
} |
|
|
main_layout->addWidget(command_info_widget); |
|
|
main_layout->addWidget(command_info_widget); |
|
|
main_widget->setLayout(main_layout); |
|
|
main_widget->setLayout(main_layout); |
|
|
|
|
|
|
|
|
@ -330,3 +340,21 @@ void GPUCommandListWidget::OnToggleTracing() { |
|
|
toggle_tracing->setText(tr("Start Tracing")); |
|
|
toggle_tracing->setText(tr("Start Tracing")); |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
void GPUCommandListWidget::CopyAllToClipboard() { |
|
|
|
|
|
QClipboard* clipboard = QApplication::clipboard(); |
|
|
|
|
|
QString text; |
|
|
|
|
|
|
|
|
|
|
|
QAbstractItemModel* model = (QAbstractListModel*)list_widget->model(); |
|
|
|
|
|
|
|
|
|
|
|
for (int row = 0; row < model->rowCount({}); ++row) { |
|
|
|
|
|
for (int col = 0; col < model->columnCount({}); ++col) { |
|
|
|
|
|
QModelIndex index = model->index(row, col); |
|
|
|
|
|
text += model->data(index).value<QString>(); |
|
|
|
|
|
text += '\t'; |
|
|
|
|
|
} |
|
|
|
|
|
text += '\n'; |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
clipboard->setText(text); |
|
|
|
|
|
} |