config.h 984 B

123456789101112131415161718192021222324252627282930313233343536
  1. // Copyright 2014 Citra Emulator Project
  2. // Licensed under GPLv2 or any later version
  3. // Refer to the license.txt file included.
  4. #pragma once
  5. #include <array>
  6. #include <memory>
  7. #include <string>
  8. #include <QVariant>
  9. #include "core/settings.h"
  10. class QSettings;
  11. class Config {
  12. public:
  13. Config();
  14. ~Config();
  15. void Reload();
  16. void Save();
  17. static const std::array<int, Settings::NativeButton::NumButtons> default_buttons;
  18. static const std::array<std::array<int, 5>, Settings::NativeAnalog::NumAnalogs> default_analogs;
  19. static const std::array<int, Settings::NativeMouseButton::NumMouseButtons>
  20. default_mouse_buttons;
  21. static const std::array<int, Settings::NativeKeyboard::NumKeyboardKeys> default_keyboard_keys;
  22. static const std::array<int, Settings::NativeKeyboard::NumKeyboardMods> default_keyboard_mods;
  23. private:
  24. void ReadValues();
  25. void SaveValues();
  26. std::unique_ptr<QSettings> qt_config;
  27. std::string qt_config_loc;
  28. };