Create SL_FLAG_MAIN_MENU_SETTINGS

This commit is contained in:
twinaphex 2015-06-14 04:35:27 +02:00
parent 663ce70704
commit 167ddb75ef
3 changed files with 43 additions and 38 deletions

View File

@ -2143,7 +2143,7 @@ int menu_displaylist_push(file_list_t *list, file_list_t *menu_list)
switch (hash_label)
{
case MENU_VALUE_MAIN_MENU:
info.flags = SL_FLAG_MAIN_MENU;
info.flags = SL_FLAG_MAIN_MENU | SL_FLAG_MAIN_MENU_SETTINGS;
return menu_displaylist_push_list(&info, DISPLAYLIST_MAIN_MENU);
case MENU_VALUE_HORIZONTAL_MENU:
return menu_displaylist_push_list(&info, DISPLAYLIST_HORIZONTAL);
@ -2177,7 +2177,7 @@ bool menu_displaylist_init(void *data)
info.list = menu_list->selection_buf;
info.type = MENU_SETTINGS;
info.flags = SL_FLAG_MAIN_MENU;
info.flags = SL_FLAG_MAIN_MENU | SL_FLAG_MAIN_MENU_SETTINGS;
strlcpy(info.label, "Main Menu", sizeof(info.label));
menu_list_push(menu_list->menu_stack,

View File

@ -3489,7 +3489,8 @@ static void overlay_enable_toggle_change_handler(void *data)
static bool setting_append_list_main_menu_options(
rarch_setting_t **list,
rarch_setting_info_t *list_info,
const char *parent_group)
const char *parent_group,
unsigned mask)
{
rarch_setting_group_info_t group_info = {0};
rarch_setting_group_info_t subgroup_info = {0};
@ -3605,12 +3606,15 @@ static bool setting_append_list_main_menu_options(
subgroup_info.name,
parent_group);
CONFIG_ACTION(
"settings",
"Settings",
group_info.name,
subgroup_info.name,
parent_group);
if (mask & SL_FLAG_MAIN_MENU_SETTINGS)
{
CONFIG_ACTION(
"settings",
"Settings",
group_info.name,
subgroup_info.name,
parent_group);
}
CONFIG_ACTION(
"system_information",
@ -7103,7 +7107,7 @@ rarch_setting_t *menu_setting_new(unsigned mask)
if (mask & SL_FLAG_MAIN_MENU)
{
if (!setting_append_list_main_menu_options(&list, list_info, "Main Menu"))
if (!setting_append_list_main_menu_options(&list, list_info, "Main Menu", mask))
goto error;
}

View File

@ -69,34 +69,35 @@ enum setting_flags
enum setting_list_flags
{
SL_FLAG_MAIN_MENU = (1 << 0),
SL_FLAG_DRIVER_OPTIONS = (1 << 1),
SL_FLAG_CORE_OPTIONS = (1 << 2),
SL_FLAG_CONFIGURATION_OPTIONS = (1 << 3),
SL_FLAG_REWIND_OPTIONS = (1 << 4),
SL_FLAG_VIDEO_OPTIONS = (1 << 5),
SL_FLAG_SHADER_OPTIONS = (1 << 6),
SL_FLAG_FONT_OPTIONS = (1 << 7),
SL_FLAG_AUDIO_OPTIONS = (1 << 8),
SL_FLAG_INPUT_OPTIONS = (1 << 9),
SL_FLAG_INPUT_HOTKEY_OPTIONS = (1 << 10),
SL_FLAG_OVERLAY_OPTIONS = (1 << 11),
SL_FLAG_OSK_OVERLAY_OPTIONS = (1 << 12),
SL_FLAG_MENU_OPTIONS = (1 << 13),
SL_FLAG_UI_OPTIONS = (1 << 14),
SL_FLAG_CORE_UPDATER_OPTIONS = (1 << 15),
SL_FLAG_NETPLAY_OPTIONS = (1 << 16),
SL_FLAG_USER_OPTIONS = (1 << 17),
SL_FLAG_DIRECTORY_OPTIONS = (1 << 18),
SL_FLAG_PRIVACY_OPTIONS = (1 << 19),
SL_FLAG_PLAYLIST_OPTIONS = (1 << 20),
SL_FLAG_ARCHIVE_OPTIONS = (1 << 21),
SL_FLAG_PATCH_OPTIONS = (1 << 22),
SL_FLAG_RECORDING_OPTIONS = (1 << 23),
SL_FLAG_FRAME_THROTTLE_OPTIONS= (1 << 24),
SL_FLAG_LOGGING_OPTIONS = (1 << 25),
SL_FLAG_SAVING_OPTIONS = (1 << 26),
SL_FLAG_ALL = (1 << 27),
SL_FLAG_ALLOW_EMPTY_LIST = (1 << 28)
SL_FLAG_MAIN_MENU_SETTINGS = (1 << 1),
SL_FLAG_DRIVER_OPTIONS = (1 << 2),
SL_FLAG_CORE_OPTIONS = (1 << 3),
SL_FLAG_CONFIGURATION_OPTIONS = (1 << 4),
SL_FLAG_REWIND_OPTIONS = (1 << 5),
SL_FLAG_VIDEO_OPTIONS = (1 << 6),
SL_FLAG_SHADER_OPTIONS = (1 << 7),
SL_FLAG_FONT_OPTIONS = (1 << 8),
SL_FLAG_AUDIO_OPTIONS = (1 << 9),
SL_FLAG_INPUT_OPTIONS = (1 << 10),
SL_FLAG_INPUT_HOTKEY_OPTIONS = (1 << 11),
SL_FLAG_OVERLAY_OPTIONS = (1 << 12),
SL_FLAG_OSK_OVERLAY_OPTIONS = (1 << 13),
SL_FLAG_MENU_OPTIONS = (1 << 14),
SL_FLAG_UI_OPTIONS = (1 << 15),
SL_FLAG_CORE_UPDATER_OPTIONS = (1 << 16),
SL_FLAG_NETPLAY_OPTIONS = (1 << 17),
SL_FLAG_USER_OPTIONS = (1 << 18),
SL_FLAG_DIRECTORY_OPTIONS = (1 << 19),
SL_FLAG_PRIVACY_OPTIONS = (1 << 20),
SL_FLAG_PLAYLIST_OPTIONS = (1 << 21),
SL_FLAG_ARCHIVE_OPTIONS = (1 << 22),
SL_FLAG_PATCH_OPTIONS = (1 << 23),
SL_FLAG_RECORDING_OPTIONS = (1 << 24),
SL_FLAG_FRAME_THROTTLE_OPTIONS= (1 << 25),
SL_FLAG_LOGGING_OPTIONS = (1 << 26),
SL_FLAG_SAVING_OPTIONS = (1 << 27),
SL_FLAG_ALL = (1 << 28),
SL_FLAG_ALLOW_EMPTY_LIST = (1 << 29)
};
#define SL_FLAG_ALL_SETTINGS (SL_FLAG_ALL - SL_FLAG_MAIN_MENU)