diff --git a/menu/menu_displaylist.c b/menu/menu_displaylist.c index 7b0058600a..dca2834124 100644 --- a/menu/menu_displaylist.c +++ b/menu/menu_displaylist.c @@ -4396,6 +4396,34 @@ unsigned menu_displaylist_build_list(file_list_t *list, enum menu_displaylist_ct switch (type) { + case DISPLAYLIST_SAVING_SETTINGS_LIST: + { + menu_displaylist_build_info_t build_list[] = { + {MENU_ENUM_LABEL_SORT_SAVEFILES_ENABLE, PARSE_ONLY_BOOL}, + {MENU_ENUM_LABEL_SORT_SAVESTATES_ENABLE, PARSE_ONLY_BOOL}, + {MENU_ENUM_LABEL_BLOCK_SRAM_OVERWRITE, PARSE_ONLY_BOOL}, + {MENU_ENUM_LABEL_AUTOSAVE_INTERVAL, PARSE_ONLY_UINT}, + {MENU_ENUM_LABEL_SAVESTATE_AUTO_INDEX, PARSE_ONLY_BOOL}, + {MENU_ENUM_LABEL_SAVESTATE_AUTO_SAVE, PARSE_ONLY_BOOL}, + {MENU_ENUM_LABEL_SAVESTATE_AUTO_LOAD, PARSE_ONLY_BOOL}, + {MENU_ENUM_LABEL_SAVESTATE_THUMBNAIL_ENABLE, PARSE_ONLY_BOOL}, + {MENU_ENUM_LABEL_SAVEFILES_IN_CONTENT_DIR_ENABLE, PARSE_ONLY_BOOL}, + {MENU_ENUM_LABEL_SAVESTATES_IN_CONTENT_DIR_ENABLE, PARSE_ONLY_BOOL}, + {MENU_ENUM_LABEL_SYSTEMFILES_IN_CONTENT_DIR_ENABLE, PARSE_ONLY_BOOL}, + {MENU_ENUM_LABEL_SCREENSHOTS_IN_CONTENT_DIR_ENABLE, PARSE_ONLY_BOOL}, + {MENU_ENUM_LABEL_CONTENT_RUNTIME_LOG, PARSE_ONLY_BOOL}, + {MENU_ENUM_LABEL_CONTENT_RUNTIME_LOG_AGGREGATE, PARSE_ONLY_BOOL}, + }; + + for (i = 0; i < ARRAY_SIZE(build_list); i++) + { + if (menu_displaylist_parse_settings_enum(list, + build_list[i].enum_idx, build_list[i].parse_type, + false) == 0) + count++; + } + } + break; case DISPLAYLIST_SETTINGS_ALL: { menu_displaylist_build_info_t build_list[] = { @@ -6032,53 +6060,6 @@ bool menu_displaylist_ctl(enum menu_displaylist_ctl_state type, menu_displaylist info->need_push = true; break; case DISPLAYLIST_SAVING_SETTINGS_LIST: - menu_entries_ctl(MENU_ENTRIES_CTL_CLEAR, info->list); - menu_displaylist_parse_settings_enum(info->list, - MENU_ENUM_LABEL_SORT_SAVEFILES_ENABLE, - PARSE_ONLY_BOOL, false); - menu_displaylist_parse_settings_enum(info->list, - MENU_ENUM_LABEL_SORT_SAVESTATES_ENABLE, - PARSE_ONLY_BOOL, false); - menu_displaylist_parse_settings_enum(info->list, - MENU_ENUM_LABEL_BLOCK_SRAM_OVERWRITE, - PARSE_ONLY_BOOL, false); - menu_displaylist_parse_settings_enum(info->list, - MENU_ENUM_LABEL_AUTOSAVE_INTERVAL, - PARSE_ONLY_UINT, false); - menu_displaylist_parse_settings_enum(info->list, - MENU_ENUM_LABEL_SAVESTATE_AUTO_INDEX, - PARSE_ONLY_BOOL, false); - menu_displaylist_parse_settings_enum(info->list, - MENU_ENUM_LABEL_SAVESTATE_AUTO_SAVE, - PARSE_ONLY_BOOL, false); - menu_displaylist_parse_settings_enum(info->list, - MENU_ENUM_LABEL_SAVESTATE_AUTO_LOAD, - PARSE_ONLY_BOOL, false); - menu_displaylist_parse_settings_enum(info->list, - MENU_ENUM_LABEL_SAVESTATE_THUMBNAIL_ENABLE, - PARSE_ONLY_BOOL, false); - menu_displaylist_parse_settings_enum(info->list, - MENU_ENUM_LABEL_SAVEFILES_IN_CONTENT_DIR_ENABLE, - PARSE_ONLY_BOOL, false); - menu_displaylist_parse_settings_enum(info->list, - MENU_ENUM_LABEL_SAVESTATES_IN_CONTENT_DIR_ENABLE, - PARSE_ONLY_BOOL, false); - menu_displaylist_parse_settings_enum(info->list, - MENU_ENUM_LABEL_SYSTEMFILES_IN_CONTENT_DIR_ENABLE, - PARSE_ONLY_BOOL, false); - menu_displaylist_parse_settings_enum(info->list, - MENU_ENUM_LABEL_SCREENSHOTS_IN_CONTENT_DIR_ENABLE, - PARSE_ONLY_BOOL, false); - menu_displaylist_parse_settings_enum(info->list, - MENU_ENUM_LABEL_CONTENT_RUNTIME_LOG, - PARSE_ONLY_BOOL, false); - menu_displaylist_parse_settings_enum(info->list, - MENU_ENUM_LABEL_CONTENT_RUNTIME_LOG_AGGREGATE, - PARSE_ONLY_BOOL, false); - - info->need_refresh = true; - info->need_push = true; - break; case DISPLAYLIST_DRIVER_SETTINGS_LIST: case DISPLAYLIST_LOGGING_SETTINGS_LIST: case DISPLAYLIST_FRAME_THROTTLE_SETTINGS_LIST: