diff --git a/src/qt_gui/control_settings.cpp b/src/qt_gui/control_settings.cpp index 4960d9524..bc9e6ed4f 100644 --- a/src/qt_gui/control_settings.cpp +++ b/src/qt_gui/control_settings.cpp @@ -122,9 +122,9 @@ ControlSettings::ControlSettings(std::shared_ptr game_info_get, b [this]() { CheckMapping(MappingButton); }); connect(this, &ControlSettings::AxisChanged, this, [this]() { ConnectAxisInputs(MappingButton); }); - connect(ui->ActiveGamepadBox, &QComboBox::currentIndexChanged, this, &ControlSettings::ActiveControllerChanged); + connect(ui->DefaultGamepadButton, &QPushButton::clicked, this, [this]() { char pszGUID[33]; SDL_GUIDToString(SDL_GetGamepadGUIDForID(gamepads[ui->ActiveGamepadBox->currentIndex()]), @@ -138,6 +138,18 @@ ControlSettings::ControlSettings(std::shared_ptr game_info_get, b tr("Active controller set as default")); }); + connect(ui->RemoveDefaultGamepadButton, &QPushButton::clicked, this, [this]() { + char pszGUID[33]; + SDL_GUIDToString(SDL_GetGamepadGUIDForID(gamepads[ui->ActiveGamepadBox->currentIndex()]), + pszGUID, 33); + ui->DefaultGamepadName->setText("No default selected"); + ui->DefaultGamepadLabel->setText("n/a"); + Config::setDefaultControllerID(""); + Config::save(Common::FS::GetUserPath(Common::FS::PathType::UserDir) / "config.toml"); + QMessageBox::information(this, tr("Default Controller Removed"), + tr("No default controller currently selected")); + }); + RemapWrapper = SdlEventWrapper::Wrapper::GetInstance(); SdlEventWrapper::Wrapper::wrapperActive = true; QObject::connect(RemapWrapper, &SdlEventWrapper::Wrapper::SDLEvent, this, diff --git a/src/qt_gui/control_settings.ui b/src/qt_gui/control_settings.ui index d7860b28a..efab94e2c 100644 --- a/src/qt_gui/control_settings.ui +++ b/src/qt_gui/control_settings.ui @@ -746,17 +746,34 @@ - - - - 9 - true - - - - Set Active Gamepad as Default - - + + + + + + 9 + true + + + + Set Active Gamepad as Default + + + + + + + + 9 + true + + + + Remove Default Gamepad + + + +