85 [[nodiscard]] std::optional<std::pair<int, int>>
GetWindowSize()
const;
90 void SetTheme(
const std::string& theme);
91 [[nodiscard]] std::string
GetTheme()
const;
100 void SetString(
const std::string& key,
const std::string& value);
101 [[nodiscard]] std::optional<std::string>
GetString(
const std::string& key)
const;
103 void SetInt(
const std::string& key,
int value);
104 [[nodiscard]] std::optional<int>
GetInt(
const std::string& key)
const;
106 void SetBool(
const std::string& key,
bool value);
107 [[nodiscard]] std::optional<bool>
GetBool(
const std::string& key)
const;
109 void SetFloat(
const std::string& key,
float value);
110 [[nodiscard]] std::optional<float>
GetFloat(
const std::string& key)
const;
113 [[nodiscard]]
bool HasKey(
const std::string& key)
const;
119 [[nodiscard]] std::vector<std::string>
GetAllKeys()
const;
123 std::unique_ptr<Impl> m_impl;
126 static std::filesystem::path GetConfigDirectory();
129 static bool EnsureConfigDirectoryExists();