rsx_debugger: save/restore table header states

This commit is contained in:
Megamouse 2018-03-30 12:51:59 +02:00 committed by Ivan
parent 4899e35fbb
commit d97d30ea2e
2 changed files with 14 additions and 1 deletions

View File

@ -150,6 +150,7 @@ namespace gui
const gui_save d_centerPC = gui_save(debugger, "centerPC", false); const gui_save d_centerPC = gui_save(debugger, "centerPC", false);
const gui_save rsx_geometry = gui_save(rsx, "geometry", QByteArray()); const gui_save rsx_geometry = gui_save(rsx, "geometry", QByteArray());
const gui_save rsx_states = gui_save(rsx, "states", QVariantMap());
const gui_save m_currentConfig = gui_save(meta, "currentConfig", QObject::tr("CurrentSettings")); const gui_save m_currentConfig = gui_save(meta, "currentConfig", QObject::tr("CurrentSettings"));
const gui_save m_currentStylesheet = gui_save(meta, "currentStylesheet", Default); const gui_save m_currentStylesheet = gui_save(meta, "currentStylesheet", Default);

View File

@ -249,6 +249,11 @@ rsx_debugger::rsx_debugger(std::shared_ptr<gui_settings> gui_settings, QWidget*
}); });
connect(m_list_captured_draw_calls, &QTableWidget::itemClicked, this, &rsx_debugger::OnClickDrawCalls); connect(m_list_captured_draw_calls, &QTableWidget::itemClicked, this, &rsx_debugger::OnClickDrawCalls);
// Restore header states
QVariantMap states = m_gui_settings->GetValue(gui::rsx_states).toMap();
for (int i = 0; i < m_tw_rsx->count(); i++)
((QTableWidget*)m_tw_rsx->widget(i))->horizontalHeader()->restoreState(states[QString::number(i)].toByteArray());
// Fill the frame // Fill the frame
for (u32 i = 0; i < frame_debug.command_queue.size(); i++) for (u32 i = 0; i < frame_debug.command_queue.size(); i++)
m_list_captured_frame->insertRow(i); m_list_captured_frame->insertRow(i);
@ -264,7 +269,14 @@ rsx_debugger::~rsx_debugger()
void rsx_debugger::closeEvent(QCloseEvent* event) void rsx_debugger::closeEvent(QCloseEvent* event)
{ {
// Save header states and window geometry
QVariantMap states;
for (int i = 0; i < m_tw_rsx->count(); i++)
states[QString::number(i)] = ((QTableWidget*)m_tw_rsx->widget(i))->horizontalHeader()->saveState();
m_gui_settings->SetValue(gui::rsx_states, states);
m_gui_settings->SetValue(gui::rsx_geometry, saveGeometry()); m_gui_settings->SetValue(gui::rsx_geometry, saveGeometry());
QDialog::closeEvent(event); QDialog::closeEvent(event);
} }