rpfm_ipc/
settings_keys.rs1use serde::{Deserialize, Serialize};
17
18use std::collections::HashMap;
19
20pub const MYMOD_BASE_PATH: &str = "mymods_base_path";
22pub const SECONDARY_PATH: &str = "secondary_path";
23pub const CUSTOM_CONFIG_PATH_KEY: &str = "custom_config_path";
24
25pub const ASSEMBLY_KIT_SUFFIX: &str = "_assembly_kit";
28
29pub const DEFAULT_GAME: &str = "default_game";
31pub const LANGUAGE: &str = "language";
32
33pub const THEME: &str = "theme";
35
36pub const THEME_OS: &str = "os";
38pub const THEME_LIGHT: &str = "light";
40pub const THEME_DARK: &str = "dark";
42
43pub const UPDATE_CHANNEL: &str = "update_channel";
44pub const AUTOSAVE_AMOUNT: &str = "autosave_amount";
45pub const AUTOSAVE_INTERVAL: &str = "autosave_interval";
46pub const FONT_NAME: &str = "font_name";
47pub const FONT_SIZE: &str = "font_size";
48pub const ORIGINAL_FONT_NAME: &str = "original_font_name";
49pub const ORIGINAL_FONT_SIZE: &str = "original_font_size";
50pub const RECENT_FILE_LIST: &str = "recentFileList";
51
52pub const START_MAXIMIZED: &str = "start_maximized";
54pub const ALLOW_EDITING_OF_CA_PACKFILES: &str = "allow_editing_of_ca_packfiles";
55pub const CHECK_UPDATES_ON_START: &str = "check_updates_on_start";
56pub const CHECK_SCHEMA_UPDATES_ON_START: &str = "check_schema_updates_on_start";
57pub const CHECK_LUA_AUTOGEN_UPDATES_ON_START: &str = "check_lua_autogen_updates_on_start";
58pub const CHECK_OLD_AK_UPDATES_ON_START: &str = "check_old_ak_updates_on_start";
59pub const USE_LAZY_LOADING: &str = "use_lazy_loading";
60pub const DISABLE_UUID_REGENERATION_ON_DB_TABLES: &str = "disable_uuid_regeneration_on_db_tables";
61pub const PACKFILE_TREEVIEW_RESIZE_TO_FIT: &str = "packfile_treeview_resize_to_fit";
62pub const EXPAND_TREEVIEW_WHEN_ADDING_ITEMS: &str = "expand_treeview_when_adding_items";
63pub const USE_RIGHT_SIZE_MARKERS: &str = "use_right_size_markers";
64pub const DISABLE_FILE_PREVIEWS: &str = "disable_file_previews";
65pub const INCLUDE_BASE_FOLDER_ON_ADD_FROM_FOLDER: &str = "include_base_folder_on_add_from_folder";
66pub const DELETE_EMPTY_FOLDERS_ON_DELETE: &str = "delete_empty_folders_on_delete";
67pub const AUTOSAVE_FOLDER_SIZE_WARNING_TRIGGERED: &str = "autosave_folder_size_warning_triggered";
68pub const IGNORE_GAME_FILES_IN_AK: &str = "ignore_game_files_in_ak";
69pub const ENABLE_MULTIFOLDER_FILEPICKER: &str = "enable_multifolder_filepicker";
70pub const ENABLE_PACK_CONTENTS_DRAG_AND_DROP: &str = "enable_pack_contents_drag_and_drop";
71pub const CLEAN_UI: &str = "clean_ui";
72pub const SINGLE_PACK_MODE: &str = "single_pack_mode";
73pub const GLOBAL_SEARCH_COLLAPSE_RESULTS: &str = "global_search_collapse_results";
74
75pub const IMPORT_FROM_QT: &str = "import_from_qt";
77
78pub const ADJUST_COLUMNS_TO_CONTENT: &str = "adjust_columns_to_content";
80pub const EXTEND_LAST_COLUMN_ON_TABLES: &str = "extend_last_column_on_tables";
81pub const DISABLE_COMBOS_ON_TABLES: &str = "disable_combos_on_tables";
82pub const TIGHT_TABLE_MODE: &str = "tight_table_mode";
83pub const TABLE_RESIZE_ON_EDIT: &str = "table_resize_on_edit";
84pub const TABLES_USE_OLD_COLUMN_ORDER: &str = "tables_use_old_column_order";
85pub const TABLES_USE_OLD_COLUMN_ORDER_FOR_TSV: &str = "tables_use_old_column_order_for_tsv";
86pub const ENABLE_LOOKUPS: &str = "enable_lookups";
87pub const ENABLE_ICONS: &str = "enable_icons";
88pub const ENABLE_DIFF_MARKERS: &str = "enable_diff_markers";
89pub const HIDE_UNUSED_COLUMNS: &str = "hide_unused_columns";
90pub const SHOW_TABLE_TOOLBAR: &str = "show_table_toolbar";
91
92pub const CHECK_FOR_MISSING_TABLE_DEFINITIONS: &str = "check_for_missing_table_definitions";
94pub const ENABLE_DEBUG_MENU: &str = "enable_debug_menu";
95pub const ENABLE_UNIT_EDITOR: &str = "enable_unit_editor";
96pub const ENABLE_ESF_EDITOR: &str = "enable_esf_editor";
97pub const USE_DEBUG_VIEW_UNIT_VARIANT: &str = "use_debug_view_unit_variant";
98pub const ENABLE_RENDERER: &str = "enable_renderer";
99
100pub const DIAGNOSTICS_TRIGGER_ON_OPEN: &str = "diagnostics_trigger_on_open";
102pub const DIAGNOSTICS_TRIGGER_ON_TABLE_EDIT: &str = "diagnostics_trigger_on_table_edit";
103
104pub const ENABLE_USAGE_TELEMETRY: &str = "enable_usage_telemetry";
106pub const ENABLE_CRASH_REPORTS: &str = "enable_crash_reports";
107
108pub const ANONYMOUS_TELEMETRY_ID: &str = "anonymous_telemetry_id";
110
111pub const AI_API_URL: &str = "ai_api_url";
119pub const AI_API_KEY: &str = "ai_api_key";
120pub const AI_MODEL: &str = "ai_model";
121pub const DEEPL_API_KEY: &str = "deepl_api_key";
122
123pub const PACK_REMOVE_ITM_FILES: &str = "pack_remove_itm_files";
125pub const PACK_APPLY_COMPRESSION: &str = "pack_apply_compression";
126pub const PACK_REMOVE_DUPLICATED_FILES: &str = "pack_remove_duplicated_files";
127pub const DB_IMPORT_DATACORES_INTO_TWAD_KEY_DELETES: &str = "db_import_datacores_into_twad_key_deletes";
128pub const DB_OPTIMIZE_DATACORED_TABLES: &str = "db_optimize_datacored_tables";
129pub const TABLE_REMOVE_DUPLICATED_ENTRIES: &str = "table_remove_duplicated_entries";
130pub const TABLE_REMOVE_ITM_ENTRIES: &str = "table_remove_itm_entries";
131pub const TABLE_REMOVE_ITNR_ENTRIES: &str = "table_remove_itnr_entries";
132pub const TABLE_REMOVE_EMPTY_FILE: &str = "table_remove_empty_file";
133pub const TEXT_REMOVE_UNUSED_XML_MAP_FOLDERS: &str = "text_remove_unused_xml_map_folders";
134pub const TEXT_REMOVE_UNUSED_XML_PREFAB_FOLDER: &str = "text_remove_unused_xml_prefab_folder";
135pub const TEXT_REMOVE_AGF_FILES: &str = "text_remove_agf_files";
136pub const TEXT_REMOVE_MODEL_STATISTICS_FILES: &str = "text_remove_model_statistics_files";
137pub const PTS_REMOVE_UNUSED_ART_SETS: &str = "pts_remove_unused_art_sets";
138pub const PTS_REMOVE_UNUSED_VARIANTS: &str = "pts_remove_unused_variants";
139pub const PTS_REMOVE_EMPTY_MASKS: &str = "pts_remove_empty_masks";
140pub const PTS_REMOVE_EMPTY_FILE: &str = "pts_remove_empty_file";
141
142pub const FACTORY_RESET: &str = "factoryReset";
144pub const MOVE_CHECKBOX_STATUS: &str = "move_checkbox_status";
145pub const GLOBAL_SEARCH_SOURCES_STATUS: &str = "global_search_sources_status";
146pub const GLOBAL_SEARCH_FILES_STATUS: &str = "global_search_files_status";
147pub const GEOMETRY: &str = "geometry";
148pub const WINDOW_STATE: &str = "windowState";
149pub const ORIGINAL_GEOMETRY: &str = "originalGeometry";
150pub const ORIGINAL_WINDOW_STATE: &str = "originalWindowState";
151
152pub const COLOUR_LIGHT_TABLE_ADDED: &str = "colour_light_table_added";
154pub const COLOUR_LIGHT_TABLE_MODIFIED: &str = "colour_light_table_modified";
155pub const COLOUR_LIGHT_DIAGNOSTIC_ERROR: &str = "colour_light_diagnostic_error";
156pub const COLOUR_LIGHT_DIAGNOSTIC_WARNING: &str = "colour_light_diagnostic_warning";
157pub const COLOUR_LIGHT_DIAGNOSTIC_INFO: &str = "colour_light_diagnostic_info";
158pub const COLOUR_DARK_TABLE_ADDED: &str = "colour_dark_table_added";
159pub const COLOUR_DARK_TABLE_MODIFIED: &str = "colour_dark_table_modified";
160pub const COLOUR_DARK_DIAGNOSTIC_ERROR: &str = "colour_dark_diagnostic_error";
161pub const COLOUR_DARK_DIAGNOSTIC_WARNING: &str = "colour_dark_diagnostic_warning";
162pub const COLOUR_DARK_DIAGNOSTIC_INFO: &str = "colour_dark_diagnostic_info";
163
164#[derive(Clone, Debug, Default, Serialize, Deserialize)]
166#[serde(default)]
167pub struct SettingsSnapshot {
168 pub bool: HashMap<String, bool>,
169 pub i32: HashMap<String, i32>,
170 pub f32: HashMap<String, f32>,
171 pub string: HashMap<String, String>,
172 pub raw_data: HashMap<String, Vec<u8>>,
173 pub vec_string: HashMap<String, Vec<String>>,
174}