diff --git a/src/qt_gui/main_window.cpp b/src/qt_gui/main_window.cpp index e52820102..3f358ac5c 100644 --- a/src/qt_gui/main_window.cpp +++ b/src/qt_gui/main_window.cpp @@ -4,6 +4,7 @@ #include #include #include +#include #include "about_dialog.h" #include "cheats_patches.h" @@ -231,6 +232,7 @@ void MainWindow::CreateConnects() { }); connect(ui->playButton, &QPushButton::clicked, this, &MainWindow::StartGame); + connect(ui->stopButton, &QPushButton::clicked, this, &MainWindow::StopGame); connect(m_game_grid_frame.get(), &QTableWidget::cellDoubleClicked, this, &MainWindow::StartGame); connect(m_game_list_frame.get(), &QTableWidget::cellDoubleClicked, this, @@ -563,6 +565,12 @@ void MainWindow::StartGame() { } } +void MainWindow::StopGame() { + SDL_Event quitEvent; + quitEvent.type = SDL_EVENT_QUIT; + SDL_PushEvent(&quitEvent); +} + void MainWindow::SearchGameTable(const QString& text) { if (isTableList) { for (int row = 0; row < m_game_list_frame->rowCount(); row++) { diff --git a/src/qt_gui/main_window.h b/src/qt_gui/main_window.h index 6264978aa..da0841cd8 100644 --- a/src/qt_gui/main_window.h +++ b/src/qt_gui/main_window.h @@ -38,6 +38,7 @@ public: void InstallDragDropPkg(std::filesystem::path file, int pkgNum, int nPkg); void InstallDirectory(); void StartGame(); + void StopGame(); private Q_SLOTS: void ConfigureGuiFromSettings();