// SPDX-FileCopyrightText: 2016 Citra Emulator Project // SPDX-License-Identifier: GPL-2.0-or-later #pragma once #include #include #include #include #include "yuzu/configuration/configuration_shared.h" class QDateTimeEdit; namespace Core { class System; } namespace Ui { class ConfigureSystem; } class ConfigureSystem : public ConfigurationShared::Tab { public: explicit ConfigureSystem( Core::System& system_, std::shared_ptr> group, const ConfigurationShared::TranslationMap& translations, const ConfigurationShared::ComboboxTranslationMap& combobox_translations, QWidget* parent = nullptr); ~ConfigureSystem() override; void ApplyConfiguration() override; void SetConfiguration() override; private: void changeEvent(QEvent* event) override; void RetranslateUI(); void Setup(); std::forward_list> apply_funcs{}; std::unique_ptr ui; bool enabled = false; ConfigurationShared::CheckState use_rng_seed; ConfigurationShared::CheckState use_unsafe_extended_memory_layout; Core::System& system; const ConfigurationShared::TranslationMap& translations; const ConfigurationShared::ComboboxTranslationMap& combobox_translations; QCheckBox* rng_seed_checkbox; QLineEdit* rng_seed_edit; QCheckBox* custom_rtc_checkbox; QDateTimeEdit* custom_rtc_edit; QComboBox* combo_region; QComboBox* combo_language; };