configure_system.h 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. // SPDX-FileCopyrightText: 2016 Citra Emulator Project
  2. // SPDX-License-Identifier: GPL-2.0-or-later
  3. #pragma once
  4. #include <forward_list>
  5. #include <functional>
  6. #include <memory>
  7. #include <QWidget>
  8. #include "yuzu/configuration/configuration_shared.h"
  9. #include "yuzu/configuration/shared_translation.h"
  10. class QCheckBox;
  11. class QLineEdit;
  12. class QComboBox;
  13. class QDateTimeEdit;
  14. namespace Core {
  15. class System;
  16. }
  17. namespace Ui {
  18. class ConfigureSystem;
  19. }
  20. class ConfigureSystem : public ConfigurationShared::Tab {
  21. public:
  22. explicit ConfigureSystem(
  23. Core::System& system_, std::shared_ptr<std::forward_list<ConfigurationShared::Tab*>> group,
  24. const ConfigurationShared::TranslationMap& translations,
  25. const ConfigurationShared::ComboboxTranslationMap& combobox_translations,
  26. QWidget* parent = nullptr);
  27. ~ConfigureSystem() override;
  28. void ApplyConfiguration() override;
  29. void SetConfiguration() override;
  30. private:
  31. void changeEvent(QEvent* event) override;
  32. void RetranslateUI();
  33. void Setup();
  34. std::forward_list<std::function<void(bool)>> apply_funcs{};
  35. std::unique_ptr<Ui::ConfigureSystem> ui;
  36. bool enabled = false;
  37. Core::System& system;
  38. const ConfigurationShared::TranslationMap& translations;
  39. const ConfigurationShared::ComboboxTranslationMap& combobox_translations;
  40. QCheckBox* rng_seed_checkbox;
  41. QLineEdit* rng_seed_edit;
  42. QCheckBox* custom_rtc_checkbox;
  43. QDateTimeEdit* custom_rtc_edit;
  44. QComboBox* combo_region;
  45. QComboBox* combo_language;
  46. };