mirror of
https://github.com/RPCS3/rpcs3.git
synced 2025-03-11 10:14:16 +00:00
Qt: Save UI settings and geometry safely on closeEvent
This commit is contained in:
parent
f87db1ac14
commit
593f850693
@ -230,6 +230,9 @@ bool debugger_frame::eventFilter(QObject* object, QEvent* event)
|
||||
|
||||
void debugger_frame::closeEvent(QCloseEvent* event)
|
||||
{
|
||||
SaveSettings();
|
||||
m_gui_settings->sync();
|
||||
|
||||
QDockWidget::closeEvent(event);
|
||||
Q_EMIT DebugFrameClosed();
|
||||
}
|
||||
|
@ -222,8 +222,6 @@ game_list_frame::~game_list_frame()
|
||||
WaitAndAbortRepaintThreads();
|
||||
gui::utils::stop_future_watcher(m_parsing_watcher, true);
|
||||
gui::utils::stop_future_watcher(m_refresh_watcher, true);
|
||||
|
||||
SaveSettings();
|
||||
}
|
||||
|
||||
void game_list_frame::OnColClicked(int col)
|
||||
@ -2226,6 +2224,9 @@ void game_list_frame::FocusAndSelectFirstEntryIfNoneIs()
|
||||
|
||||
void game_list_frame::closeEvent(QCloseEvent *event)
|
||||
{
|
||||
SaveSettings();
|
||||
m_gui_settings->sync();
|
||||
|
||||
QDockWidget::closeEvent(event);
|
||||
Q_EMIT GameListFrameClosed();
|
||||
}
|
||||
|
@ -109,7 +109,6 @@ main_window::main_window(std::shared_ptr<gui_settings> gui_settings, std::shared
|
||||
|
||||
main_window::~main_window()
|
||||
{
|
||||
SaveWindowState();
|
||||
}
|
||||
|
||||
/* An init method is used so that RPCS3App can create the necessary connects before calling init (specifically the stylesheet connect).
|
||||
@ -1667,6 +1666,8 @@ void main_window::SaveWindowState() const
|
||||
m_game_list_frame->SaveSettings();
|
||||
// Save splitter state
|
||||
m_debugger_frame->SaveSettings();
|
||||
|
||||
m_gui_settings->sync();
|
||||
}
|
||||
|
||||
void main_window::RepaintThumbnailIcons()
|
||||
@ -3204,6 +3205,7 @@ void main_window::closeEvent(QCloseEvent* closeEvent)
|
||||
Emu.GracefulShutdown(false);
|
||||
}
|
||||
|
||||
SaveWindowState();
|
||||
Emu.Quit(true);
|
||||
}
|
||||
|
||||
|
@ -220,18 +220,22 @@ pad_settings_dialog::pad_settings_dialog(std::shared_ptr<gui_settings> gui_setti
|
||||
ChangeProfile(ui->chooseProfile->currentText());
|
||||
}
|
||||
|
||||
void pad_settings_dialog::closeEvent(QCloseEvent* event)
|
||||
{
|
||||
m_gui_settings->SetValue(gui::pads_geometry, saveGeometry());
|
||||
m_gui_settings->sync();
|
||||
|
||||
QDialog::closeEvent(event);
|
||||
}
|
||||
|
||||
pad_settings_dialog::~pad_settings_dialog()
|
||||
{
|
||||
if (m_input_thread)
|
||||
{
|
||||
m_input_thread_state = input_thread_state::pausing;
|
||||
auto& thread = *m_input_thread;
|
||||
thread = thread_state::aborting;
|
||||
thread();
|
||||
*m_input_thread = thread_state::finished;
|
||||
}
|
||||
|
||||
m_gui_settings->SetValue(gui::pads_geometry, saveGeometry());
|
||||
|
||||
if (!Emu.IsStopped())
|
||||
{
|
||||
pad::reset(Emu.GetTitleID());
|
||||
|
@ -236,4 +236,5 @@ protected:
|
||||
void mouseMoveEvent(QMouseEvent *event) override;
|
||||
void wheelEvent(QWheelEvent *event) override;
|
||||
bool eventFilter(QObject* object, QEvent* event) override;
|
||||
void closeEvent(QCloseEvent* event) override;
|
||||
};
|
||||
|
@ -151,11 +151,18 @@ patch_manager_dialog::patch_manager_dialog(std::shared_ptr<gui_settings> gui_set
|
||||
download_update(true, false);
|
||||
}
|
||||
|
||||
patch_manager_dialog::~patch_manager_dialog()
|
||||
void patch_manager_dialog::closeEvent(QCloseEvent* event)
|
||||
{
|
||||
// Save gui settings
|
||||
m_gui_settings->SetValue(gui::pm_geometry, saveGeometry());
|
||||
m_gui_settings->SetValue(gui::pm_splitter_state, ui->splitter->saveState());
|
||||
m_gui_settings->sync();
|
||||
|
||||
QDialog::closeEvent(event);
|
||||
}
|
||||
|
||||
patch_manager_dialog::~patch_manager_dialog()
|
||||
{
|
||||
}
|
||||
|
||||
int patch_manager_dialog::exec()
|
||||
|
@ -83,4 +83,5 @@ protected:
|
||||
void dragEnterEvent(QDragEnterEvent* event) override;
|
||||
void dragMoveEvent(QDragMoveEvent* event) override;
|
||||
void dragLeaveEvent(QDragLeaveEvent* event) override;
|
||||
void closeEvent(QCloseEvent* event) override;
|
||||
};
|
||||
|
@ -267,6 +267,7 @@ void rsx_debugger::closeEvent(QCloseEvent* event)
|
||||
|
||||
m_gui_settings->SetValue(gui::rsx_states, states);
|
||||
m_gui_settings->SetValue(gui::rsx_geometry, saveGeometry());
|
||||
m_gui_settings->sync();
|
||||
|
||||
QDialog::closeEvent(event);
|
||||
}
|
||||
|
@ -589,6 +589,7 @@ void save_manager_dialog::SetIconSize(int size)
|
||||
void save_manager_dialog::closeEvent(QCloseEvent *event)
|
||||
{
|
||||
m_gui_settings->SetValue(gui::sd_geometry, saveGeometry());
|
||||
m_gui_settings->sync();
|
||||
|
||||
QDialog::closeEvent(event);
|
||||
}
|
||||
|
@ -2365,9 +2365,14 @@ settings_dialog::settings_dialog(std::shared_ptr<gui_settings> gui_settings, std
|
||||
}
|
||||
}
|
||||
|
||||
settings_dialog::~settings_dialog()
|
||||
void settings_dialog::closeEvent(QCloseEvent* event)
|
||||
{
|
||||
m_gui_settings->SetValue(gui::cfg_geometry, saveGeometry());
|
||||
m_gui_settings->sync();
|
||||
}
|
||||
|
||||
settings_dialog::~settings_dialog()
|
||||
{
|
||||
}
|
||||
|
||||
void settings_dialog::EnhanceSlider(emu_settings_type settings_type, QSlider* slider, QLabel* label, const QString& label_text) const
|
||||
|
@ -64,4 +64,5 @@ private:
|
||||
void SubscribeDescription(QLabel* description);
|
||||
void SubscribeTooltip(QObject* object, const QString& tooltip);
|
||||
bool eventFilter(QObject* object, QEvent* event) override;
|
||||
void closeEvent(QCloseEvent* event) override;
|
||||
};
|
||||
|
@ -1224,6 +1224,7 @@ void trophy_manager_dialog::closeEvent(QCloseEvent *event)
|
||||
m_gui_settings->SetValue(gui::tr_splitterState, m_splitter->saveState());
|
||||
m_gui_settings->SetValue(gui::tr_games_state, m_game_table->horizontalHeader()->saveState());
|
||||
m_gui_settings->SetValue(gui::tr_trophy_state, m_trophy_table->horizontalHeader()->saveState());
|
||||
m_gui_settings->sync();
|
||||
|
||||
QWidget::closeEvent(event);
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user