configure_system.h 890 B

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. // SPDX-FileCopyrightText: 2016 Citra Emulator Project
  2. // SPDX-License-Identifier: GPL-2.0-or-later
  3. #pragma once
  4. #include <memory>
  5. #include <QWidget>
  6. namespace Core {
  7. class System;
  8. }
  9. namespace ConfigurationShared {
  10. enum class CheckState;
  11. }
  12. namespace Ui {
  13. class ConfigureSystem;
  14. }
  15. class ConfigureSystem : public QWidget {
  16. Q_OBJECT
  17. public:
  18. explicit ConfigureSystem(Core::System& system_, QWidget* parent = nullptr);
  19. ~ConfigureSystem() override;
  20. void ApplyConfiguration();
  21. void SetConfiguration();
  22. private:
  23. void changeEvent(QEvent* event) override;
  24. void RetranslateUI();
  25. void ReadSystemSettings();
  26. void SetupPerGameUI();
  27. std::unique_ptr<Ui::ConfigureSystem> ui;
  28. bool enabled = false;
  29. ConfigurationShared::CheckState use_rng_seed;
  30. ConfigurationShared::CheckState use_unsafe_extended_memory_layout;
  31. Core::System& system;
  32. };