diff options
Diffstat (limited to 'src/yuzu/configuration')
-rw-r--r-- | src/yuzu/configuration/configure_debug_controller.cpp | 4 | ||||
-rw-r--r-- | src/yuzu/configuration/configure_debug_controller.h | 4 | ||||
-rw-r--r-- | src/yuzu/configuration/configure_input.cpp | 13 | ||||
-rw-r--r-- | src/yuzu/configuration/configure_input.h | 2 | ||||
-rw-r--r-- | src/yuzu/configuration/configure_input_advanced.cpp | 2 | ||||
-rw-r--r-- | src/yuzu/configuration/configure_input_advanced.h | 1 | ||||
-rw-r--r-- | src/yuzu/configuration/configure_input_player.cpp | 70 |
7 files changed, 45 insertions, 51 deletions
diff --git a/src/yuzu/configuration/configure_debug_controller.cpp b/src/yuzu/configuration/configure_debug_controller.cpp index 45996b73f..72885b4b8 100644 --- a/src/yuzu/configuration/configure_debug_controller.cpp +++ b/src/yuzu/configuration/configure_debug_controller.cpp @@ -6,10 +6,10 @@ #include "yuzu/configuration/configure_debug_controller.h" ConfigureDebugController::ConfigureDebugController(QWidget* parent) - : QDialog(parent), ui(std::make_unique<Ui::ConfigureDebugController>()) { + : QDialog(parent), ui(std::make_unique<Ui::ConfigureDebugController>()), + debug_controller(new ConfigureInputPlayer(this, 9, nullptr, true)) { ui->setupUi(this); - debug_controller = new ConfigureInputPlayer(this, 9, nullptr, true); ui->controllerLayout->addWidget(debug_controller); connect(ui->clear_all_button, &QPushButton::clicked, this, diff --git a/src/yuzu/configuration/configure_debug_controller.h b/src/yuzu/configuration/configure_debug_controller.h index df359a4f3..36475bbea 100644 --- a/src/yuzu/configuration/configure_debug_controller.h +++ b/src/yuzu/configuration/configure_debug_controller.h @@ -27,7 +27,7 @@ private: void changeEvent(QEvent* event) override; void RetranslateUI(); - ConfigureInputPlayer* debug_controller; - std::unique_ptr<Ui::ConfigureDebugController> ui; + + ConfigureInputPlayer* debug_controller; }; diff --git a/src/yuzu/configuration/configure_input.cpp b/src/yuzu/configuration/configure_input.cpp index 5200d2d0e..0d004c2f7 100644 --- a/src/yuzu/configuration/configure_input.cpp +++ b/src/yuzu/configuration/configure_input.cpp @@ -103,13 +103,14 @@ ConfigureInput::ConfigureInput(QWidget* parent) } }); connect(player_controllers[i], &ConfigureInputPlayer::RefreshInputDevices, - [&] { UpdateAllInputDevices(); }); - connect(player_connected[i], &QCheckBox::stateChanged, - [&, i](int state) { player_controllers[i]->ConnectPlayer(state == Qt::Checked); }); + [this] { UpdateAllInputDevices(); }); + connect(player_connected[i], &QCheckBox::stateChanged, [this, i](int state) { + player_controllers[i]->ConnectPlayer(state == Qt::Checked); + }); } // Only the first player can choose handheld mode so connect the signal just to player 1 connect(player_controllers[0], &ConfigureInputPlayer::HandheldStateChanged, - [&](bool is_handheld) { UpdateDockedState(is_handheld); }); + [this](bool is_handheld) { UpdateDockedState(is_handheld); }); advanced = new ConfigureInputAdvanced(this); ui->tabAdvanced->setLayout(new QHBoxLayout(ui->tabAdvanced)); @@ -182,14 +183,14 @@ void ConfigureInput::LoadPlayerControllerIndices() { void ConfigureInput::ClearAll() { // We don't have a good way to know what tab is active, but we can find out by getting the // parent of the consoleInputSettings - auto player_tab = static_cast<ConfigureInputPlayer*>(ui->consoleInputSettings->parent()); + auto* player_tab = static_cast<ConfigureInputPlayer*>(ui->consoleInputSettings->parent()); player_tab->ClearAll(); } void ConfigureInput::RestoreDefaults() { // We don't have a good way to know what tab is active, but we can find out by getting the // parent of the consoleInputSettings - auto player_tab = static_cast<ConfigureInputPlayer*>(ui->consoleInputSettings->parent()); + auto* player_tab = static_cast<ConfigureInputPlayer*>(ui->consoleInputSettings->parent()); player_tab->RestoreDefaults(); ui->radioDocked->setChecked(true); diff --git a/src/yuzu/configuration/configure_input.h b/src/yuzu/configuration/configure_input.h index 8241d23ef..78ca659da 100644 --- a/src/yuzu/configuration/configure_input.h +++ b/src/yuzu/configuration/configure_input.h @@ -15,9 +15,9 @@ #include "ui_configure_input.h" +class QCheckBox; class QString; class QTimer; -class QCheckBox; namespace Ui { class ConfigureInput; diff --git a/src/yuzu/configuration/configure_input_advanced.cpp b/src/yuzu/configuration/configure_input_advanced.cpp index 18db04e7e..db42b826b 100644 --- a/src/yuzu/configuration/configure_input_advanced.cpp +++ b/src/yuzu/configuration/configure_input_advanced.cpp @@ -9,7 +9,7 @@ #include "yuzu/configuration/configure_input_advanced.h" ConfigureInputAdvanced::ConfigureInputAdvanced(QWidget* parent) - : QWidget(parent), ui(new Ui::ConfigureInputAdvanced) { + : QWidget(parent), ui(std::make_unique<Ui::ConfigureInputAdvanced>()) { ui->setupUi(this); controllers_color_buttons = {{ diff --git a/src/yuzu/configuration/configure_input_advanced.h b/src/yuzu/configuration/configure_input_advanced.h index d6e913675..d8fcec52d 100644 --- a/src/yuzu/configuration/configure_input_advanced.h +++ b/src/yuzu/configuration/configure_input_advanced.h @@ -4,6 +4,7 @@ #pragma once +#include <array> #include <memory> #include <QWidget> diff --git a/src/yuzu/configuration/configure_input_player.cpp b/src/yuzu/configuration/configure_input_player.cpp index 4d79a51f3..68d0d5db7 100644 --- a/src/yuzu/configuration/configure_input_player.cpp +++ b/src/yuzu/configuration/configure_input_player.cpp @@ -348,22 +348,22 @@ ConfigureInputPlayer::ConfigureInputPlayer(QWidget* parent, std::size_t player_i // Player Connected checkbox connect(ui->groupConnectedController, &QGroupBox::toggled, - [&](bool checked) { emit Connected(checked); }); + [this](bool checked) { emit Connected(checked); }); // Set up controller type. Only Player 1 can choose Handheld. ui->comboControllerType->clear(); QStringList controller_types = { - QStringLiteral("Pro Controller"), - QStringLiteral("Dual Joycons"), - QStringLiteral("Left Joycon"), - QStringLiteral("Right Joycon"), + tr("Pro Controller"), + tr("Dual Joycons"), + tr("Left Joycon"), + tr("Right Joycon"), }; if (player_index == 0) { - controller_types.append(QStringLiteral("Handheld")); + controller_types.append(tr("Handheld")); connect(ui->comboControllerType, qOverload<int>(&QComboBox::currentIndexChanged), - [&](int index) { + [this](int index) { emit HandheldStateChanged(GetControllerTypeFromIndex(index) == Settings::ControllerType::Handheld); }); @@ -375,7 +375,7 @@ ConfigureInputPlayer::ConfigureInputPlayer(QWidget* parent, std::size_t player_i ui->buttonHome->setEnabled(false); ui->groupConnectedController->setCheckable(false); QStringList debug_controller_types = { - QStringLiteral("Pro Controller"), + tr("Pro Controller"), }; ui->comboControllerType->addItems(debug_controller_types); } else { @@ -384,17 +384,18 @@ ConfigureInputPlayer::ConfigureInputPlayer(QWidget* parent, std::size_t player_i UpdateControllerIcon(); UpdateControllerAvailableButtons(); - connect(ui->comboControllerType, qOverload<int>(&QComboBox::currentIndexChanged), [&](int) { + connect(ui->comboControllerType, qOverload<int>(&QComboBox::currentIndexChanged), [this](int) { UpdateControllerIcon(); UpdateControllerAvailableButtons(); }); - connect(ui->comboDevices, qOverload<int>(&QComboBox::currentIndexChanged), - [&] { UpdateMappingWithDefaults(); }); + connect(ui->comboDevices, qOverload<int>(&QComboBox::currentIndexChanged), this, + &ConfigureInputPlayer::UpdateMappingWithDefaults); ui->buttonRefreshDevices->setIcon(QIcon::fromTheme(QStringLiteral("view-refresh"))); UpdateInputDevices(); - connect(ui->buttonRefreshDevices, &QPushButton::clicked, [&] { emit RefreshInputDevices(); }); + connect(ui->buttonRefreshDevices, &QPushButton::clicked, + [this] { emit RefreshInputDevices(); }); timeout_timer->setSingleShot(true); connect(timeout_timer.get(), &QTimer::timeout, [this] { SetPollingResult({}, true); }); @@ -707,26 +708,22 @@ void ConfigureInputPlayer::keyPressEvent(QKeyEvent* event) { void ConfigureInputPlayer::UpdateControllerIcon() { // We aren't using Qt's built in theme support here since we aren't drawing an icon (and its // "nonstandard" to use an image through the icon support) - QString stylesheet{}; - switch (GetControllerTypeFromIndex(ui->comboControllerType->currentIndex())) { - case Settings::ControllerType::ProController: - stylesheet = QStringLiteral("image: url(:/controller/pro_controller%0)"); - break; - case Settings::ControllerType::DualJoyconDetached: - stylesheet = QStringLiteral("image: url(:/controller/dual_joycon%0)"); - break; - case Settings::ControllerType::LeftJoycon: - stylesheet = QStringLiteral("image: url(:/controller/single_joycon_left_vertical%0)"); - break; - case Settings::ControllerType::RightJoycon: - stylesheet = QStringLiteral("image: url(:/controller/single_joycon_right_vertical%0)"); - break; - case Settings::ControllerType::Handheld: - stylesheet = QStringLiteral("image: url(:/controller/handheld%0)"); - break; - default: - break; - } + const QString stylesheet = [this] { + switch (GetControllerTypeFromIndex(ui->comboControllerType->currentIndex())) { + case Settings::ControllerType::ProController: + return QStringLiteral("image: url(:/controller/pro_controller%0)"); + case Settings::ControllerType::DualJoyconDetached: + return QStringLiteral("image: url(:/controller/dual_joycon%0)"); + case Settings::ControllerType::LeftJoycon: + return QStringLiteral("image: url(:/controller/single_joycon_left_vertical%0)"); + case Settings::ControllerType::RightJoycon: + return QStringLiteral("image: url(:/controller/single_joycon_right_vertical%0)"); + case Settings::ControllerType::Handheld: + return QStringLiteral("image: url(:/controller/handheld%0)"); + default: + return QString{}; + } + }(); const QString theme = [this] { if (QIcon::themeName().contains(QStringLiteral("dark"))) { @@ -744,12 +741,12 @@ void ConfigureInputPlayer::UpdateControllerIcon() { void ConfigureInputPlayer::UpdateControllerAvailableButtons() { auto layout = GetControllerTypeFromIndex(ui->comboControllerType->currentIndex()); if (debug) { - layout = Settings::ControllerType::DualJoyconDetached; + layout = Settings::ControllerType::ProController; } // List of all the widgets that will be hidden by any of the following layouts that need // "unhidden" after the controller type changes - const std::vector<QWidget*> layout_show = { + const std::array<QWidget*, 9> layout_show = { ui->buttonShoulderButtonsSLSR, ui->horizontalSpacerShoulderButtonsWidget, ui->horizontalSpacerShoulderButtonsWidget2, @@ -768,11 +765,6 @@ void ConfigureInputPlayer::UpdateControllerAvailableButtons() { std::vector<QWidget*> layout_hidden; switch (layout) { case Settings::ControllerType::ProController: - layout_hidden = { - ui->buttonShoulderButtonsSLSR, - ui->horizontalSpacerShoulderButtonsWidget2, - }; - break; case Settings::ControllerType::DualJoyconDetached: case Settings::ControllerType::Handheld: layout_hidden = { |