mirror of
https://github.com/RPCS3/rpcs3.git
synced 2025-03-12 04:14:35 +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)
|
void debugger_frame::closeEvent(QCloseEvent* event)
|
||||||
{
|
{
|
||||||
|
SaveSettings();
|
||||||
|
m_gui_settings->sync();
|
||||||
|
|
||||||
QDockWidget::closeEvent(event);
|
QDockWidget::closeEvent(event);
|
||||||
Q_EMIT DebugFrameClosed();
|
Q_EMIT DebugFrameClosed();
|
||||||
}
|
}
|
||||||
|
@ -222,8 +222,6 @@ game_list_frame::~game_list_frame()
|
|||||||
WaitAndAbortRepaintThreads();
|
WaitAndAbortRepaintThreads();
|
||||||
gui::utils::stop_future_watcher(m_parsing_watcher, true);
|
gui::utils::stop_future_watcher(m_parsing_watcher, true);
|
||||||
gui::utils::stop_future_watcher(m_refresh_watcher, true);
|
gui::utils::stop_future_watcher(m_refresh_watcher, true);
|
||||||
|
|
||||||
SaveSettings();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void game_list_frame::OnColClicked(int col)
|
void game_list_frame::OnColClicked(int col)
|
||||||
@ -2226,6 +2224,9 @@ void game_list_frame::FocusAndSelectFirstEntryIfNoneIs()
|
|||||||
|
|
||||||
void game_list_frame::closeEvent(QCloseEvent *event)
|
void game_list_frame::closeEvent(QCloseEvent *event)
|
||||||
{
|
{
|
||||||
|
SaveSettings();
|
||||||
|
m_gui_settings->sync();
|
||||||
|
|
||||||
QDockWidget::closeEvent(event);
|
QDockWidget::closeEvent(event);
|
||||||
Q_EMIT GameListFrameClosed();
|
Q_EMIT GameListFrameClosed();
|
||||||
}
|
}
|
||||||
|
@ -109,7 +109,6 @@ main_window::main_window(std::shared_ptr<gui_settings> gui_settings, std::shared
|
|||||||
|
|
||||||
main_window::~main_window()
|
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).
|
/* 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();
|
m_game_list_frame->SaveSettings();
|
||||||
// Save splitter state
|
// Save splitter state
|
||||||
m_debugger_frame->SaveSettings();
|
m_debugger_frame->SaveSettings();
|
||||||
|
|
||||||
|
m_gui_settings->sync();
|
||||||
}
|
}
|
||||||
|
|
||||||
void main_window::RepaintThumbnailIcons()
|
void main_window::RepaintThumbnailIcons()
|
||||||
@ -3204,6 +3205,7 @@ void main_window::closeEvent(QCloseEvent* closeEvent)
|
|||||||
Emu.GracefulShutdown(false);
|
Emu.GracefulShutdown(false);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
SaveWindowState();
|
||||||
Emu.Quit(true);
|
Emu.Quit(true);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -220,18 +220,22 @@ pad_settings_dialog::pad_settings_dialog(std::shared_ptr<gui_settings> gui_setti
|
|||||||
ChangeProfile(ui->chooseProfile->currentText());
|
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()
|
pad_settings_dialog::~pad_settings_dialog()
|
||||||
{
|
{
|
||||||
if (m_input_thread)
|
if (m_input_thread)
|
||||||
{
|
{
|
||||||
m_input_thread_state = input_thread_state::pausing;
|
m_input_thread_state = input_thread_state::pausing;
|
||||||
auto& thread = *m_input_thread;
|
*m_input_thread = thread_state::finished;
|
||||||
thread = thread_state::aborting;
|
|
||||||
thread();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
m_gui_settings->SetValue(gui::pads_geometry, saveGeometry());
|
|
||||||
|
|
||||||
if (!Emu.IsStopped())
|
if (!Emu.IsStopped())
|
||||||
{
|
{
|
||||||
pad::reset(Emu.GetTitleID());
|
pad::reset(Emu.GetTitleID());
|
||||||
|
@ -236,4 +236,5 @@ protected:
|
|||||||
void mouseMoveEvent(QMouseEvent *event) override;
|
void mouseMoveEvent(QMouseEvent *event) override;
|
||||||
void wheelEvent(QWheelEvent *event) override;
|
void wheelEvent(QWheelEvent *event) override;
|
||||||
bool eventFilter(QObject* object, QEvent* 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);
|
download_update(true, false);
|
||||||
}
|
}
|
||||||
|
|
||||||
patch_manager_dialog::~patch_manager_dialog()
|
void patch_manager_dialog::closeEvent(QCloseEvent* event)
|
||||||
{
|
{
|
||||||
// Save gui settings
|
// Save gui settings
|
||||||
m_gui_settings->SetValue(gui::pm_geometry, saveGeometry());
|
m_gui_settings->SetValue(gui::pm_geometry, saveGeometry());
|
||||||
m_gui_settings->SetValue(gui::pm_splitter_state, ui->splitter->saveState());
|
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()
|
int patch_manager_dialog::exec()
|
||||||
|
@ -83,4 +83,5 @@ protected:
|
|||||||
void dragEnterEvent(QDragEnterEvent* event) override;
|
void dragEnterEvent(QDragEnterEvent* event) override;
|
||||||
void dragMoveEvent(QDragMoveEvent* event) override;
|
void dragMoveEvent(QDragMoveEvent* event) override;
|
||||||
void dragLeaveEvent(QDragLeaveEvent* 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_states, states);
|
||||||
m_gui_settings->SetValue(gui::rsx_geometry, saveGeometry());
|
m_gui_settings->SetValue(gui::rsx_geometry, saveGeometry());
|
||||||
|
m_gui_settings->sync();
|
||||||
|
|
||||||
QDialog::closeEvent(event);
|
QDialog::closeEvent(event);
|
||||||
}
|
}
|
||||||
|
@ -589,6 +589,7 @@ void save_manager_dialog::SetIconSize(int size)
|
|||||||
void save_manager_dialog::closeEvent(QCloseEvent *event)
|
void save_manager_dialog::closeEvent(QCloseEvent *event)
|
||||||
{
|
{
|
||||||
m_gui_settings->SetValue(gui::sd_geometry, saveGeometry());
|
m_gui_settings->SetValue(gui::sd_geometry, saveGeometry());
|
||||||
|
m_gui_settings->sync();
|
||||||
|
|
||||||
QDialog::closeEvent(event);
|
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->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
|
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 SubscribeDescription(QLabel* description);
|
||||||
void SubscribeTooltip(QObject* object, const QString& tooltip);
|
void SubscribeTooltip(QObject* object, const QString& tooltip);
|
||||||
bool eventFilter(QObject* object, QEvent* event) override;
|
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_splitterState, m_splitter->saveState());
|
||||||
m_gui_settings->SetValue(gui::tr_games_state, m_game_table->horizontalHeader()->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->SetValue(gui::tr_trophy_state, m_trophy_table->horizontalHeader()->saveState());
|
||||||
|
m_gui_settings->sync();
|
||||||
|
|
||||||
QWidget::closeEvent(event);
|
QWidget::closeEvent(event);
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user