configure_input_per_game.h 982 B

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. // SPDX-FileCopyrightText: 2022 yuzu Emulator Project
  2. // SPDX-License-Identifier: GPL-2.0-or-later
  3. #pragma once
  4. #include <memory>
  5. #include <QWidget>
  6. #include "ui_configure_input_per_game.h"
  7. #include "yuzu/configuration/input_profiles.h"
  8. class QComboBox;
  9. namespace Core {
  10. class System;
  11. } // namespace Core
  12. class Config;
  13. class ConfigureInputPerGame : public QWidget {
  14. Q_OBJECT
  15. public:
  16. explicit ConfigureInputPerGame(Core::System& system_, Config* config_,
  17. QWidget* parent = nullptr);
  18. /// Load and Save configurations to settings file.
  19. void ApplyConfiguration();
  20. private:
  21. /// Load configuration from settings file.
  22. void LoadConfiguration();
  23. /// Save configuration to settings file.
  24. void SaveConfiguration();
  25. std::unique_ptr<Ui::ConfigureInputPerGame> ui;
  26. std::unique_ptr<InputProfiles> profiles;
  27. std::array<QComboBox*, 8> profile_comboboxes;
  28. Core::System& system;
  29. Config* config;
  30. };