yuzu/configuration: Make function naming consistent

This commit is contained in:
Lioncash 2019-05-26 00:39:23 -04:00
parent 1eb979221f
commit e1d755bdda
33 changed files with 234 additions and 213 deletions

View file

@ -22,11 +22,11 @@ ConfigureAudio::ConfigureAudio(QWidget* parent)
} }
connect(ui->volume_slider, &QSlider::valueChanged, this, connect(ui->volume_slider, &QSlider::valueChanged, this,
&ConfigureAudio::setVolumeIndicatorText); &ConfigureAudio::SetVolumeIndicatorText);
this->setConfiguration(); SetConfiguration();
connect(ui->output_sink_combo_box, qOverload<int>(&QComboBox::currentIndexChanged), this, connect(ui->output_sink_combo_box, qOverload<int>(&QComboBox::currentIndexChanged), this,
&ConfigureAudio::updateAudioDevices); &ConfigureAudio::UpdateAudioDevices);
const bool is_powered_on = Core::System::GetInstance().IsPoweredOn(); const bool is_powered_on = Core::System::GetInstance().IsPoweredOn();
ui->output_sink_combo_box->setEnabled(!is_powered_on); ui->output_sink_combo_box->setEnabled(!is_powered_on);
@ -35,20 +35,20 @@ ConfigureAudio::ConfigureAudio(QWidget* parent)
ConfigureAudio::~ConfigureAudio() = default; ConfigureAudio::~ConfigureAudio() = default;
void ConfigureAudio::setConfiguration() { void ConfigureAudio::SetConfiguration() {
setOutputSinkFromSinkID(); SetOutputSinkFromSinkID();
// The device list cannot be pre-populated (nor listed) until the output sink is known. // The device list cannot be pre-populated (nor listed) until the output sink is known.
updateAudioDevices(ui->output_sink_combo_box->currentIndex()); UpdateAudioDevices(ui->output_sink_combo_box->currentIndex());
setAudioDeviceFromDeviceID(); SetAudioDeviceFromDeviceID();
ui->toggle_audio_stretching->setChecked(Settings::values.enable_audio_stretching); ui->toggle_audio_stretching->setChecked(Settings::values.enable_audio_stretching);
ui->volume_slider->setValue(Settings::values.volume * ui->volume_slider->maximum()); ui->volume_slider->setValue(Settings::values.volume * ui->volume_slider->maximum());
setVolumeIndicatorText(ui->volume_slider->sliderPosition()); SetVolumeIndicatorText(ui->volume_slider->sliderPosition());
} }
void ConfigureAudio::setOutputSinkFromSinkID() { void ConfigureAudio::SetOutputSinkFromSinkID() {
int new_sink_index = 0; int new_sink_index = 0;
const QString sink_id = QString::fromStdString(Settings::values.sink_id); const QString sink_id = QString::fromStdString(Settings::values.sink_id);
@ -62,7 +62,7 @@ void ConfigureAudio::setOutputSinkFromSinkID() {
ui->output_sink_combo_box->setCurrentIndex(new_sink_index); ui->output_sink_combo_box->setCurrentIndex(new_sink_index);
} }
void ConfigureAudio::setAudioDeviceFromDeviceID() { void ConfigureAudio::SetAudioDeviceFromDeviceID() {
int new_device_index = -1; int new_device_index = -1;
const QString device_id = QString::fromStdString(Settings::values.audio_device_id); const QString device_id = QString::fromStdString(Settings::values.audio_device_id);
@ -76,11 +76,11 @@ void ConfigureAudio::setAudioDeviceFromDeviceID() {
ui->audio_device_combo_box->setCurrentIndex(new_device_index); ui->audio_device_combo_box->setCurrentIndex(new_device_index);
} }
void ConfigureAudio::setVolumeIndicatorText(int percentage) { void ConfigureAudio::SetVolumeIndicatorText(int percentage) {
ui->volume_indicator->setText(tr("%1%", "Volume percentage (e.g. 50%)").arg(percentage)); ui->volume_indicator->setText(tr("%1%", "Volume percentage (e.g. 50%)").arg(percentage));
} }
void ConfigureAudio::applyConfiguration() { void ConfigureAudio::ApplyConfiguration() {
Settings::values.sink_id = Settings::values.sink_id =
ui->output_sink_combo_box->itemText(ui->output_sink_combo_box->currentIndex()) ui->output_sink_combo_box->itemText(ui->output_sink_combo_box->currentIndex())
.toStdString(); .toStdString();
@ -92,7 +92,7 @@ void ConfigureAudio::applyConfiguration() {
static_cast<float>(ui->volume_slider->sliderPosition()) / ui->volume_slider->maximum(); static_cast<float>(ui->volume_slider->sliderPosition()) / ui->volume_slider->maximum();
} }
void ConfigureAudio::updateAudioDevices(int sink_index) { void ConfigureAudio::UpdateAudioDevices(int sink_index) {
ui->audio_device_combo_box->clear(); ui->audio_device_combo_box->clear();
ui->audio_device_combo_box->addItem(QString::fromUtf8(AudioCore::auto_device_name)); ui->audio_device_combo_box->addItem(QString::fromUtf8(AudioCore::auto_device_name));
@ -102,6 +102,6 @@ void ConfigureAudio::updateAudioDevices(int sink_index) {
} }
} }
void ConfigureAudio::retranslateUi() { void ConfigureAudio::RetranslateUI() {
ui->retranslateUi(this); ui->retranslateUi(this);
} }

View file

@ -18,16 +18,16 @@ public:
explicit ConfigureAudio(QWidget* parent = nullptr); explicit ConfigureAudio(QWidget* parent = nullptr);
~ConfigureAudio() override; ~ConfigureAudio() override;
void applyConfiguration(); void ApplyConfiguration();
void retranslateUi(); void RetranslateUI();
private: private:
void updateAudioDevices(int sink_index); void UpdateAudioDevices(int sink_index);
void setConfiguration(); void SetConfiguration();
void setOutputSinkFromSinkID(); void SetOutputSinkFromSinkID();
void setAudioDeviceFromDeviceID(); void SetAudioDeviceFromDeviceID();
void setVolumeIndicatorText(int percentage); void SetVolumeIndicatorText(int percentage);
std::unique_ptr<Ui::ConfigureAudio> ui; std::unique_ptr<Ui::ConfigureAudio> ui;
}; };

View file

@ -16,7 +16,8 @@
ConfigureDebug::ConfigureDebug(QWidget* parent) : QWidget(parent), ui(new Ui::ConfigureDebug) { ConfigureDebug::ConfigureDebug(QWidget* parent) : QWidget(parent), ui(new Ui::ConfigureDebug) {
ui->setupUi(this); ui->setupUi(this);
this->setConfiguration(); SetConfiguration();
connect(ui->open_log_button, &QPushButton::pressed, []() { connect(ui->open_log_button, &QPushButton::pressed, []() {
QString path = QString::fromStdString(FileUtil::GetUserPath(FileUtil::UserPath::LogDir)); QString path = QString::fromStdString(FileUtil::GetUserPath(FileUtil::UserPath::LogDir));
QDesktopServices::openUrl(QUrl::fromLocalFile(path)); QDesktopServices::openUrl(QUrl::fromLocalFile(path));
@ -25,7 +26,7 @@ ConfigureDebug::ConfigureDebug(QWidget* parent) : QWidget(parent), ui(new Ui::Co
ConfigureDebug::~ConfigureDebug() = default; ConfigureDebug::~ConfigureDebug() = default;
void ConfigureDebug::setConfiguration() { void ConfigureDebug::SetConfiguration() {
ui->toggle_gdbstub->setChecked(Settings::values.use_gdbstub); ui->toggle_gdbstub->setChecked(Settings::values.use_gdbstub);
ui->gdbport_spinbox->setEnabled(Settings::values.use_gdbstub); ui->gdbport_spinbox->setEnabled(Settings::values.use_gdbstub);
ui->gdbport_spinbox->setValue(Settings::values.gdbstub_port); ui->gdbport_spinbox->setValue(Settings::values.gdbstub_port);
@ -37,7 +38,7 @@ void ConfigureDebug::setConfiguration() {
ui->dump_decompressed_nso->setChecked(Settings::values.dump_nso); ui->dump_decompressed_nso->setChecked(Settings::values.dump_nso);
} }
void ConfigureDebug::applyConfiguration() { void ConfigureDebug::ApplyConfiguration() {
Settings::values.use_gdbstub = ui->toggle_gdbstub->isChecked(); Settings::values.use_gdbstub = ui->toggle_gdbstub->isChecked();
Settings::values.gdbstub_port = ui->gdbport_spinbox->value(); Settings::values.gdbstub_port = ui->gdbport_spinbox->value();
UISettings::values.show_console = ui->toggle_console->isChecked(); UISettings::values.show_console = ui->toggle_console->isChecked();

View file

@ -18,10 +18,10 @@ public:
explicit ConfigureDebug(QWidget* parent = nullptr); explicit ConfigureDebug(QWidget* parent = nullptr);
~ConfigureDebug() override; ~ConfigureDebug() override;
void applyConfiguration(); void ApplyConfiguration();
private: private:
void setConfiguration(); void SetConfiguration();
std::unique_ptr<Ui::ConfigureDebug> ui; std::unique_ptr<Ui::ConfigureDebug> ui;
}; };

View file

@ -15,11 +15,11 @@ ConfigureDialog::ConfigureDialog(QWidget* parent, HotkeyRegistry& registry)
: QDialog(parent), ui(new Ui::ConfigureDialog), registry(registry) { : QDialog(parent), ui(new Ui::ConfigureDialog), registry(registry) {
ui->setupUi(this); ui->setupUi(this);
ui->hotkeysTab->Populate(registry); ui->hotkeysTab->Populate(registry);
this->setConfiguration();
this->PopulateSelectionList();
setWindowFlags(windowFlags() & ~Qt::WindowContextHelpButtonHint); setWindowFlags(windowFlags() & ~Qt::WindowContextHelpButtonHint);
SetConfiguration();
PopulateSelectionList();
connect(ui->selectorList, &QListWidget::itemSelectionChanged, this, connect(ui->selectorList, &QListWidget::itemSelectionChanged, this,
&ConfigureDialog::UpdateVisibleTabs); &ConfigureDialog::UpdateVisibleTabs);
@ -29,19 +29,19 @@ ConfigureDialog::ConfigureDialog(QWidget* parent, HotkeyRegistry& registry)
ConfigureDialog::~ConfigureDialog() = default; ConfigureDialog::~ConfigureDialog() = default;
void ConfigureDialog::setConfiguration() {} void ConfigureDialog::SetConfiguration() {}
void ConfigureDialog::applyConfiguration() { void ConfigureDialog::ApplyConfiguration() {
ui->generalTab->applyConfiguration(); ui->generalTab->ApplyConfiguration();
ui->gameListTab->applyConfiguration(); ui->gameListTab->ApplyConfiguration();
ui->systemTab->applyConfiguration(); ui->systemTab->ApplyConfiguration();
ui->profileManagerTab->applyConfiguration(); ui->profileManagerTab->ApplyConfiguration();
ui->inputTab->applyConfiguration(); ui->inputTab->ApplyConfiguration();
ui->hotkeysTab->applyConfiguration(registry); ui->hotkeysTab->ApplyConfiguration(registry);
ui->graphicsTab->applyConfiguration(); ui->graphicsTab->ApplyConfiguration();
ui->audioTab->applyConfiguration(); ui->audioTab->ApplyConfiguration();
ui->debugTab->applyConfiguration(); ui->debugTab->ApplyConfiguration();
ui->webTab->applyConfiguration(); ui->webTab->ApplyConfiguration();
Settings::Apply(); Settings::Apply();
Settings::LogSettings(); Settings::LogSettings();
} }

View file

@ -20,10 +20,10 @@ public:
explicit ConfigureDialog(QWidget* parent, HotkeyRegistry& registry); explicit ConfigureDialog(QWidget* parent, HotkeyRegistry& registry);
~ConfigureDialog() override; ~ConfigureDialog() override;
void applyConfiguration(); void ApplyConfiguration();
private: private:
void setConfiguration(); void SetConfiguration();
void UpdateVisibleTabs(); void UpdateVisibleTabs();
void PopulateSelectionList(); void PopulateSelectionList();

View file

@ -12,20 +12,20 @@
#include "yuzu/ui_settings.h" #include "yuzu/ui_settings.h"
namespace { namespace {
constexpr std::array<std::pair<u32, const char*>, 5> default_icon_sizes{{ constexpr std::array default_icon_sizes{
std::make_pair(0, QT_TR_NOOP("None")), std::make_pair(0, QT_TR_NOOP("None")),
std::make_pair(32, QT_TR_NOOP("Small (32x32)")), std::make_pair(32, QT_TR_NOOP("Small (32x32)")),
std::make_pair(64, QT_TR_NOOP("Standard (64x64)")), std::make_pair(64, QT_TR_NOOP("Standard (64x64)")),
std::make_pair(128, QT_TR_NOOP("Large (128x128)")), std::make_pair(128, QT_TR_NOOP("Large (128x128)")),
std::make_pair(256, QT_TR_NOOP("Full Size (256x256)")), std::make_pair(256, QT_TR_NOOP("Full Size (256x256)")),
}}; };
constexpr std::array<const char*, 4> row_text_names{{ constexpr std::array row_text_names{
QT_TR_NOOP("Filename"), QT_TR_NOOP("Filename"),
QT_TR_NOOP("Filetype"), QT_TR_NOOP("Filetype"),
QT_TR_NOOP("Title ID"), QT_TR_NOOP("Title ID"),
QT_TR_NOOP("Title Name"), QT_TR_NOOP("Title Name"),
}}; };
} // Anonymous namespace } // Anonymous namespace
ConfigureGameList::ConfigureGameList(QWidget* parent) ConfigureGameList::ConfigureGameList(QWidget* parent)
@ -35,7 +35,7 @@ ConfigureGameList::ConfigureGameList(QWidget* parent)
InitializeIconSizeComboBox(); InitializeIconSizeComboBox();
InitializeRowComboBoxes(); InitializeRowComboBoxes();
this->setConfiguration(); SetConfiguration();
// Force game list reload if any of the relevant settings are changed. // Force game list reload if any of the relevant settings are changed.
connect(ui->show_unknown, &QCheckBox::stateChanged, this, connect(ui->show_unknown, &QCheckBox::stateChanged, this,
@ -50,7 +50,7 @@ ConfigureGameList::ConfigureGameList(QWidget* parent)
ConfigureGameList::~ConfigureGameList() = default; ConfigureGameList::~ConfigureGameList() = default;
void ConfigureGameList::applyConfiguration() { void ConfigureGameList::ApplyConfiguration() {
UISettings::values.show_unknown = ui->show_unknown->isChecked(); UISettings::values.show_unknown = ui->show_unknown->isChecked();
UISettings::values.show_add_ons = ui->show_add_ons->isChecked(); UISettings::values.show_add_ons = ui->show_add_ons->isChecked();
UISettings::values.icon_size = ui->icon_size_combobox->currentData().toUInt(); UISettings::values.icon_size = ui->icon_size_combobox->currentData().toUInt();
@ -63,7 +63,7 @@ void ConfigureGameList::RequestGameListUpdate() {
UISettings::values.is_game_list_reload_pending.exchange(true); UISettings::values.is_game_list_reload_pending.exchange(true);
} }
void ConfigureGameList::setConfiguration() { void ConfigureGameList::SetConfiguration() {
ui->show_unknown->setChecked(UISettings::values.show_unknown); ui->show_unknown->setChecked(UISettings::values.show_unknown);
ui->show_add_ons->setChecked(UISettings::values.show_add_ons); ui->show_add_ons->setChecked(UISettings::values.show_add_ons);
ui->icon_size_combobox->setCurrentIndex( ui->icon_size_combobox->setCurrentIndex(

View file

@ -18,12 +18,12 @@ public:
explicit ConfigureGameList(QWidget* parent = nullptr); explicit ConfigureGameList(QWidget* parent = nullptr);
~ConfigureGameList() override; ~ConfigureGameList() override;
void applyConfiguration(); void ApplyConfiguration();
private: private:
void RequestGameListUpdate(); void RequestGameListUpdate();
void setConfiguration(); void SetConfiguration();
void changeEvent(QEvent*) override; void changeEvent(QEvent*) override;
void RetranslateUI(); void RetranslateUI();

View file

@ -18,7 +18,7 @@ ConfigureGeneral::ConfigureGeneral(QWidget* parent)
QString::fromUtf8(theme.second)); QString::fromUtf8(theme.second));
} }
this->setConfiguration(); SetConfiguration();
connect(ui->toggle_deepscan, &QCheckBox::stateChanged, this, connect(ui->toggle_deepscan, &QCheckBox::stateChanged, this,
[] { UISettings::values.is_game_list_reload_pending.exchange(true); }); [] { UISettings::values.is_game_list_reload_pending.exchange(true); });
@ -28,7 +28,7 @@ ConfigureGeneral::ConfigureGeneral(QWidget* parent)
ConfigureGeneral::~ConfigureGeneral() = default; ConfigureGeneral::~ConfigureGeneral() = default;
void ConfigureGeneral::setConfiguration() { void ConfigureGeneral::SetConfiguration() {
ui->toggle_deepscan->setChecked(UISettings::values.game_directory_deepscan); ui->toggle_deepscan->setChecked(UISettings::values.game_directory_deepscan);
ui->toggle_check_exit->setChecked(UISettings::values.confirm_before_closing); ui->toggle_check_exit->setChecked(UISettings::values.confirm_before_closing);
ui->toggle_user_on_boot->setChecked(UISettings::values.select_user_on_boot); ui->toggle_user_on_boot->setChecked(UISettings::values.select_user_on_boot);
@ -36,7 +36,7 @@ void ConfigureGeneral::setConfiguration() {
ui->use_cpu_jit->setChecked(Settings::values.use_cpu_jit); ui->use_cpu_jit->setChecked(Settings::values.use_cpu_jit);
} }
void ConfigureGeneral::applyConfiguration() { void ConfigureGeneral::ApplyConfiguration() {
UISettings::values.game_directory_deepscan = ui->toggle_deepscan->isChecked(); UISettings::values.game_directory_deepscan = ui->toggle_deepscan->isChecked();
UISettings::values.confirm_before_closing = ui->toggle_check_exit->isChecked(); UISettings::values.confirm_before_closing = ui->toggle_check_exit->isChecked();
UISettings::values.select_user_on_boot = ui->toggle_user_on_boot->isChecked(); UISettings::values.select_user_on_boot = ui->toggle_user_on_boot->isChecked();

View file

@ -20,10 +20,10 @@ public:
explicit ConfigureGeneral(QWidget* parent = nullptr); explicit ConfigureGeneral(QWidget* parent = nullptr);
~ConfigureGeneral() override; ~ConfigureGeneral() override;
void applyConfiguration(); void ApplyConfiguration();
private: private:
void setConfiguration(); void SetConfiguration();
std::unique_ptr<Ui::ConfigureGeneral> ui; std::unique_ptr<Ui::ConfigureGeneral> ui;
}; };

View file

@ -52,7 +52,8 @@ Resolution FromResolutionFactor(float factor) {
ConfigureGraphics::ConfigureGraphics(QWidget* parent) ConfigureGraphics::ConfigureGraphics(QWidget* parent)
: QWidget(parent), ui(new Ui::ConfigureGraphics) { : QWidget(parent), ui(new Ui::ConfigureGraphics) {
ui->setupUi(this); ui->setupUi(this);
setConfiguration();
SetConfiguration();
connect(ui->toggle_frame_limit, &QCheckBox::toggled, ui->frame_limit, &QSpinBox::setEnabled); connect(ui->toggle_frame_limit, &QCheckBox::toggled, ui->frame_limit, &QSpinBox::setEnabled);
connect(ui->bg_button, &QPushButton::clicked, this, [this] { connect(ui->bg_button, &QPushButton::clicked, this, [this] {
@ -66,7 +67,7 @@ ConfigureGraphics::ConfigureGraphics(QWidget* parent)
ConfigureGraphics::~ConfigureGraphics() = default; ConfigureGraphics::~ConfigureGraphics() = default;
void ConfigureGraphics::setConfiguration() { void ConfigureGraphics::SetConfiguration() {
const bool runtime_lock = !Core::System::GetInstance().IsPoweredOn(); const bool runtime_lock = !Core::System::GetInstance().IsPoweredOn();
ui->resolution_factor_combobox->setCurrentIndex( ui->resolution_factor_combobox->setCurrentIndex(
@ -87,7 +88,7 @@ void ConfigureGraphics::setConfiguration() {
Settings::values.bg_blue)); Settings::values.bg_blue));
} }
void ConfigureGraphics::applyConfiguration() { void ConfigureGraphics::ApplyConfiguration() {
Settings::values.resolution_factor = Settings::values.resolution_factor =
ToResolutionFactor(static_cast<Resolution>(ui->resolution_factor_combobox->currentIndex())); ToResolutionFactor(static_cast<Resolution>(ui->resolution_factor_combobox->currentIndex()));
Settings::values.use_frame_limit = ui->toggle_frame_limit->isChecked(); Settings::values.use_frame_limit = ui->toggle_frame_limit->isChecked();

View file

@ -18,10 +18,10 @@ public:
explicit ConfigureGraphics(QWidget* parent = nullptr); explicit ConfigureGraphics(QWidget* parent = nullptr);
~ConfigureGraphics() override; ~ConfigureGraphics() override;
void applyConfiguration(); void ApplyConfiguration();
private: private:
void setConfiguration(); void SetConfiguration();
void UpdateBackgroundColorButton(QColor color); void UpdateBackgroundColorButton(QColor color);

View file

@ -92,7 +92,7 @@ bool ConfigureHotkeys::IsUsedKey(QKeySequence key_sequence) const {
return false; return false;
} }
void ConfigureHotkeys::applyConfiguration(HotkeyRegistry& registry) { void ConfigureHotkeys::ApplyConfiguration(HotkeyRegistry& registry) {
for (int key_id = 0; key_id < model->rowCount(); key_id++) { for (int key_id = 0; key_id < model->rowCount(); key_id++) {
const QStandardItem* parent = model->item(key_id, 0); const QStandardItem* parent = model->item(key_id, 0);
for (int key_column_id = 0; key_column_id < parent->rowCount(); key_column_id++) { for (int key_column_id = 0; key_column_id < parent->rowCount(); key_column_id++) {
@ -113,6 +113,6 @@ void ConfigureHotkeys::applyConfiguration(HotkeyRegistry& registry) {
registry.SaveHotkeys(); registry.SaveHotkeys();
} }
void ConfigureHotkeys::retranslateUi() { void ConfigureHotkeys::RetranslateUI() {
ui->retranslateUi(this); ui->retranslateUi(this);
} }

View file

@ -21,8 +21,8 @@ public:
explicit ConfigureHotkeys(QWidget* parent = nullptr); explicit ConfigureHotkeys(QWidget* parent = nullptr);
~ConfigureHotkeys() override; ~ConfigureHotkeys() override;
void applyConfiguration(HotkeyRegistry& registry); void ApplyConfiguration(HotkeyRegistry& registry);
void retranslateUi(); void RetranslateUI();
/** /**
* Populates the hotkey list widget using data from the provided registry. * Populates the hotkey list widget using data from the provided registry.

View file

@ -50,12 +50,12 @@ void OnDockedModeChanged(bool last_state, bool new_state) {
namespace { namespace {
template <typename Dialog, typename... Args> template <typename Dialog, typename... Args>
void CallConfigureDialog(ConfigureInput& parent, Args&&... args) { void CallConfigureDialog(ConfigureInput& parent, Args&&... args) {
parent.applyConfiguration(); parent.ApplyConfiguration();
Dialog dialog(&parent, std::forward<Args>(args)...); Dialog dialog(&parent, std::forward<Args>(args)...);
const auto res = dialog.exec(); const auto res = dialog.exec();
if (res == QDialog::Accepted) { if (res == QDialog::Accepted) {
dialog.applyConfiguration(); dialog.ApplyConfiguration();
} }
} }
} // Anonymous namespace } // Anonymous namespace
@ -79,24 +79,24 @@ ConfigureInput::ConfigureInput(QWidget* parent)
tr("Single Right Joycon"), tr("Single Left Joycon")}); tr("Single Right Joycon"), tr("Single Left Joycon")});
} }
this->loadConfiguration(); LoadConfiguration();
updateUIEnabled(); UpdateUIEnabled();
connect(ui->restore_defaults_button, &QPushButton::pressed, this, connect(ui->restore_defaults_button, &QPushButton::pressed, this,
&ConfigureInput::restoreDefaults); &ConfigureInput::RestoreDefaults);
for (auto* enabled : players_controller) { for (auto* enabled : players_controller) {
connect(enabled, QOverload<int>::of(&QComboBox::currentIndexChanged), this, connect(enabled, QOverload<int>::of(&QComboBox::currentIndexChanged), this,
&ConfigureInput::updateUIEnabled); &ConfigureInput::UpdateUIEnabled);
} }
connect(ui->use_docked_mode, &QCheckBox::stateChanged, this, &ConfigureInput::updateUIEnabled); connect(ui->use_docked_mode, &QCheckBox::stateChanged, this, &ConfigureInput::UpdateUIEnabled);
connect(ui->handheld_connected, &QCheckBox::stateChanged, this, connect(ui->handheld_connected, &QCheckBox::stateChanged, this,
&ConfigureInput::updateUIEnabled); &ConfigureInput::UpdateUIEnabled);
connect(ui->mouse_enabled, &QCheckBox::stateChanged, this, &ConfigureInput::updateUIEnabled); connect(ui->mouse_enabled, &QCheckBox::stateChanged, this, &ConfigureInput::UpdateUIEnabled);
connect(ui->keyboard_enabled, &QCheckBox::stateChanged, this, &ConfigureInput::updateUIEnabled); connect(ui->keyboard_enabled, &QCheckBox::stateChanged, this, &ConfigureInput::UpdateUIEnabled);
connect(ui->debug_enabled, &QCheckBox::stateChanged, this, &ConfigureInput::updateUIEnabled); connect(ui->debug_enabled, &QCheckBox::stateChanged, this, &ConfigureInput::UpdateUIEnabled);
connect(ui->touchscreen_enabled, &QCheckBox::stateChanged, this, connect(ui->touchscreen_enabled, &QCheckBox::stateChanged, this,
&ConfigureInput::updateUIEnabled); &ConfigureInput::UpdateUIEnabled);
for (std::size_t i = 0; i < players_configure.size(); ++i) { for (std::size_t i = 0; i < players_configure.size(); ++i) {
connect(players_configure[i], &QPushButton::pressed, this, connect(players_configure[i], &QPushButton::pressed, this,
@ -118,7 +118,7 @@ ConfigureInput::ConfigureInput(QWidget* parent)
ConfigureInput::~ConfigureInput() = default; ConfigureInput::~ConfigureInput() = default;
void ConfigureInput::applyConfiguration() { void ConfigureInput::ApplyConfiguration() {
for (std::size_t i = 0; i < players_controller.size(); ++i) { for (std::size_t i = 0; i < players_controller.size(); ++i) {
const auto controller_type_index = players_controller[i]->currentIndex(); const auto controller_type_index = players_controller[i]->currentIndex();
@ -144,7 +144,7 @@ void ConfigureInput::applyConfiguration() {
Settings::values.touchscreen.enabled = ui->touchscreen_enabled->isChecked(); Settings::values.touchscreen.enabled = ui->touchscreen_enabled->isChecked();
} }
void ConfigureInput::updateUIEnabled() { void ConfigureInput::UpdateUIEnabled() {
bool hit_disabled = false; bool hit_disabled = false;
for (auto* player : players_controller) { for (auto* player : players_controller) {
player->setDisabled(hit_disabled); player->setDisabled(hit_disabled);
@ -168,7 +168,7 @@ void ConfigureInput::updateUIEnabled() {
ui->touchscreen_advanced->setEnabled(ui->touchscreen_enabled->isChecked()); ui->touchscreen_advanced->setEnabled(ui->touchscreen_enabled->isChecked());
} }
void ConfigureInput::loadConfiguration() { void ConfigureInput::LoadConfiguration() {
std::stable_partition( std::stable_partition(
Settings::values.players.begin(), Settings::values.players.begin(),
Settings::values.players.begin() + Settings::values.players.begin() +
@ -191,10 +191,10 @@ void ConfigureInput::loadConfiguration() {
ui->keyboard_enabled->setChecked(Settings::values.keyboard_enabled); ui->keyboard_enabled->setChecked(Settings::values.keyboard_enabled);
ui->touchscreen_enabled->setChecked(Settings::values.touchscreen.enabled); ui->touchscreen_enabled->setChecked(Settings::values.touchscreen.enabled);
updateUIEnabled(); UpdateUIEnabled();
} }
void ConfigureInput::restoreDefaults() { void ConfigureInput::RestoreDefaults() {
players_controller[0]->setCurrentIndex(2); players_controller[0]->setCurrentIndex(2);
for (std::size_t i = 1; i < players_controller.size(); ++i) { for (std::size_t i = 1; i < players_controller.size(); ++i) {
@ -207,5 +207,5 @@ void ConfigureInput::restoreDefaults() {
ui->keyboard_enabled->setCheckState(Qt::Unchecked); ui->keyboard_enabled->setCheckState(Qt::Unchecked);
ui->debug_enabled->setCheckState(Qt::Unchecked); ui->debug_enabled->setCheckState(Qt::Unchecked);
ui->touchscreen_enabled->setCheckState(Qt::Checked); ui->touchscreen_enabled->setCheckState(Qt::Checked);
updateUIEnabled(); UpdateUIEnabled();
} }

View file

@ -30,15 +30,15 @@ public:
~ConfigureInput() override; ~ConfigureInput() override;
/// Save all button configurations to settings file /// Save all button configurations to settings file
void applyConfiguration(); void ApplyConfiguration();
private: private:
void updateUIEnabled(); void UpdateUIEnabled();
/// Load configuration settings. /// Load configuration settings.
void loadConfiguration(); void LoadConfiguration();
/// Restore all buttons to their default values. /// Restore all buttons to their default values.
void restoreDefaults(); void RestoreDefaults();
std::unique_ptr<Ui::ConfigureInput> ui; std::unique_ptr<Ui::ConfigureInput> ui;

View file

@ -245,7 +245,7 @@ ConfigureInputPlayer::ConfigureInputPlayer(QWidget* parent, std::size_t player_i
button->setContextMenuPolicy(Qt::CustomContextMenu); button->setContextMenuPolicy(Qt::CustomContextMenu);
connect(button, &QPushButton::released, [=] { connect(button, &QPushButton::released, [=] {
handleClick( HandleClick(
button_map[button_id], button_map[button_id],
[=](const Common::ParamPackage& params) { buttons_param[button_id] = params; }, [=](const Common::ParamPackage& params) { buttons_param[button_id] = params; },
InputCommon::Polling::DeviceType::Button); InputCommon::Polling::DeviceType::Button);
@ -274,7 +274,7 @@ ConfigureInputPlayer::ConfigureInputPlayer(QWidget* parent, std::size_t player_i
analog_button->setContextMenuPolicy(Qt::CustomContextMenu); analog_button->setContextMenuPolicy(Qt::CustomContextMenu);
connect(analog_button, &QPushButton::released, [=]() { connect(analog_button, &QPushButton::released, [=]() {
handleClick(analog_map_buttons[analog_id][sub_button_id], HandleClick(analog_map_buttons[analog_id][sub_button_id],
[=](const Common::ParamPackage& params) { [=](const Common::ParamPackage& params) {
SetAnalogButton(params, analogs_param[analog_id], SetAnalogButton(params, analogs_param[analog_id],
analog_sub_buttons[sub_button_id]); analog_sub_buttons[sub_button_id]);
@ -304,7 +304,7 @@ ConfigureInputPlayer::ConfigureInputPlayer(QWidget* parent, std::size_t player_i
QMessageBox::information(this, tr("Information"), QMessageBox::information(this, tr("Information"),
tr("After pressing OK, first move your joystick horizontally, " tr("After pressing OK, first move your joystick horizontally, "
"and then vertically.")); "and then vertically."));
handleClick( HandleClick(
analog_map_stick[analog_id], analog_map_stick[analog_id],
[=](const Common::ParamPackage& params) { analogs_param[analog_id] = params; }, [=](const Common::ParamPackage& params) { analogs_param[analog_id] = params; },
InputCommon::Polling::DeviceType::Analog); InputCommon::Polling::DeviceType::Analog);
@ -312,17 +312,17 @@ ConfigureInputPlayer::ConfigureInputPlayer(QWidget* parent, std::size_t player_i
} }
connect(ui->buttonClearAll, &QPushButton::released, [this] { ClearAll(); }); connect(ui->buttonClearAll, &QPushButton::released, [this] { ClearAll(); });
connect(ui->buttonRestoreDefaults, &QPushButton::released, [this]() { restoreDefaults(); }); connect(ui->buttonRestoreDefaults, &QPushButton::released, [this] { RestoreDefaults(); });
timeout_timer->setSingleShot(true); timeout_timer->setSingleShot(true);
connect(timeout_timer.get(), &QTimer::timeout, [this]() { setPollingResult({}, true); }); connect(timeout_timer.get(), &QTimer::timeout, [this] { SetPollingResult({}, true); });
connect(poll_timer.get(), &QTimer::timeout, [this]() { connect(poll_timer.get(), &QTimer::timeout, [this] {
Common::ParamPackage params; Common::ParamPackage params;
for (auto& poller : device_pollers) { for (auto& poller : device_pollers) {
params = poller->GetNextInput(); params = poller->GetNextInput();
if (params.Has("engine")) { if (params.Has("engine")) {
setPollingResult(params, false); SetPollingResult(params, false);
return; return;
} }
} }
@ -340,8 +340,8 @@ ConfigureInputPlayer::ConfigureInputPlayer(QWidget* parent, std::size_t player_i
[this, i] { OnControllerButtonClick(static_cast<int>(i)); }); [this, i] { OnControllerButtonClick(static_cast<int>(i)); });
} }
this->loadConfiguration(); LoadConfiguration();
this->resize(0, 0); resize(0, 0);
// TODO(wwylele): enable this when we actually emulate it // TODO(wwylele): enable this when we actually emulate it
ui->buttonHome->setEnabled(false); ui->buttonHome->setEnabled(false);
@ -349,7 +349,7 @@ ConfigureInputPlayer::ConfigureInputPlayer(QWidget* parent, std::size_t player_i
ConfigureInputPlayer::~ConfigureInputPlayer() = default; ConfigureInputPlayer::~ConfigureInputPlayer() = default;
void ConfigureInputPlayer::applyConfiguration() { void ConfigureInputPlayer::ApplyConfiguration() {
auto& buttons = auto& buttons =
debug ? Settings::values.debug_pad_buttons : Settings::values.players[player_index].buttons; debug ? Settings::values.debug_pad_buttons : Settings::values.players[player_index].buttons;
auto& analogs = auto& analogs =
@ -382,7 +382,7 @@ void ConfigureInputPlayer::OnControllerButtonClick(int i) {
QStringLiteral("QPushButton { background-color: %1 }").arg(controller_colors[i].name())); QStringLiteral("QPushButton { background-color: %1 }").arg(controller_colors[i].name()));
} }
void ConfigureInputPlayer::loadConfiguration() { void ConfigureInputPlayer::LoadConfiguration() {
if (debug) { if (debug) {
std::transform(Settings::values.debug_pad_buttons.begin(), std::transform(Settings::values.debug_pad_buttons.begin(),
Settings::values.debug_pad_buttons.end(), buttons_param.begin(), Settings::values.debug_pad_buttons.end(), buttons_param.begin(),
@ -399,7 +399,7 @@ void ConfigureInputPlayer::loadConfiguration() {
[](const std::string& str) { return Common::ParamPackage(str); }); [](const std::string& str) { return Common::ParamPackage(str); });
} }
updateButtonLabels(); UpdateButtonLabels();
if (debug) if (debug)
return; return;
@ -421,7 +421,7 @@ void ConfigureInputPlayer::loadConfiguration() {
} }
} }
void ConfigureInputPlayer::restoreDefaults() { void ConfigureInputPlayer::RestoreDefaults() {
for (int button_id = 0; button_id < Settings::NativeButton::NumButtons; button_id++) { for (int button_id = 0; button_id < Settings::NativeButton::NumButtons; button_id++) {
buttons_param[button_id] = Common::ParamPackage{ buttons_param[button_id] = Common::ParamPackage{
InputCommon::GenerateKeyboardParam(Config::default_buttons[button_id])}; InputCommon::GenerateKeyboardParam(Config::default_buttons[button_id])};
@ -434,7 +434,7 @@ void ConfigureInputPlayer::restoreDefaults() {
SetAnalogButton(params, analogs_param[analog_id], analog_sub_buttons[sub_button_id]); SetAnalogButton(params, analogs_param[analog_id], analog_sub_buttons[sub_button_id]);
} }
} }
updateButtonLabels(); UpdateButtonLabels();
} }
void ConfigureInputPlayer::ClearAll() { void ConfigureInputPlayer::ClearAll() {
@ -458,10 +458,10 @@ void ConfigureInputPlayer::ClearAll() {
} }
} }
updateButtonLabels(); UpdateButtonLabels();
} }
void ConfigureInputPlayer::updateButtonLabels() { void ConfigureInputPlayer::UpdateButtonLabels() {
for (int button = 0; button < Settings::NativeButton::NumButtons; button++) { for (int button = 0; button < Settings::NativeButton::NumButtons; button++) {
button_map[button]->setText(ButtonToText(buttons_param[button])); button_map[button]->setText(ButtonToText(buttons_param[button]));
} }
@ -481,7 +481,7 @@ void ConfigureInputPlayer::updateButtonLabels() {
} }
} }
void ConfigureInputPlayer::handleClick( void ConfigureInputPlayer::HandleClick(
QPushButton* button, std::function<void(const Common::ParamPackage&)> new_input_setter, QPushButton* button, std::function<void(const Common::ParamPackage&)> new_input_setter,
InputCommon::Polling::DeviceType type) { InputCommon::Polling::DeviceType type) {
button->setText(tr("[press key]")); button->setText(tr("[press key]"));
@ -509,7 +509,7 @@ void ConfigureInputPlayer::handleClick(
poll_timer->start(200); // Check for new inputs every 200ms poll_timer->start(200); // Check for new inputs every 200ms
} }
void ConfigureInputPlayer::setPollingResult(const Common::ParamPackage& params, bool abort) { void ConfigureInputPlayer::SetPollingResult(const Common::ParamPackage& params, bool abort) {
releaseKeyboard(); releaseKeyboard();
releaseMouse(); releaseMouse();
timeout_timer->stop(); timeout_timer->stop();
@ -522,22 +522,23 @@ void ConfigureInputPlayer::setPollingResult(const Common::ParamPackage& params,
(*input_setter)(params); (*input_setter)(params);
} }
updateButtonLabels(); UpdateButtonLabels();
input_setter = std::nullopt; input_setter = std::nullopt;
} }
void ConfigureInputPlayer::keyPressEvent(QKeyEvent* event) { void ConfigureInputPlayer::keyPressEvent(QKeyEvent* event) {
if (!input_setter || !event) if (!input_setter || !event) {
return; return;
}
if (event->key() != Qt::Key_Escape) { if (event->key() != Qt::Key_Escape) {
if (want_keyboard_keys) { if (want_keyboard_keys) {
setPollingResult(Common::ParamPackage{InputCommon::GenerateKeyboardParam(event->key())}, SetPollingResult(Common::ParamPackage{InputCommon::GenerateKeyboardParam(event->key())},
false); false);
} else { } else {
// Escape key wasn't pressed and we don't want any keyboard keys, so don't stop polling // Escape key wasn't pressed and we don't want any keyboard keys, so don't stop polling
return; return;
} }
} }
setPollingResult({}, true); SetPollingResult({}, true);
} }

View file

@ -38,28 +38,28 @@ public:
~ConfigureInputPlayer() override; ~ConfigureInputPlayer() override;
/// Save all button configurations to settings file /// Save all button configurations to settings file
void applyConfiguration(); void ApplyConfiguration();
private: private:
void OnControllerButtonClick(int i); void OnControllerButtonClick(int i);
/// Load configuration settings. /// Load configuration settings.
void loadConfiguration(); void LoadConfiguration();
/// Restore all buttons to their default values. /// Restore all buttons to their default values.
void restoreDefaults(); void RestoreDefaults();
/// Clear all input configuration /// Clear all input configuration
void ClearAll(); void ClearAll();
/// Update UI to reflect current configuration. /// Update UI to reflect current configuration.
void updateButtonLabels(); void UpdateButtonLabels();
/// Called when the button was pressed. /// Called when the button was pressed.
void handleClick(QPushButton* button, void HandleClick(QPushButton* button,
std::function<void(const Common::ParamPackage&)> new_input_setter, std::function<void(const Common::ParamPackage&)> new_input_setter,
InputCommon::Polling::DeviceType type); InputCommon::Polling::DeviceType type);
/// Finish polling and configure input using the input_setter /// Finish polling and configure input using the input_setter
void setPollingResult(const Common::ParamPackage& params, bool abort); void SetPollingResult(const Common::ParamPackage& params, bool abort);
/// Handle key press events. /// Handle key press events.
void keyPressEvent(QKeyEvent* event) override; void keyPressEvent(QKeyEvent* event) override;

View file

@ -15,12 +15,12 @@ namespace {
template <typename Dialog, typename... Args> template <typename Dialog, typename... Args>
void CallConfigureDialog(ConfigureInputSimple* caller, Args&&... args) { void CallConfigureDialog(ConfigureInputSimple* caller, Args&&... args) {
caller->applyConfiguration(); caller->ApplyConfiguration();
Dialog dialog(caller, std::forward<Args>(args)...); Dialog dialog(caller, std::forward<Args>(args)...);
const auto res = dialog.exec(); const auto res = dialog.exec();
if (res == QDialog::Accepted) { if (res == QDialog::Accepted) {
dialog.applyConfiguration(); dialog.ApplyConfiguration();
} }
} }
@ -103,27 +103,29 @@ ConfigureInputSimple::ConfigureInputSimple(QWidget* parent)
&ConfigureInputSimple::OnSelectProfile); &ConfigureInputSimple::OnSelectProfile);
connect(ui->profile_configure, &QPushButton::pressed, this, &ConfigureInputSimple::OnConfigure); connect(ui->profile_configure, &QPushButton::pressed, this, &ConfigureInputSimple::OnConfigure);
this->loadConfiguration(); LoadConfiguration();
} }
ConfigureInputSimple::~ConfigureInputSimple() = default; ConfigureInputSimple::~ConfigureInputSimple() = default;
void ConfigureInputSimple::applyConfiguration() { void ConfigureInputSimple::ApplyConfiguration() {
auto index = ui->profile_combobox->currentIndex(); auto index = ui->profile_combobox->currentIndex();
// Make the stored index for "Custom" very large so that if new profiles are added it // Make the stored index for "Custom" very large so that if new profiles are added it
// doesn't change. // doesn't change.
if (index >= static_cast<int>(INPUT_PROFILES.size() - 1)) if (index >= static_cast<int>(INPUT_PROFILES.size() - 1)) {
index = std::numeric_limits<int>::max(); index = std::numeric_limits<int>::max();
}
UISettings::values.profile_index = index; UISettings::values.profile_index = index;
} }
void ConfigureInputSimple::loadConfiguration() { void ConfigureInputSimple::LoadConfiguration() {
const auto index = UISettings::values.profile_index; const auto index = UISettings::values.profile_index;
if (index >= static_cast<int>(INPUT_PROFILES.size()) || index < 0) if (index >= static_cast<int>(INPUT_PROFILES.size()) || index < 0) {
ui->profile_combobox->setCurrentIndex(static_cast<int>(INPUT_PROFILES.size() - 1)); ui->profile_combobox->setCurrentIndex(static_cast<int>(INPUT_PROFILES.size() - 1));
else } else {
ui->profile_combobox->setCurrentIndex(index); ui->profile_combobox->setCurrentIndex(index);
}
} }
void ConfigureInputSimple::OnSelectProfile(int index) { void ConfigureInputSimple::OnSelectProfile(int index) {

View file

@ -27,11 +27,11 @@ public:
~ConfigureInputSimple() override; ~ConfigureInputSimple() override;
/// Save all button configurations to settings file /// Save all button configurations to settings file
void applyConfiguration(); void ApplyConfiguration();
private: private:
/// Load configuration settings. /// Load configuration settings.
void loadConfiguration(); void LoadConfiguration();
void OnSelectProfile(int index); void OnSelectProfile(int index);
void OnConfigure(); void OnConfigure();

View file

@ -84,7 +84,7 @@ ConfigureMouseAdvanced::ConfigureMouseAdvanced(QWidget* parent)
button->setContextMenuPolicy(Qt::CustomContextMenu); button->setContextMenuPolicy(Qt::CustomContextMenu);
connect(button, &QPushButton::released, [=] { connect(button, &QPushButton::released, [=] {
handleClick( HandleClick(
button_map[button_id], button_map[button_id],
[=](const Common::ParamPackage& params) { buttons_param[button_id] = params; }, [=](const Common::ParamPackage& params) { buttons_param[button_id] = params; },
InputCommon::Polling::DeviceType::Button); InputCommon::Polling::DeviceType::Button);
@ -105,48 +105,48 @@ ConfigureMouseAdvanced::ConfigureMouseAdvanced(QWidget* parent)
} }
connect(ui->buttonClearAll, &QPushButton::released, [this] { ClearAll(); }); connect(ui->buttonClearAll, &QPushButton::released, [this] { ClearAll(); });
connect(ui->buttonRestoreDefaults, &QPushButton::released, [this]() { restoreDefaults(); }); connect(ui->buttonRestoreDefaults, &QPushButton::released, [this] { RestoreDefaults(); });
timeout_timer->setSingleShot(true); timeout_timer->setSingleShot(true);
connect(timeout_timer.get(), &QTimer::timeout, [this]() { setPollingResult({}, true); }); connect(timeout_timer.get(), &QTimer::timeout, [this] { SetPollingResult({}, true); });
connect(poll_timer.get(), &QTimer::timeout, [this]() { connect(poll_timer.get(), &QTimer::timeout, [this] {
Common::ParamPackage params; Common::ParamPackage params;
for (auto& poller : device_pollers) { for (auto& poller : device_pollers) {
params = poller->GetNextInput(); params = poller->GetNextInput();
if (params.Has("engine")) { if (params.Has("engine")) {
setPollingResult(params, false); SetPollingResult(params, false);
return; return;
} }
} }
}); });
loadConfiguration(); LoadConfiguration();
resize(0, 0); resize(0, 0);
} }
ConfigureMouseAdvanced::~ConfigureMouseAdvanced() = default; ConfigureMouseAdvanced::~ConfigureMouseAdvanced() = default;
void ConfigureMouseAdvanced::applyConfiguration() { void ConfigureMouseAdvanced::ApplyConfiguration() {
std::transform(buttons_param.begin(), buttons_param.end(), std::transform(buttons_param.begin(), buttons_param.end(),
Settings::values.mouse_buttons.begin(), Settings::values.mouse_buttons.begin(),
[](const Common::ParamPackage& param) { return param.Serialize(); }); [](const Common::ParamPackage& param) { return param.Serialize(); });
} }
void ConfigureMouseAdvanced::loadConfiguration() { void ConfigureMouseAdvanced::LoadConfiguration() {
std::transform(Settings::values.mouse_buttons.begin(), Settings::values.mouse_buttons.end(), std::transform(Settings::values.mouse_buttons.begin(), Settings::values.mouse_buttons.end(),
buttons_param.begin(), buttons_param.begin(),
[](const std::string& str) { return Common::ParamPackage(str); }); [](const std::string& str) { return Common::ParamPackage(str); });
updateButtonLabels(); UpdateButtonLabels();
} }
void ConfigureMouseAdvanced::restoreDefaults() { void ConfigureMouseAdvanced::RestoreDefaults() {
for (int button_id = 0; button_id < Settings::NativeMouseButton::NumMouseButtons; button_id++) { for (int button_id = 0; button_id < Settings::NativeMouseButton::NumMouseButtons; button_id++) {
buttons_param[button_id] = Common::ParamPackage{ buttons_param[button_id] = Common::ParamPackage{
InputCommon::GenerateKeyboardParam(Config::default_mouse_buttons[button_id])}; InputCommon::GenerateKeyboardParam(Config::default_mouse_buttons[button_id])};
} }
updateButtonLabels(); UpdateButtonLabels();
} }
void ConfigureMouseAdvanced::ClearAll() { void ConfigureMouseAdvanced::ClearAll() {
@ -157,16 +157,16 @@ void ConfigureMouseAdvanced::ClearAll() {
} }
} }
updateButtonLabels(); UpdateButtonLabels();
} }
void ConfigureMouseAdvanced::updateButtonLabels() { void ConfigureMouseAdvanced::UpdateButtonLabels() {
for (int button = 0; button < Settings::NativeMouseButton::NumMouseButtons; button++) { for (int button = 0; button < Settings::NativeMouseButton::NumMouseButtons; button++) {
button_map[button]->setText(ButtonToText(buttons_param[button])); button_map[button]->setText(ButtonToText(buttons_param[button]));
} }
} }
void ConfigureMouseAdvanced::handleClick( void ConfigureMouseAdvanced::HandleClick(
QPushButton* button, std::function<void(const Common::ParamPackage&)> new_input_setter, QPushButton* button, std::function<void(const Common::ParamPackage&)> new_input_setter,
InputCommon::Polling::DeviceType type) { InputCommon::Polling::DeviceType type) {
button->setText(tr("[press key]")); button->setText(tr("[press key]"));
@ -194,7 +194,7 @@ void ConfigureMouseAdvanced::handleClick(
poll_timer->start(200); // Check for new inputs every 200ms poll_timer->start(200); // Check for new inputs every 200ms
} }
void ConfigureMouseAdvanced::setPollingResult(const Common::ParamPackage& params, bool abort) { void ConfigureMouseAdvanced::SetPollingResult(const Common::ParamPackage& params, bool abort) {
releaseKeyboard(); releaseKeyboard();
releaseMouse(); releaseMouse();
timeout_timer->stop(); timeout_timer->stop();
@ -207,22 +207,23 @@ void ConfigureMouseAdvanced::setPollingResult(const Common::ParamPackage& params
(*input_setter)(params); (*input_setter)(params);
} }
updateButtonLabels(); UpdateButtonLabels();
input_setter = std::nullopt; input_setter = std::nullopt;
} }
void ConfigureMouseAdvanced::keyPressEvent(QKeyEvent* event) { void ConfigureMouseAdvanced::keyPressEvent(QKeyEvent* event) {
if (!input_setter || !event) if (!input_setter || !event) {
return; return;
}
if (event->key() != Qt::Key_Escape) { if (event->key() != Qt::Key_Escape) {
if (want_keyboard_keys) { if (want_keyboard_keys) {
setPollingResult(Common::ParamPackage{InputCommon::GenerateKeyboardParam(event->key())}, SetPollingResult(Common::ParamPackage{InputCommon::GenerateKeyboardParam(event->key())},
false); false);
} else { } else {
// Escape key wasn't pressed and we don't want any keyboard keys, so don't stop polling // Escape key wasn't pressed and we don't want any keyboard keys, so don't stop polling
return; return;
} }
} }
setPollingResult({}, true); SetPollingResult({}, true);
} }

View file

@ -25,26 +25,26 @@ public:
explicit ConfigureMouseAdvanced(QWidget* parent); explicit ConfigureMouseAdvanced(QWidget* parent);
~ConfigureMouseAdvanced() override; ~ConfigureMouseAdvanced() override;
void applyConfiguration(); void ApplyConfiguration();
private: private:
/// Load configuration settings. /// Load configuration settings.
void loadConfiguration(); void LoadConfiguration();
/// Restore all buttons to their default values. /// Restore all buttons to their default values.
void restoreDefaults(); void RestoreDefaults();
/// Clear all input configuration /// Clear all input configuration
void ClearAll(); void ClearAll();
/// Update UI to reflect current configuration. /// Update UI to reflect current configuration.
void updateButtonLabels(); void UpdateButtonLabels();
/// Called when the button was pressed. /// Called when the button was pressed.
void handleClick(QPushButton* button, void HandleClick(QPushButton* button,
std::function<void(const Common::ParamPackage&)> new_input_setter, std::function<void(const Common::ParamPackage&)> new_input_setter,
InputCommon::Polling::DeviceType type); InputCommon::Polling::DeviceType type);
/// Finish polling and configure input using the input_setter /// Finish polling and configure input using the input_setter
void setPollingResult(const Common::ParamPackage& params, bool abort); void SetPollingResult(const Common::ParamPackage& params, bool abort);
/// Handle key press events. /// Handle key press events.
void keyPressEvent(QKeyEvent* event) override; void keyPressEvent(QKeyEvent* event) override;

View file

@ -67,12 +67,12 @@ ConfigurePerGameGeneral::ConfigurePerGameGeneral(QWidget* parent, u64 title_id)
connect(item_model, &QStandardItemModel::itemChanged, connect(item_model, &QStandardItemModel::itemChanged,
[] { UISettings::values.is_game_list_reload_pending.exchange(true); }); [] { UISettings::values.is_game_list_reload_pending.exchange(true); });
this->loadConfiguration(); LoadConfiguration();
} }
ConfigurePerGameGeneral::~ConfigurePerGameGeneral() = default; ConfigurePerGameGeneral::~ConfigurePerGameGeneral() = default;
void ConfigurePerGameGeneral::applyConfiguration() { void ConfigurePerGameGeneral::ApplyConfiguration() {
std::vector<std::string> disabled_addons; std::vector<std::string> disabled_addons;
for (const auto& item : list_items) { for (const auto& item : list_items) {
@ -92,12 +92,12 @@ void ConfigurePerGameGeneral::applyConfiguration() {
Settings::values.disabled_addons[title_id] = disabled_addons; Settings::values.disabled_addons[title_id] = disabled_addons;
} }
void ConfigurePerGameGeneral::loadFromFile(FileSys::VirtualFile file) { void ConfigurePerGameGeneral::LoadFromFile(FileSys::VirtualFile file) {
this->file = std::move(file); this->file = std::move(file);
this->loadConfiguration(); LoadConfiguration();
} }
void ConfigurePerGameGeneral::loadConfiguration() { void ConfigurePerGameGeneral::LoadConfiguration() {
if (file == nullptr) { if (file == nullptr) {
return; return;
} }

View file

@ -30,11 +30,13 @@ public:
~ConfigurePerGameGeneral() override; ~ConfigurePerGameGeneral() override;
/// Save all button configurations to settings file /// Save all button configurations to settings file
void applyConfiguration(); void ApplyConfiguration();
void loadFromFile(FileSys::VirtualFile file); void LoadFromFile(FileSys::VirtualFile file);
private: private:
void LoadConfiguration();
std::unique_ptr<Ui::ConfigurePerGameGeneral> ui; std::unique_ptr<Ui::ConfigurePerGameGeneral> ui;
FileSys::VirtualFile file; FileSys::VirtualFile file;
u64 title_id; u64 title_id;
@ -45,6 +47,4 @@ private:
QGraphicsScene* scene; QGraphicsScene* scene;
std::vector<QList<QStandardItem*>> list_items; std::vector<QList<QStandardItem*>> list_items;
void loadConfiguration();
}; };

View file

@ -119,12 +119,12 @@ ConfigureProfileManager ::ConfigureProfileManager(QWidget* parent)
scene = new QGraphicsScene; scene = new QGraphicsScene;
ui->current_user_icon->setScene(scene); ui->current_user_icon->setScene(scene);
this->setConfiguration(); SetConfiguration();
} }
ConfigureProfileManager::~ConfigureProfileManager() = default; ConfigureProfileManager::~ConfigureProfileManager() = default;
void ConfigureProfileManager::setConfiguration() { void ConfigureProfileManager::SetConfiguration() {
enabled = !Core::System::GetInstance().IsPoweredOn(); enabled = !Core::System::GetInstance().IsPoweredOn();
item_model->removeRows(0, item_model->rowCount()); item_model->removeRows(0, item_model->rowCount());
list_items.clear(); list_items.clear();
@ -164,9 +164,10 @@ void ConfigureProfileManager::UpdateCurrentUser() {
ui->current_user_username->setText(username); ui->current_user_username->setText(username);
} }
void ConfigureProfileManager::applyConfiguration() { void ConfigureProfileManager::ApplyConfiguration() {
if (!enabled) if (!enabled) {
return; return;
}
Settings::Apply(); Settings::Apply();
} }

View file

@ -30,10 +30,11 @@ public:
explicit ConfigureProfileManager(QWidget* parent = nullptr); explicit ConfigureProfileManager(QWidget* parent = nullptr);
~ConfigureProfileManager() override; ~ConfigureProfileManager() override;
void applyConfiguration(); void ApplyConfiguration();
void setConfiguration();
private: private:
void SetConfiguration();
void PopulateUserList(); void PopulateUserList();
void UpdateCurrentUser(); void UpdateCurrentUser();

View file

@ -23,22 +23,24 @@ ConfigureSystem::ConfigureSystem(QWidget* parent) : QWidget(parent), ui(new Ui::
connect(ui->rng_seed_checkbox, &QCheckBox::stateChanged, this, [this](bool checked) { connect(ui->rng_seed_checkbox, &QCheckBox::stateChanged, this, [this](bool checked) {
ui->rng_seed_edit->setEnabled(checked); ui->rng_seed_edit->setEnabled(checked);
if (!checked) if (!checked) {
ui->rng_seed_edit->setText(QStringLiteral("00000000")); ui->rng_seed_edit->setText(QStringLiteral("00000000"));
}
}); });
connect(ui->custom_rtc_checkbox, &QCheckBox::stateChanged, this, [this](bool checked) { connect(ui->custom_rtc_checkbox, &QCheckBox::stateChanged, this, [this](bool checked) {
ui->custom_rtc_edit->setEnabled(checked); ui->custom_rtc_edit->setEnabled(checked);
if (!checked) if (!checked) {
ui->custom_rtc_edit->setDateTime(QDateTime::currentDateTime()); ui->custom_rtc_edit->setDateTime(QDateTime::currentDateTime());
}
}); });
this->setConfiguration(); SetConfiguration();
} }
ConfigureSystem::~ConfigureSystem() = default; ConfigureSystem::~ConfigureSystem() = default;
void ConfigureSystem::setConfiguration() { void ConfigureSystem::SetConfiguration() {
enabled = !Core::System::GetInstance().IsPoweredOn(); enabled = !Core::System::GetInstance().IsPoweredOn();
ui->combo_language->setCurrentIndex(Settings::values.language_index); ui->combo_language->setCurrentIndex(Settings::values.language_index);
@ -61,22 +63,25 @@ void ConfigureSystem::setConfiguration() {
void ConfigureSystem::ReadSystemSettings() {} void ConfigureSystem::ReadSystemSettings() {}
void ConfigureSystem::applyConfiguration() { void ConfigureSystem::ApplyConfiguration() {
if (!enabled) if (!enabled) {
return; return;
}
Settings::values.language_index = ui->combo_language->currentIndex(); Settings::values.language_index = ui->combo_language->currentIndex();
if (ui->rng_seed_checkbox->isChecked()) if (ui->rng_seed_checkbox->isChecked()) {
Settings::values.rng_seed = ui->rng_seed_edit->text().toULongLong(nullptr, 16); Settings::values.rng_seed = ui->rng_seed_edit->text().toULongLong(nullptr, 16);
else } else {
Settings::values.rng_seed = std::nullopt; Settings::values.rng_seed = std::nullopt;
}
if (ui->custom_rtc_checkbox->isChecked()) if (ui->custom_rtc_checkbox->isChecked()) {
Settings::values.custom_rtc = Settings::values.custom_rtc =
std::chrono::seconds(ui->custom_rtc_edit->dateTime().toSecsSinceEpoch()); std::chrono::seconds(ui->custom_rtc_edit->dateTime().toSecsSinceEpoch());
else } else {
Settings::values.custom_rtc = std::nullopt; Settings::values.custom_rtc = std::nullopt;
}
Settings::Apply(); Settings::Apply();
} }
@ -89,8 +94,10 @@ void ConfigureSystem::RefreshConsoleID() {
"if you use an outdated config savegame. Continue?"); "if you use an outdated config savegame. Continue?");
reply = QMessageBox::critical(this, tr("Warning"), warning_text, reply = QMessageBox::critical(this, tr("Warning"), warning_text,
QMessageBox::No | QMessageBox::Yes); QMessageBox::No | QMessageBox::Yes);
if (reply == QMessageBox::No) if (reply == QMessageBox::No) {
return; return;
}
u64 console_id{}; u64 console_id{};
ui->label_console_id->setText( ui->label_console_id->setText(
tr("Console ID: 0x%1").arg(QString::number(console_id, 16).toUpper())); tr("Console ID: 0x%1").arg(QString::number(console_id, 16).toUpper()));

View file

@ -20,10 +20,11 @@ public:
explicit ConfigureSystem(QWidget* parent = nullptr); explicit ConfigureSystem(QWidget* parent = nullptr);
~ConfigureSystem() override; ~ConfigureSystem() override;
void applyConfiguration(); void ApplyConfiguration();
void setConfiguration();
private: private:
void SetConfiguration();
void ReadSystemSettings(); void ReadSystemSettings();
void RefreshConsoleID(); void RefreshConsoleID();

View file

@ -12,29 +12,29 @@ ConfigureTouchscreenAdvanced::ConfigureTouchscreenAdvanced(QWidget* parent)
ui->setupUi(this); ui->setupUi(this);
connect(ui->restore_defaults_button, &QPushButton::pressed, this, connect(ui->restore_defaults_button, &QPushButton::pressed, this,
&ConfigureTouchscreenAdvanced::restoreDefaults); &ConfigureTouchscreenAdvanced::RestoreDefaults);
loadConfiguration(); LoadConfiguration();
resize(0, 0); resize(0, 0);
} }
ConfigureTouchscreenAdvanced::~ConfigureTouchscreenAdvanced() = default; ConfigureTouchscreenAdvanced::~ConfigureTouchscreenAdvanced() = default;
void ConfigureTouchscreenAdvanced::applyConfiguration() { void ConfigureTouchscreenAdvanced::ApplyConfiguration() {
Settings::values.touchscreen.finger = ui->finger_box->value(); Settings::values.touchscreen.finger = ui->finger_box->value();
Settings::values.touchscreen.diameter_x = ui->diameter_x_box->value(); Settings::values.touchscreen.diameter_x = ui->diameter_x_box->value();
Settings::values.touchscreen.diameter_y = ui->diameter_y_box->value(); Settings::values.touchscreen.diameter_y = ui->diameter_y_box->value();
Settings::values.touchscreen.rotation_angle = ui->angle_box->value(); Settings::values.touchscreen.rotation_angle = ui->angle_box->value();
} }
void ConfigureTouchscreenAdvanced::loadConfiguration() { void ConfigureTouchscreenAdvanced::LoadConfiguration() {
ui->finger_box->setValue(Settings::values.touchscreen.finger); ui->finger_box->setValue(Settings::values.touchscreen.finger);
ui->diameter_x_box->setValue(Settings::values.touchscreen.diameter_x); ui->diameter_x_box->setValue(Settings::values.touchscreen.diameter_x);
ui->diameter_y_box->setValue(Settings::values.touchscreen.diameter_y); ui->diameter_y_box->setValue(Settings::values.touchscreen.diameter_y);
ui->angle_box->setValue(Settings::values.touchscreen.rotation_angle); ui->angle_box->setValue(Settings::values.touchscreen.rotation_angle);
} }
void ConfigureTouchscreenAdvanced::restoreDefaults() { void ConfigureTouchscreenAdvanced::RestoreDefaults() {
ui->finger_box->setValue(0); ui->finger_box->setValue(0);
ui->diameter_x_box->setValue(15); ui->diameter_x_box->setValue(15);
ui->diameter_y_box->setValue(15); ui->diameter_y_box->setValue(15);

View file

@ -18,13 +18,13 @@ public:
explicit ConfigureTouchscreenAdvanced(QWidget* parent); explicit ConfigureTouchscreenAdvanced(QWidget* parent);
~ConfigureTouchscreenAdvanced() override; ~ConfigureTouchscreenAdvanced() override;
void applyConfiguration(); void ApplyConfiguration();
private: private:
/// Load configuration settings. /// Load configuration settings.
void loadConfiguration(); void LoadConfiguration();
/// Restore all buttons to their default values. /// Restore all buttons to their default values.
void restoreDefaults(); void RestoreDefaults();
std::unique_ptr<Ui::ConfigureTouchscreenAdvanced> ui; std::unique_ptr<Ui::ConfigureTouchscreenAdvanced> ui;
}; };

View file

@ -22,12 +22,12 @@ ConfigureWeb::ConfigureWeb(QWidget* parent)
#ifndef USE_DISCORD_PRESENCE #ifndef USE_DISCORD_PRESENCE
ui->discord_group->setVisible(false); ui->discord_group->setVisible(false);
#endif #endif
this->setConfiguration(); SetConfiguration();
} }
ConfigureWeb::~ConfigureWeb() = default; ConfigureWeb::~ConfigureWeb() = default;
void ConfigureWeb::setConfiguration() { void ConfigureWeb::SetConfiguration() {
ui->web_credentials_disclaimer->setWordWrap(true); ui->web_credentials_disclaimer->setWordWrap(true);
ui->telemetry_learn_more->setOpenExternalLinks(true); ui->telemetry_learn_more->setOpenExternalLinks(true);
ui->telemetry_learn_more->setText( ui->telemetry_learn_more->setText(
@ -56,7 +56,7 @@ void ConfigureWeb::setConfiguration() {
ui->toggle_discordrpc->setChecked(UISettings::values.enable_discord_presence); ui->toggle_discordrpc->setChecked(UISettings::values.enable_discord_presence);
} }
void ConfigureWeb::applyConfiguration() { void ConfigureWeb::ApplyConfiguration() {
Settings::values.enable_telemetry = ui->toggle_telemetry->isChecked(); Settings::values.enable_telemetry = ui->toggle_telemetry->isChecked();
UISettings::values.enable_discord_presence = ui->toggle_discordrpc->isChecked(); UISettings::values.enable_discord_presence = ui->toggle_discordrpc->isChecked();
if (user_verified) { if (user_verified) {
@ -121,6 +121,6 @@ void ConfigureWeb::OnLoginVerified() {
} }
} }
void ConfigureWeb::retranslateUi() { void ConfigureWeb::RetranslateUI() {
ui->retranslateUi(this); ui->retranslateUi(this);
} }

View file

@ -19,8 +19,8 @@ public:
explicit ConfigureWeb(QWidget* parent = nullptr); explicit ConfigureWeb(QWidget* parent = nullptr);
~ConfigureWeb() override; ~ConfigureWeb() override;
void applyConfiguration(); void ApplyConfiguration();
void retranslateUi(); void RetranslateUI();
private: private:
void RefreshTelemetryID(); void RefreshTelemetryID();
@ -28,7 +28,7 @@ private:
void VerifyLogin(); void VerifyLogin();
void OnLoginVerified(); void OnLoginVerified();
void setConfiguration(); void SetConfiguration();
bool user_verified = true; bool user_verified = true;
QFutureWatcher<bool> verify_watcher; QFutureWatcher<bool> verify_watcher;

View file

@ -1294,10 +1294,10 @@ void GMainWindow::OnGameListOpenPerGameProperties(const std::string& file) {
} }
ConfigurePerGameGeneral dialog(this, title_id); ConfigurePerGameGeneral dialog(this, title_id);
dialog.loadFromFile(v_file); dialog.LoadFromFile(v_file);
auto result = dialog.exec(); auto result = dialog.exec();
if (result == QDialog::Accepted) { if (result == QDialog::Accepted) {
dialog.applyConfiguration(); dialog.ApplyConfiguration();
const auto reload = UISettings::values.is_game_list_reload_pending.exchange(false); const auto reload = UISettings::values.is_game_list_reload_pending.exchange(false);
if (reload) { if (reload) {
@ -1688,26 +1688,31 @@ void GMainWindow::ToggleWindowMode() {
} }
void GMainWindow::OnConfigure() { void GMainWindow::OnConfigure() {
ConfigureDialog configureDialog(this, hotkey_registry); const auto old_theme = UISettings::values.theme;
auto old_theme = UISettings::values.theme;
const bool old_discord_presence = UISettings::values.enable_discord_presence; const bool old_discord_presence = UISettings::values.enable_discord_presence;
auto result = configureDialog.exec();
if (result == QDialog::Accepted) {
configureDialog.applyConfiguration();
InitializeHotkeys();
if (UISettings::values.theme != old_theme)
UpdateUITheme();
if (UISettings::values.enable_discord_presence != old_discord_presence)
SetDiscordEnabled(UISettings::values.enable_discord_presence);
const auto reload = UISettings::values.is_game_list_reload_pending.exchange(false); ConfigureDialog configure_dialog(this, hotkey_registry);
if (reload) { const auto result = configure_dialog.exec();
game_list->PopulateAsync(UISettings::values.game_directory_path, if (result != QDialog::Accepted) {
UISettings::values.game_directory_deepscan); return;
}
config->Save();
} }
configure_dialog.ApplyConfiguration();
InitializeHotkeys();
if (UISettings::values.theme != old_theme) {
UpdateUITheme();
}
if (UISettings::values.enable_discord_presence != old_discord_presence) {
SetDiscordEnabled(UISettings::values.enable_discord_presence);
}
const auto reload = UISettings::values.is_game_list_reload_pending.exchange(false);
if (reload) {
game_list->PopulateAsync(UISettings::values.game_directory_path,
UISettings::values.game_directory_deepscan);
}
config->Save();
} }
void GMainWindow::OnLoadAmiibo() { void GMainWindow::OnLoadAmiibo() {