diff options
Diffstat (limited to 'src/yuzu/configuration/configure_system.cpp')
-rw-r--r-- | src/yuzu/configuration/configure_system.cpp | 77 |
1 files changed, 77 insertions, 0 deletions
diff --git a/src/yuzu/configuration/configure_system.cpp b/src/yuzu/configuration/configure_system.cpp new file mode 100644 index 0000000000..d83c2db239 --- /dev/null +++ b/src/yuzu/configuration/configure_system.cpp @@ -0,0 +1,77 @@ +// Copyright 2016 Citra Emulator Project +// Licensed under GPLv2 or any later version +// Refer to the license.txt file included. + +#include <QMessageBox> +#include "citra_qt/configuration/configure_system.h" +#include "citra_qt/ui_settings.h" +#include "core/core.h" +#include "ui_configure_system.h" + +static const std::array<int, 12> days_in_month = {{ + 31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31, +}}; + +ConfigureSystem::ConfigureSystem(QWidget* parent) : QWidget(parent), ui(new Ui::ConfigureSystem) { + ui->setupUi(this); + connect(ui->combo_birthmonth, + static_cast<void (QComboBox::*)(int)>(&QComboBox::currentIndexChanged), this, + &ConfigureSystem::updateBirthdayComboBox); + connect(ui->button_regenerate_console_id, &QPushButton::clicked, this, + &ConfigureSystem::refreshConsoleID); + + this->setConfiguration(); +} + +ConfigureSystem::~ConfigureSystem() {} + +void ConfigureSystem::setConfiguration() { + enabled = !Core::System::GetInstance().IsPoweredOn(); +} + +void ConfigureSystem::ReadSystemSettings() { +} + +void ConfigureSystem::applyConfiguration() { + if (!enabled) + return; +} + +void ConfigureSystem::updateBirthdayComboBox(int birthmonth_index) { + if (birthmonth_index < 0 || birthmonth_index >= 12) + return; + + // store current day selection + int birthday_index = ui->combo_birthday->currentIndex(); + + // get number of days in the new selected month + int days = days_in_month[birthmonth_index]; + + // if the selected day is out of range, + // reset it to 1st + if (birthday_index < 0 || birthday_index >= days) + birthday_index = 0; + + // update the day combo box + ui->combo_birthday->clear(); + for (int i = 1; i <= days; ++i) { + ui->combo_birthday->addItem(QString::number(i)); + } + + // restore the day selection + ui->combo_birthday->setCurrentIndex(birthday_index); +} + +void ConfigureSystem::refreshConsoleID() { + QMessageBox::StandardButton reply; + QString warning_text = tr("This will replace your current virtual 3DS with a new one. " + "Your current virtual 3DS will not be recoverable. " + "This might have unexpected effects in games. This might fail, " + "if you use an outdated config savegame. Continue?"); + reply = QMessageBox::critical(this, tr("Warning"), warning_text, + QMessageBox::No | QMessageBox::Yes); + if (reply == QMessageBox::No) + return; + u64 console_id{}; + ui->label_console_id->setText("Console ID: 0x" + QString::number(console_id, 16).toUpper()); +} |