// Copyright 2014 Citra Emulator Project // Licensed under GPLv2 or any later version // Refer to the license.txt file included. #pragma once #include #include #include #include #include "citra_qt/ui_settings.h" #include "core/settings.h" class QSettings; class Config { public: Config(); ~Config(); void Reload(); void Save(); static const std::array default_buttons; static const std::array, Settings::NativeAnalog::NumAnalogs> default_analogs; private: void ReadValues(); void SaveValues(); QVariant ReadSetting(const QString& name) const; QVariant ReadSetting(const QString& name, const QVariant& default_value) const; void WriteSetting(const QString& name, const QVariant& value); void WriteSetting(const QString& name, const QVariant& value, const QVariant& default_value); static const std::array default_hotkeys; std::unique_ptr qt_config; std::string qt_config_loc; };