configure_cpu.h 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  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. Q_OBJECT
  21. public:
  22. explicit ConfigureCpu(const Core::System& system_,
  23. std::shared_ptr<std::vector<ConfigurationShared::Tab*>> group,
  24. const ConfigurationShared::Builder& builder, QWidget* parent = nullptr);
  25. ~ConfigureCpu() override;
  26. void ApplyConfiguration() override;
  27. void SetConfiguration() override;
  28. private:
  29. void changeEvent(QEvent* event) override;
  30. void RetranslateUI();
  31. void UpdateGroup(int index);
  32. void Setup(const ConfigurationShared::Builder& builder);
  33. std::unique_ptr<Ui::ConfigureCpu> ui;
  34. const Core::System& system;
  35. const ConfigurationShared::ComboboxTranslationMap& combobox_translations;
  36. std::vector<std::function<void(bool)>> apply_funcs{};
  37. QComboBox* accuracy_combobox;
  38. QComboBox* backend_combobox;
  39. };