mirror of
https://github.com/libretro/RetroArch
synced 2025-02-28 22:13:51 +00:00
(Menu) setting refactors
This commit is contained in:
parent
9cb4c897b6
commit
041f470d94
@ -1550,10 +1550,11 @@ static void menu_displaylist_realloc_settings(menu_entries_t *entries, unsigned
|
|||||||
static int menu_setting_set_flags(rarch_setting_t *setting)
|
static int menu_setting_set_flags(rarch_setting_t *setting)
|
||||||
{
|
{
|
||||||
enum setting_type setting_type = menu_setting_get_type(setting);
|
enum setting_type setting_type = menu_setting_get_type(setting);
|
||||||
|
uint64_t flags = menu_setting_get_flags(setting);
|
||||||
if (!setting)
|
if (!setting)
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
if (setting->flags & SD_FLAG_IS_DRIVER)
|
if (flags & SD_FLAG_IS_DRIVER)
|
||||||
return MENU_SETTING_DRIVER;
|
return MENU_SETTING_DRIVER;
|
||||||
|
|
||||||
switch (setting_type)
|
switch (setting_type)
|
||||||
@ -1576,6 +1577,7 @@ static int menu_setting_set_flags(rarch_setting_t *setting)
|
|||||||
static int menu_displaylist_parse_settings(menu_handle_t *menu,
|
static int menu_displaylist_parse_settings(menu_handle_t *menu,
|
||||||
menu_displaylist_info_t *info, unsigned setting_flags)
|
menu_displaylist_info_t *info, unsigned setting_flags)
|
||||||
{
|
{
|
||||||
|
uint64_t flags;
|
||||||
size_t count = 0;
|
size_t count = 0;
|
||||||
rarch_setting_t *setting = NULL;
|
rarch_setting_t *setting = NULL;
|
||||||
settings_t *settings = config_get_ptr();
|
settings_t *settings = config_get_ptr();
|
||||||
@ -1583,6 +1585,7 @@ static int menu_displaylist_parse_settings(menu_handle_t *menu,
|
|||||||
menu_displaylist_realloc_settings(menu->entries, setting_flags);
|
menu_displaylist_realloc_settings(menu->entries, setting_flags);
|
||||||
|
|
||||||
setting = menu_setting_find(info->label);
|
setting = menu_setting_find(info->label);
|
||||||
|
flags = menu_setting_get_flags(setting);
|
||||||
|
|
||||||
if (!setting)
|
if (!setting)
|
||||||
return -1;
|
return -1;
|
||||||
@ -1600,7 +1603,7 @@ static int menu_displaylist_parse_settings(menu_handle_t *menu,
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (setting->flags & SD_FLAG_ADVANCED &&
|
if (flags & SD_FLAG_ADVANCED &&
|
||||||
!settings->menu.show_advanced_settings)
|
!settings->menu.show_advanced_settings)
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
@ -2363,6 +2366,7 @@ static void menu_driver_populate_entries(const char *path,
|
|||||||
|
|
||||||
int menu_displaylist_push_list(menu_displaylist_info_t *info, unsigned type)
|
int menu_displaylist_push_list(menu_displaylist_info_t *info, unsigned type)
|
||||||
{
|
{
|
||||||
|
uint64_t flags;
|
||||||
size_t i, list_size;
|
size_t i, list_size;
|
||||||
int ret = 0;
|
int ret = 0;
|
||||||
bool need_sort = false;
|
bool need_sort = false;
|
||||||
@ -2504,13 +2508,15 @@ int menu_displaylist_push_list(menu_displaylist_info_t *info, unsigned type)
|
|||||||
|
|
||||||
setting = menu_setting_find(menu_hash_to_str(MENU_LABEL_VALUE_DRIVER_SETTINGS));
|
setting = menu_setting_find(menu_hash_to_str(MENU_LABEL_VALUE_DRIVER_SETTINGS));
|
||||||
|
|
||||||
|
flags = menu_setting_get_flags(setting);
|
||||||
|
|
||||||
if (settings->menu.collapse_subgroups_enable)
|
if (settings->menu.collapse_subgroups_enable)
|
||||||
{
|
{
|
||||||
for (; menu_setting_get_type(setting) != ST_NONE; setting++)
|
for (; menu_setting_get_type(setting) != ST_NONE; setting++)
|
||||||
{
|
{
|
||||||
if (menu_setting_get_type(setting) == ST_GROUP)
|
if (menu_setting_get_type(setting) == ST_GROUP)
|
||||||
{
|
{
|
||||||
if (setting->flags & SD_FLAG_ADVANCED &&
|
if (flags & SD_FLAG_ADVANCED &&
|
||||||
!settings->menu.show_advanced_settings)
|
!settings->menu.show_advanced_settings)
|
||||||
continue;
|
continue;
|
||||||
menu_list_push(info->list, setting->short_description,
|
menu_list_push(info->list, setting->short_description,
|
||||||
|
Loading…
x
Reference in New Issue
Block a user