1#ifndef YAZE_APP_EDITOR_SYSTEM_USER_SETTINGS_H_
2#define YAZE_APP_EDITOR_SYSTEM_USER_SETTINGS_H_
5#include <unordered_map>
6#include <unordered_set>
10#include "absl/status/status.h"
147 std::unordered_map<std::string, std::unordered_map<std::string, bool>>
157 std::unordered_map<std::string, std::unordered_map<std::string, bool>>
Manages user preferences and settings persistence.
const Preferences & prefs() const
std::string settings_file_path_
bool ApplyPanelLayoutDefaultsRevision(int target_revision)
void SetSettingsFilePathForTesting(std::string path)
static constexpr int kLatestPanelLayoutDefaultsRevision
std::string legacy_settings_file_path_
std::string credential_id
float welcome_triforce_alpha
std::string gemini_api_key
std::vector< std::string > project_root_paths
std::unordered_map< std::string, std::string > panel_shortcuts
std::unordered_map< std::string, std::unordered_map< std::string, bool > > saved_layouts
int panel_layout_defaults_revision
float welcome_triforce_size
std::string active_ai_host_id
std::vector< AiModelProfile > ai_profiles
bool welcome_particles_enabled
std::unordered_set< std::string > sidebar_pinned
std::vector< std::string > sidebar_order
std::string anthropic_api_key
std::string openai_api_key
float sidebar_panel_width
bool sidebar_panel_expanded
std::unordered_map< std::string, float > right_panel_widths
bool show_welcome_on_startup
std::unordered_map< std::string, std::string > editor_shortcuts
std::vector< std::string > ai_model_paths
std::vector< AiHost > ai_hosts
std::string last_theme_name
std::string default_project_root
int switch_motion_profile
std::string sidebar_active_category
std::unordered_map< std::string, std::string > global_shortcuts
float welcome_triforce_speed
std::string remote_build_host_id
std::string last_project_path
std::string log_file_path
std::unordered_map< std::string, std::unordered_map< std::string, bool > > panel_visibility_state
std::string active_ai_profile
std::string last_rom_path
std::unordered_map< std::string, bool > pinned_panels
bool welcome_mouse_repel_enabled
bool prefer_hmagic_sprite_names
float panel_browser_category_width
bool restore_last_session
std::unordered_set< std::string > sidebar_hidden