diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/yuzu/configuration/configure_input.cpp | 34 | ||||
| -rw-r--r-- | src/yuzu/configuration/configure_input.h | 3 | ||||
| -rw-r--r-- | src/yuzu/configuration/configure_mouse_advanced.cpp | 4 |
3 files changed, 20 insertions, 21 deletions
diff --git a/src/yuzu/configuration/configure_input.cpp b/src/yuzu/configuration/configure_input.cpp index e58c62c9a..ec46dc4e3 100644 --- a/src/yuzu/configuration/configure_input.cpp +++ b/src/yuzu/configuration/configure_input.cpp | |||
| @@ -20,6 +20,19 @@ | |||
| 20 | #include "yuzu/configuration/configure_input_player.h" | 20 | #include "yuzu/configuration/configure_input_player.h" |
| 21 | #include "yuzu/configuration/configure_mouse_advanced.h" | 21 | #include "yuzu/configuration/configure_mouse_advanced.h" |
| 22 | 22 | ||
| 23 | namespace { | ||
| 24 | template <typename Dialog, typename... Args> | ||
| 25 | void CallConfigureDialog(ConfigureInput& parent, Args&&... args) { | ||
| 26 | parent.applyConfiguration(); | ||
| 27 | Dialog dialog(&parent, std::forward<Args>(args)...); | ||
| 28 | |||
| 29 | const auto res = dialog.exec(); | ||
| 30 | if (res == QDialog::Accepted) { | ||
| 31 | dialog.applyConfiguration(); | ||
| 32 | } | ||
| 33 | } | ||
| 34 | } // Anonymous namespace | ||
| 35 | |||
| 23 | ConfigureInput::ConfigureInput(QWidget* parent) | 36 | ConfigureInput::ConfigureInput(QWidget* parent) |
| 24 | : QWidget(parent), ui(std::make_unique<Ui::ConfigureInput>()) { | 37 | : QWidget(parent), ui(std::make_unique<Ui::ConfigureInput>()) { |
| 25 | ui->setupUi(this); | 38 | ui->setupUi(this); |
| @@ -59,31 +72,20 @@ ConfigureInput::ConfigureInput(QWidget* parent) | |||
| 59 | 72 | ||
| 60 | for (std::size_t i = 0; i < players_configure.size(); ++i) { | 73 | for (std::size_t i = 0; i < players_configure.size(); ++i) { |
| 61 | connect(players_configure[i], &QPushButton::pressed, this, | 74 | connect(players_configure[i], &QPushButton::pressed, this, |
| 62 | [this, i]() { CallConfigureDialog<ConfigureInputPlayer>(i, false); }); | 75 | [this, i] { CallConfigureDialog<ConfigureInputPlayer>(*this, i, false); }); |
| 63 | } | 76 | } |
| 64 | 77 | ||
| 65 | connect(ui->handheld_configure, &QPushButton::pressed, this, | 78 | connect(ui->handheld_configure, &QPushButton::pressed, this, |
| 66 | [this]() { CallConfigureDialog<ConfigureInputPlayer>(8, false); }); | 79 | [this] { CallConfigureDialog<ConfigureInputPlayer>(*this, 8, false); }); |
| 67 | 80 | ||
| 68 | connect(ui->debug_configure, &QPushButton::pressed, this, | 81 | connect(ui->debug_configure, &QPushButton::pressed, this, |
| 69 | [this]() { CallConfigureDialog<ConfigureInputPlayer>(9, true); }); | 82 | [this] { CallConfigureDialog<ConfigureInputPlayer>(*this, 9, true); }); |
| 70 | 83 | ||
| 71 | connect(ui->mouse_advanced, &QPushButton::pressed, this, | 84 | connect(ui->mouse_advanced, &QPushButton::pressed, this, |
| 72 | [this]() { CallConfigureDialog<ConfigureMouseAdvanced>(); }); | 85 | [this] { CallConfigureDialog<ConfigureMouseAdvanced>(*this); }); |
| 73 | 86 | ||
| 74 | connect(ui->touchscreen_advanced, &QPushButton::pressed, this, | 87 | connect(ui->touchscreen_advanced, &QPushButton::pressed, this, |
| 75 | [this]() { CallConfigureDialog<ConfigureTouchscreenAdvanced>(); }); | 88 | [this] { CallConfigureDialog<ConfigureTouchscreenAdvanced>(*this); }); |
| 76 | } | ||
| 77 | |||
| 78 | template <typename Dialog, typename... Args> | ||
| 79 | void ConfigureInput::CallConfigureDialog(Args&&... args) { | ||
| 80 | this->applyConfiguration(); | ||
| 81 | Dialog dialog(this, std::forward<Args>(args)...); | ||
| 82 | |||
| 83 | const auto res = dialog.exec(); | ||
| 84 | if (res == QDialog::Accepted) { | ||
| 85 | dialog.applyConfiguration(); | ||
| 86 | } | ||
| 87 | } | 89 | } |
| 88 | 90 | ||
| 89 | void ConfigureInput::OnDockedModeChanged(bool last_state, bool new_state) { | 91 | void ConfigureInput::OnDockedModeChanged(bool last_state, bool new_state) { |
diff --git a/src/yuzu/configuration/configure_input.h b/src/yuzu/configuration/configure_input.h index 0de442bf0..e8723dfcb 100644 --- a/src/yuzu/configuration/configure_input.h +++ b/src/yuzu/configuration/configure_input.h | |||
| @@ -32,9 +32,6 @@ public: | |||
| 32 | private: | 32 | private: |
| 33 | void updateUIEnabled(); | 33 | void updateUIEnabled(); |
| 34 | 34 | ||
| 35 | template <typename Dialog, typename... Args> | ||
| 36 | void CallConfigureDialog(Args&&... args); | ||
| 37 | |||
| 38 | void OnDockedModeChanged(bool last_state, bool new_state); | 35 | void OnDockedModeChanged(bool last_state, bool new_state); |
| 39 | 36 | ||
| 40 | /// Load configuration settings. | 37 | /// Load configuration settings. |
diff --git a/src/yuzu/configuration/configure_mouse_advanced.cpp b/src/yuzu/configuration/configure_mouse_advanced.cpp index dab58fbaa..ef857035e 100644 --- a/src/yuzu/configuration/configure_mouse_advanced.cpp +++ b/src/yuzu/configuration/configure_mouse_advanced.cpp | |||
| @@ -4,11 +4,11 @@ | |||
| 4 | 4 | ||
| 5 | #include <algorithm> | 5 | #include <algorithm> |
| 6 | #include <memory> | 6 | #include <memory> |
| 7 | #include <utility> | 7 | |
| 8 | #include <QKeyEvent> | 8 | #include <QKeyEvent> |
| 9 | #include <QMenu> | 9 | #include <QMenu> |
| 10 | #include <QMessageBox> | ||
| 11 | #include <QTimer> | 10 | #include <QTimer> |
| 11 | |||
| 12 | #include "common/assert.h" | 12 | #include "common/assert.h" |
| 13 | #include "common/param_package.h" | 13 | #include "common/param_package.h" |
| 14 | #include "input_common/main.h" | 14 | #include "input_common/main.h" |