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";
72
73pub const IMPORT_FROM_QT: &str = "import_from_qt";
75
76pub const ADJUST_COLUMNS_TO_CONTENT: &str = "adjust_columns_to_content";
78pub const EXTEND_LAST_COLUMN_ON_TABLES: &str = "extend_last_column_on_tables";
79pub const DISABLE_COMBOS_ON_TABLES: &str = "disable_combos_on_tables";
80pub const TIGHT_TABLE_MODE: &str = "tight_table_mode";
81pub const TABLE_RESIZE_ON_EDIT: &str = "table_resize_on_edit";
82pub const TABLES_USE_OLD_COLUMN_ORDER: &str = "tables_use_old_column_order";
83pub const TABLES_USE_OLD_COLUMN_ORDER_FOR_TSV: &str = "tables_use_old_column_order_for_tsv";
84pub const ENABLE_LOOKUPS: &str = "enable_lookups";
85pub const ENABLE_ICONS: &str = "enable_icons";
86pub const ENABLE_DIFF_MARKERS: &str = "enable_diff_markers";
87pub const HIDE_UNUSED_COLUMNS: &str = "hide_unused_columns";
88
89pub const CHECK_FOR_MISSING_TABLE_DEFINITIONS: &str = "check_for_missing_table_definitions";
91pub const ENABLE_DEBUG_MENU: &str = "enable_debug_menu";
92pub const ENABLE_UNIT_EDITOR: &str = "enable_unit_editor";
93pub const ENABLE_ESF_EDITOR: &str = "enable_esf_editor";
94pub const USE_DEBUG_VIEW_UNIT_VARIANT: &str = "use_debug_view_unit_variant";
95pub const ENABLE_RENDERER: &str = "enable_renderer";
96
97pub const DIAGNOSTICS_TRIGGER_ON_OPEN: &str = "diagnostics_trigger_on_open";
99pub const DIAGNOSTICS_TRIGGER_ON_TABLE_EDIT: &str = "diagnostics_trigger_on_table_edit";
100
101pub const ENABLE_USAGE_TELEMETRY: &str = "enable_usage_telemetry";
103pub const ENABLE_CRASH_REPORTS: &str = "enable_crash_reports";
104
105pub const ANONYMOUS_TELEMETRY_ID: &str = "anonymous_telemetry_id";
107
108pub const AI_API_URL: &str = "ai_api_url";
116pub const AI_API_KEY: &str = "ai_api_key";
117pub const AI_MODEL: &str = "ai_model";
118pub const DEEPL_API_KEY: &str = "deepl_api_key";
119
120pub const PACK_REMOVE_ITM_FILES: &str = "pack_remove_itm_files";
122pub const PACK_APPLY_COMPRESSION: &str = "pack_apply_compression";
123pub const PACK_REMOVE_DUPLICATED_FILES: &str = "pack_remove_duplicated_files";
124pub const DB_IMPORT_DATACORES_INTO_TWAD_KEY_DELETES: &str = "db_import_datacores_into_twad_key_deletes";
125pub const DB_OPTIMIZE_DATACORED_TABLES: &str = "db_optimize_datacored_tables";
126pub const TABLE_REMOVE_DUPLICATED_ENTRIES: &str = "table_remove_duplicated_entries";
127pub const TABLE_REMOVE_ITM_ENTRIES: &str = "table_remove_itm_entries";
128pub const TABLE_REMOVE_ITNR_ENTRIES: &str = "table_remove_itnr_entries";
129pub const TABLE_REMOVE_EMPTY_FILE: &str = "table_remove_empty_file";
130pub const TEXT_REMOVE_UNUSED_XML_MAP_FOLDERS: &str = "text_remove_unused_xml_map_folders";
131pub const TEXT_REMOVE_UNUSED_XML_PREFAB_FOLDER: &str = "text_remove_unused_xml_prefab_folder";
132pub const TEXT_REMOVE_AGF_FILES: &str = "text_remove_agf_files";
133pub const TEXT_REMOVE_MODEL_STATISTICS_FILES: &str = "text_remove_model_statistics_files";
134pub const PTS_REMOVE_UNUSED_ART_SETS: &str = "pts_remove_unused_art_sets";
135pub const PTS_REMOVE_UNUSED_VARIANTS: &str = "pts_remove_unused_variants";
136pub const PTS_REMOVE_EMPTY_MASKS: &str = "pts_remove_empty_masks";
137pub const PTS_REMOVE_EMPTY_FILE: &str = "pts_remove_empty_file";
138
139pub const FACTORY_RESET: &str = "factoryReset";
141pub const MOVE_CHECKBOX_STATUS: &str = "move_checkbox_status";
142pub const GLOBAL_SEARCH_SOURCES_STATUS: &str = "global_search_sources_status";
143pub const GEOMETRY: &str = "geometry";
144pub const WINDOW_STATE: &str = "windowState";
145pub const ORIGINAL_GEOMETRY: &str = "originalGeometry";
146pub const ORIGINAL_WINDOW_STATE: &str = "originalWindowState";
147
148pub const COLOUR_LIGHT_TABLE_ADDED: &str = "colour_light_table_added";
150pub const COLOUR_LIGHT_TABLE_MODIFIED: &str = "colour_light_table_modified";
151pub const COLOUR_LIGHT_DIAGNOSTIC_ERROR: &str = "colour_light_diagnostic_error";
152pub const COLOUR_LIGHT_DIAGNOSTIC_WARNING: &str = "colour_light_diagnostic_warning";
153pub const COLOUR_LIGHT_DIAGNOSTIC_INFO: &str = "colour_light_diagnostic_info";
154pub const COLOUR_DARK_TABLE_ADDED: &str = "colour_dark_table_added";
155pub const COLOUR_DARK_TABLE_MODIFIED: &str = "colour_dark_table_modified";
156pub const COLOUR_DARK_DIAGNOSTIC_ERROR: &str = "colour_dark_diagnostic_error";
157pub const COLOUR_DARK_DIAGNOSTIC_WARNING: &str = "colour_dark_diagnostic_warning";
158pub const COLOUR_DARK_DIAGNOSTIC_INFO: &str = "colour_dark_diagnostic_info";
159
160#[derive(Clone, Debug, Default, Serialize, Deserialize)]
162pub struct SettingsSnapshot {
163 pub bool: HashMap<String, bool>,
164 pub i32: HashMap<String, i32>,
165 pub f32: HashMap<String, f32>,
166 pub string: HashMap<String, String>,
167 pub raw_data: HashMap<String, Vec<u8>>,
168 pub vec_string: HashMap<String, Vec<String>>,
169}