From d97d30ea2e5a7fd379f882c24553d00d1554e3c4 Mon Sep 17 00:00:00 2001 From: Megamouse Date: Fri, 30 Mar 2018 12:51:59 +0200 Subject: [PATCH] rsx_debugger: save/restore table header states --- rpcs3/rpcs3qt/gui_settings.h | 1 + rpcs3/rpcs3qt/rsx_debugger.cpp | 14 +++++++++++++- 2 files changed, 14 insertions(+), 1 deletion(-) diff --git a/rpcs3/rpcs3qt/gui_settings.h b/rpcs3/rpcs3qt/gui_settings.h index b8db109549..5d51f2248f 100644 --- a/rpcs3/rpcs3qt/gui_settings.h +++ b/rpcs3/rpcs3qt/gui_settings.h @@ -150,6 +150,7 @@ namespace gui const gui_save d_centerPC = gui_save(debugger, "centerPC", false); 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_currentStylesheet = gui_save(meta, "currentStylesheet", Default); diff --git a/rpcs3/rpcs3qt/rsx_debugger.cpp b/rpcs3/rpcs3qt/rsx_debugger.cpp index 2268950ccc..5e3c0c02d5 100644 --- a/rpcs3/rpcs3qt/rsx_debugger.cpp +++ b/rpcs3/rpcs3qt/rsx_debugger.cpp @@ -249,7 +249,12 @@ rsx_debugger::rsx_debugger(std::shared_ptr gui_settings, QWidget* }); connect(m_list_captured_draw_calls, &QTableWidget::itemClicked, this, &rsx_debugger::OnClickDrawCalls); - //Fill the frame + // 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 for (u32 i = 0; i < frame_debug.command_queue.size(); i++) m_list_captured_frame->insertRow(i); @@ -264,7 +269,14 @@ rsx_debugger::~rsx_debugger() 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()); + QDialog::closeEvent(event); }