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 = {  | 
