configure_cpu.h 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. // SPDX-FileCopyrightText: Copyright 2020 yuzu Emulator Project
  2. // SPDX-License-Identifier: GPL-2.0-or-later
  3. #pragma once
  4. #include <memory>
  5. #include <vector>
  6. #include <QWidget>
  7. #include "yuzu/configuration/configuration_shared.h"
  8. #include "yuzu/configuration/shared_translation.h"
  9. class QComboBox;
  10. namespace Core {
  11. class System;
  12. }
  13. namespace Ui {
  14. class ConfigureCpu;
  15. }
  16. namespace ConfigurationShared {
  17. class Builder;
  18. }
  19. class ConfigureCpu : public ConfigurationShared::Tab {
  20. public:
  21. explicit ConfigureCpu(const Core::System& system_,
  22. std::shared_ptr<std::vector<ConfigurationShared::Tab*>> group,
  23. const ConfigurationShared::Builder& builder, QWidget* parent = nullptr);
  24. ~ConfigureCpu() override;
  25. void ApplyConfiguration() override;
  26. void SetConfiguration() override;
  27. private:
  28. void changeEvent(QEvent* event) override;
  29. void RetranslateUI();
  30. void UpdateGroup(int index);
  31. void Setup(const ConfigurationShared::Builder& builder);
  32. std::unique_ptr<Ui::ConfigureCpu> ui;
  33. const Core::System& system;
  34. const ConfigurationShared::ComboboxTranslationMap& combobox_translations;
  35. std::vector<std::function<void(bool)>> apply_funcs{};
  36. QComboBox* accuracy_combobox;
  37. };