From 11edba4974ab702deb54371bf1bf7644f1dd8e38 Mon Sep 17 00:00:00 2001 From: german77 Date: Sun, 26 Mar 2023 21:26:28 -0600 Subject: applet: controller: Implement cancel button --- src/yuzu/applets/qt_controller.cpp | 8 ++++---- src/yuzu/applets/qt_controller.h | 2 +- src/yuzu/applets/qt_controller.ui | 8 +++++++- src/yuzu/main.cpp | 7 ++++--- src/yuzu/main.h | 2 +- 5 files changed, 17 insertions(+), 10 deletions(-) (limited to 'src/yuzu') diff --git a/src/yuzu/applets/qt_controller.cpp b/src/yuzu/applets/qt_controller.cpp index 79018a7f6..00aafb8f8 100644 --- a/src/yuzu/applets/qt_controller.cpp +++ b/src/yuzu/applets/qt_controller.cpp @@ -300,7 +300,7 @@ bool QtControllerSelectorDialog::CheckIfParametersMet() { if (num_connected_players < min_supported_players || num_connected_players > max_supported_players) { parameters_met = false; - ui->buttonBox->setEnabled(parameters_met); + ui->buttonBox->button(QDialogButtonBox::Ok)->setEnabled(parameters_met); return parameters_met; } @@ -327,7 +327,7 @@ bool QtControllerSelectorDialog::CheckIfParametersMet() { }(); parameters_met = all_controllers_compatible; - ui->buttonBox->setEnabled(parameters_met); + ui->buttonBox->button(QDialogButtonBox::Ok)->setEnabled(parameters_met); return parameters_met; } @@ -697,8 +697,8 @@ void QtControllerSelector::ReconfigureControllers( emit MainWindowReconfigureControllers(parameters); } -void QtControllerSelector::MainWindowReconfigureFinished() { +void QtControllerSelector::MainWindowReconfigureFinished(bool is_success) { if (callback) { - callback(); + callback(is_success); } } diff --git a/src/yuzu/applets/qt_controller.h b/src/yuzu/applets/qt_controller.h index 2ef7e488f..2fdc35857 100644 --- a/src/yuzu/applets/qt_controller.h +++ b/src/yuzu/applets/qt_controller.h @@ -167,7 +167,7 @@ signals: void MainWindowRequestExit() const; private: - void MainWindowReconfigureFinished(); + void MainWindowReconfigureFinished(bool is_success); mutable ReconfigureCallback callback; }; diff --git a/src/yuzu/applets/qt_controller.ui b/src/yuzu/applets/qt_controller.ui index f5eccba70..729e921ee 100644 --- a/src/yuzu/applets/qt_controller.ui +++ b/src/yuzu/applets/qt_controller.ui @@ -2629,7 +2629,7 @@ true - QDialogButtonBox::Ok + QDialogButtonBox::Cancel|QDialogButtonBox::Ok @@ -2649,5 +2649,11 @@ QtControllerSelectorDialog accept() + + buttonBox + rejected() + QtControllerSelectorDialog + reject() + diff --git a/src/yuzu/main.cpp b/src/yuzu/main.cpp index 0c60a90cb..2ebfef551 100644 --- a/src/yuzu/main.cpp +++ b/src/yuzu/main.cpp @@ -634,15 +634,16 @@ void GMainWindow::ControllerSelectorReconfigureControllers( Qt::WindowStaysOnTopHint | Qt::WindowTitleHint | Qt::WindowSystemMenuHint); controller_applet->setWindowModality(Qt::WindowModal); - controller_applet->exec(); - - emit ControllerSelectorReconfigureFinished(); + bool is_success = controller_applet->exec() != QDialog::Rejected; // Don't forget to apply settings. + system->HIDCore().DisableAllControllerConfiguration(); system->ApplySettings(); config->Save(); UpdateStatusButtons(); + + emit ControllerSelectorReconfigureFinished(is_success); } void GMainWindow::ControllerSelectorRequestExit() { diff --git a/src/yuzu/main.h b/src/yuzu/main.h index a99938eaa..58a65bd33 100644 --- a/src/yuzu/main.h +++ b/src/yuzu/main.h @@ -165,7 +165,7 @@ signals: void AmiiboSettingsFinished(bool is_success, const std::string& name); - void ControllerSelectorReconfigureFinished(); + void ControllerSelectorReconfigureFinished(bool is_success); void ErrorDisplayFinished(); -- cgit v1.2.3