// 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 "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 ReadAudioValues(); void ReadCameraValues(); void ReadControlValues(); void ReadCoreValues(); void ReadDataStorageValues(); void ReadDebuggingValues(); void ReadLayoutValues(); void ReadMiscellaneousValues(); void ReadMultiplayerValues(); void ReadPathValues(); void ReadRendererValues(); void ReadShortcutValues(); void ReadSystemValues(); void ReadUIValues(); void ReadUIGameListValues(); void ReadUILayoutValues(); void ReadUpdaterValues(); void ReadWebServiceValues(); void SaveValues(); void SaveAudioValues(); void SaveCameraValues(); void SaveControlValues(); void SaveCoreValues(); void SaveDataStorageValues(); void SaveDebuggingValues(); void SaveLayoutValues(); void SaveMiscellaneousValues(); void SaveMultiplayerValues(); void SavePathValues(); void SaveRendererValues(); void SaveShortcutValues(); void SaveSystemValues(); void SaveUIValues(); void SaveUIGameListValues(); void SaveUILayoutValues(); void SaveUpdaterValues(); void SaveWebServiceValues(); 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); std::unique_ptr qt_config; std::string qt_config_loc; };