configure_general.h 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. // SPDX-FileCopyrightText: 2016 Citra Emulator Project
  2. // SPDX-License-Identifier: GPL-2.0-or-later
  3. #pragma once
  4. #include <functional>
  5. #include <memory>
  6. #include <QWidget>
  7. #include "yuzu/configuration/configuration_shared.h"
  8. namespace Core {
  9. class System;
  10. }
  11. class ConfigureDialog;
  12. class HotkeyRegistry;
  13. namespace Ui {
  14. class ConfigureGeneral;
  15. }
  16. class ConfigureGeneral : public ConfigurationShared::Tab {
  17. public:
  18. explicit ConfigureGeneral(const Core::System& system_,
  19. std::shared_ptr<std::forward_list<ConfigurationShared::Tab*>> group,
  20. QWidget* parent = nullptr);
  21. ~ConfigureGeneral() override;
  22. void SetResetCallback(std::function<void()> callback);
  23. void ResetDefaults();
  24. void ApplyConfiguration() override;
  25. void SetConfiguration() override;
  26. private:
  27. void changeEvent(QEvent* event) override;
  28. void RetranslateUI();
  29. void SetupPerGameUI();
  30. std::function<void()> reset_callback;
  31. std::unique_ptr<Ui::ConfigureGeneral> ui;
  32. ConfigurationShared::CheckState use_speed_limit;
  33. ConfigurationShared::CheckState use_multi_core;
  34. const Core::System& system;
  35. };