| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566 |
- // Copyright 2020 yuzu Emulator Project
- // Licensed under GPLv2 or any later version
- // Refer to the license.txt file included.
- #include "core/settings.h"
- #include "ui_configure_vibration.h"
- #include "yuzu/configuration/configure_vibration.h"
- ConfigureVibration::ConfigureVibration(QWidget* parent)
- : QDialog(parent), ui(std::make_unique<Ui::ConfigureVibration>()) {
- ui->setupUi(this);
- vibration_groupboxes = {
- ui->vibrationGroupPlayer1, ui->vibrationGroupPlayer2, ui->vibrationGroupPlayer3,
- ui->vibrationGroupPlayer4, ui->vibrationGroupPlayer5, ui->vibrationGroupPlayer6,
- ui->vibrationGroupPlayer7, ui->vibrationGroupPlayer8,
- };
- vibration_spinboxes = {
- ui->vibrationSpinPlayer1, ui->vibrationSpinPlayer2, ui->vibrationSpinPlayer3,
- ui->vibrationSpinPlayer4, ui->vibrationSpinPlayer5, ui->vibrationSpinPlayer6,
- ui->vibrationSpinPlayer7, ui->vibrationSpinPlayer8,
- };
- const auto& players = Settings::values.players.GetValue();
- for (std::size_t i = 0; i < NUM_PLAYERS; ++i) {
- vibration_groupboxes[i]->setChecked(players[i].vibration_enabled);
- vibration_spinboxes[i]->setValue(players[i].vibration_strength);
- }
- ui->checkBoxAccurateVibration->setChecked(
- Settings::values.enable_accurate_vibrations.GetValue());
- if (!Settings::IsConfiguringGlobal()) {
- ui->checkBoxAccurateVibration->setDisabled(true);
- }
- RetranslateUI();
- }
- ConfigureVibration::~ConfigureVibration() = default;
- void ConfigureVibration::ApplyConfiguration() {
- auto& players = Settings::values.players.GetValue();
- for (std::size_t i = 0; i < NUM_PLAYERS; ++i) {
- players[i].vibration_enabled = vibration_groupboxes[i]->isChecked();
- players[i].vibration_strength = vibration_spinboxes[i]->value();
- }
- Settings::values.enable_accurate_vibrations.SetValue(
- ui->checkBoxAccurateVibration->isChecked());
- }
- void ConfigureVibration::changeEvent(QEvent* event) {
- if (event->type() == QEvent::LanguageChange) {
- RetranslateUI();
- }
- QDialog::changeEvent(event);
- }
- void ConfigureVibration::RetranslateUI() {
- ui->retranslateUi(this);
- }
|