diff options
author | t895 <clombardo169@gmail.com> | 2023-11-12 02:03:01 -0500 |
---|---|---|
committer | t895 <clombardo169@gmail.com> | 2023-11-21 01:58:13 -0500 |
commit | da14c7b8e47fcd5456d88a033a1fb154a0dcfa39 (patch) | |
tree | 4f9da84775b2b25aaa7eb519bccb1d5e620608a0 /src/yuzu_cmd/config.h | |
parent | 8da5bd27e9d4fe5e850700039d79f77e52ba6aea (diff) |
config: Unify config handling under frontend_common
Replaces every way of handling config for each frontend with SimpleIni. frontend_common's Config class is at the center where it saves and loads all of the cross-platform settings and provides a set of pure virtual functions for platform specific settings.
As a result of making config handling platform specific, several parts had to be moved to each platform's own config class or to other parts. Default keys were put in platform specific config classes and translatable strings for Qt were moved to shared_translation. Default hotkeys, default_theme, window geometry, and qt metatypes were moved to uisettings. Additionally, to reduce dependence on Qt, QStrings were converted to std::strings where applicable.
Diffstat (limited to 'src/yuzu_cmd/config.h')
-rw-r--r-- | src/yuzu_cmd/config.h | 38 |
1 files changed, 0 insertions, 38 deletions
diff --git a/src/yuzu_cmd/config.h b/src/yuzu_cmd/config.h deleted file mode 100644 index 512591a39..000000000 --- a/src/yuzu_cmd/config.h +++ /dev/null @@ -1,38 +0,0 @@ -// SPDX-FileCopyrightText: 2014 Citra Emulator Project -// SPDX-License-Identifier: GPL-2.0-or-later - -#pragma once - -#include <filesystem> -#include <memory> -#include <optional> -#include <string> - -#include "common/settings.h" - -class INIReader; - -class Config { - std::filesystem::path sdl2_config_loc; - std::unique_ptr<INIReader> sdl2_config; - - bool LoadINI(const std::string& default_contents = "", bool retry = true); - void ReadValues(); - -public: - explicit Config(std::optional<std::filesystem::path> config_path); - ~Config(); - - void Reload(); - -private: - /** - * Applies a value read from the sdl2_config to a Setting. - * - * @param group The name of the INI group - * @param setting The yuzu setting to modify - */ - template <typename Type, bool ranged> - void ReadSetting(const std::string& group, Settings::Setting<Type, ranged>& setting); - void ReadCategory(Settings::Category category); -}; |