aboutsummaryrefslogtreecommitdiff
path: root/src/yuzu/configuration/configure_system.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/yuzu/configuration/configure_system.cpp')
-rw-r--r--src/yuzu/configuration/configure_system.cpp77
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());
+}