// Copyright 2016 Citra Emulator Project // Licensed under GPLv2 or any later version // Refer to the license.txt file included. #include #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 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(&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()); }