Create 'Load Content' Group
This commit is contained in:
parent
aac34f6f0a
commit
f13ff67ec8
|
@ -191,6 +191,11 @@ static int deferred_push_options(menu_displaylist_info_t *info)
|
|||
return menu_displaylist_push_list(info, DISPLAYLIST_OPTIONS);
|
||||
}
|
||||
|
||||
static int deferred_push_load_content_list(menu_displaylist_info_t *info)
|
||||
{
|
||||
return menu_displaylist_push_list(info, DISPLAYLIST_LOAD_CONTENT_LIST);
|
||||
}
|
||||
|
||||
static int deferred_push_management_options(menu_displaylist_info_t *info)
|
||||
{
|
||||
return menu_displaylist_push_list(info, DISPLAYLIST_OPTIONS_MANAGEMENT);
|
||||
|
@ -495,6 +500,9 @@ static int menu_cbs_init_bind_deferred_push_compare_label(menu_file_list_cbs_t *
|
|||
case MENU_LABEL_OPTIONS:
|
||||
cbs->action_deferred_push = deferred_push_options;
|
||||
break;
|
||||
case MENU_LABEL_LOAD_CONTENT_LIST:
|
||||
cbs->action_deferred_push = deferred_push_load_content_list;
|
||||
break;
|
||||
case MENU_LABEL_MANAGEMENT:
|
||||
cbs->action_deferred_push = deferred_push_management_options;
|
||||
break;
|
||||
|
|
|
@ -1553,6 +1553,7 @@ static int menu_cbs_init_bind_ok_compare_label(menu_file_list_cbs_t *cbs,
|
|||
case MENU_LABEL_CORE_COUNTERS:
|
||||
case MENU_LABEL_MANAGEMENT:
|
||||
case MENU_LABEL_OPTIONS:
|
||||
case MENU_LABEL_LOAD_CONTENT_LIST:
|
||||
cbs->action_ok = action_ok_push_default;
|
||||
break;
|
||||
case MENU_LABEL_LOAD_CONTENT:
|
||||
|
|
|
@ -1429,6 +1429,42 @@ static int menu_displaylist_parse_horizontal_list(menu_displaylist_info_t *info)
|
|||
return 0;
|
||||
}
|
||||
|
||||
static int menu_displaylist_parse_load_core_list(menu_displaylist_info_t *info)
|
||||
{
|
||||
global_t *global = global_get_ptr();
|
||||
settings_t *settings = config_get_ptr();
|
||||
|
||||
#ifdef HAVE_LIBRETRODB
|
||||
menu_list_push(info->list,
|
||||
menu_hash_to_str(MENU_LABEL_VALUE_CONTENT_COLLECTION_LIST),
|
||||
menu_hash_to_str(MENU_LABEL_CONTENT_COLLECTION_LIST),
|
||||
MENU_SETTING_ACTION, 0, 0);
|
||||
#endif
|
||||
|
||||
if (settings->history_list_enable)
|
||||
{
|
||||
menu_list_push(info->list,
|
||||
menu_hash_to_str(MENU_LABEL_VALUE_LOAD_CONTENT_HISTORY),
|
||||
menu_hash_to_str(MENU_LABEL_LOAD_CONTENT_HISTORY),
|
||||
MENU_SETTING_ACTION, 0, 0);
|
||||
}
|
||||
|
||||
if (global->core_info && core_info_list_num_info_files(global->core_info))
|
||||
{
|
||||
menu_list_push(info->list,
|
||||
menu_hash_to_str(MENU_LABEL_VALUE_DETECT_CORE_LIST),
|
||||
menu_hash_to_str(MENU_LABEL_DETECT_CORE_LIST),
|
||||
MENU_SETTING_ACTION, 0, 0);
|
||||
}
|
||||
|
||||
menu_list_push(info->list,
|
||||
menu_hash_to_str(MENU_LABEL_VALUE_LOAD_CONTENT),
|
||||
menu_hash_to_str(MENU_LABEL_LOAD_CONTENT),
|
||||
MENU_SETTING_ACTION, 0, 0);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int menu_displaylist_parse_options(menu_displaylist_info_t *info)
|
||||
{
|
||||
global_t *global = global_get_ptr();
|
||||
|
@ -1866,6 +1902,12 @@ int menu_displaylist_push_list(menu_displaylist_info_t *info, unsigned type)
|
|||
|
||||
need_sort = true;
|
||||
need_refresh = true;
|
||||
need_push = true;
|
||||
break;
|
||||
case DISPLAYLIST_LOAD_CONTENT_LIST:
|
||||
menu_list_clear(info->list);
|
||||
ret = menu_displaylist_parse_load_core_list(info);
|
||||
|
||||
need_push = true;
|
||||
break;
|
||||
case DISPLAYLIST_OPTIONS:
|
||||
|
|
|
@ -72,6 +72,7 @@ enum
|
|||
DISPLAYLIST_SHADER_PARAMETERS,
|
||||
DISPLAYLIST_SHADER_PARAMETERS_PRESET,
|
||||
DISPLAYLIST_SYSTEM_INFO,
|
||||
DISPLAYLIST_LOAD_CONTENT_LIST,
|
||||
DISPLAYLIST_OPTIONS,
|
||||
DISPLAYLIST_OPTIONS_CHEATS,
|
||||
DISPLAYLIST_OPTIONS_REMAPPINGS,
|
||||
|
|
|
@ -1572,6 +1572,10 @@ static const char *menu_hash_to_str_english(uint32_t hash)
|
|||
{
|
||||
switch (hash)
|
||||
{
|
||||
case MENU_LABEL_LOAD_CONTENT_LIST:
|
||||
return "load_content_list";
|
||||
case MENU_LABEL_VALUE_LOAD_CONTENT_LIST:
|
||||
return "Load Content";
|
||||
case MENU_VALUE_LOAD_ARCHIVE:
|
||||
return "Load Archive";
|
||||
case MENU_VALUE_OPEN_ARCHIVE:
|
||||
|
@ -2225,15 +2229,15 @@ static const char *menu_hash_to_str_english(uint32_t hash)
|
|||
case MENU_LABEL_CONTENT_COLLECTION_LIST:
|
||||
return "content_collection_list";
|
||||
case MENU_LABEL_VALUE_CONTENT_COLLECTION_LIST:
|
||||
return "Load Content From Collection";
|
||||
return "Select From Collection";
|
||||
case MENU_LABEL_DETECT_CORE_LIST:
|
||||
return "detect_core_list";
|
||||
case MENU_LABEL_VALUE_DETECT_CORE_LIST:
|
||||
return "Load Content (Detect Core)";
|
||||
return "Select From Browser + Detect Core";
|
||||
case MENU_LABEL_LOAD_CONTENT_HISTORY:
|
||||
return "history_list";
|
||||
case MENU_LABEL_VALUE_LOAD_CONTENT_HISTORY:
|
||||
return "Load Content From History";
|
||||
return "Select From History";
|
||||
case MENU_LABEL_AUDIO_ENABLE:
|
||||
return "audio_enable";
|
||||
case MENU_LABEL_VALUE_AUDIO_ENABLE:
|
||||
|
@ -2497,7 +2501,7 @@ static const char *menu_hash_to_str_english(uint32_t hash)
|
|||
case MENU_LABEL_LOAD_CONTENT:
|
||||
return "load_content";
|
||||
case MENU_LABEL_VALUE_LOAD_CONTENT:
|
||||
return "Load Content";
|
||||
return "Select From Browser";
|
||||
case MENU_LABEL_UNLOAD_CORE:
|
||||
return "unload_core";
|
||||
case MENU_LABEL_VALUE_UNLOAD_CORE:
|
||||
|
|
|
@ -35,6 +35,9 @@ extern "C" {
|
|||
#define MENU_VALUE_OPEN_ARCHIVE 0x96da22b9U
|
||||
#define MENU_VALUE_ASK_ARCHIVE 0x0b87d6a4U
|
||||
|
||||
#define MENU_LABEL_LOAD_CONTENT_LIST 0xd2e4a83aU
|
||||
#define MENU_LABEL_VALUE_LOAD_CONTENT_LIST 0x55ff08eaU
|
||||
|
||||
#define MENU_LABEL_NO_SETTINGS_FOUND 0xabf77040U
|
||||
#define MENU_LABEL_VALUE_NO_SETTINGS_FOUND 0xffcc5b5dU
|
||||
#define MENU_LABEL_VALUE_NO_PERFORMANCE_COUNTERS 0xb4b52b95U
|
||||
|
|
|
@ -1115,34 +1115,6 @@ static int core_list_action_toggle(void *data, bool wraparound)
|
|||
}
|
||||
#endif
|
||||
|
||||
/**
|
||||
* load_content_action_toggle:
|
||||
* @data : pointer to setting
|
||||
* @action : toggle action value. Can be either one of :
|
||||
* MENU_ACTION_RIGHT | MENU_ACTION_LEFT
|
||||
*
|
||||
* Function callback for 'Load Content' action's 'Action Toggle'
|
||||
* function pointer.
|
||||
*
|
||||
* Returns: 0 on success, -1 on error.
|
||||
**/
|
||||
static int load_content_action_toggle(void *data, bool wraparound)
|
||||
{
|
||||
rarch_setting_t *setting = (rarch_setting_t *)data;
|
||||
settings_t *settings = config_get_ptr();
|
||||
global_t *global = global_get_ptr();
|
||||
|
||||
if (setting_set_with_string_representation(setting, settings->menu_content_directory) != 0)
|
||||
return -1;
|
||||
|
||||
if (global->menu.info.valid_extensions)
|
||||
setting->values = global->menu.info.valid_extensions;
|
||||
else
|
||||
setting->values = global->system.valid_extensions;
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
/**
|
||||
******* ACTION OK CALLBACK FUNCTIONS *******
|
||||
**/
|
||||
|
@ -3548,50 +3520,12 @@ static bool setting_append_list_main_menu_options(
|
|||
}
|
||||
#endif
|
||||
|
||||
|
||||
#ifdef HAVE_LIBRETRODB
|
||||
CONFIG_ACTION(
|
||||
menu_hash_to_str(MENU_LABEL_CONTENT_COLLECTION_LIST),
|
||||
menu_hash_to_str(MENU_LABEL_VALUE_CONTENT_COLLECTION_LIST),
|
||||
menu_hash_to_str(MENU_LABEL_LOAD_CONTENT_LIST),
|
||||
menu_hash_to_str(MENU_LABEL_VALUE_LOAD_CONTENT_LIST),
|
||||
group_info.name,
|
||||
subgroup_info.name,
|
||||
parent_group);
|
||||
#endif
|
||||
|
||||
if (settings->history_list_enable)
|
||||
{
|
||||
CONFIG_ACTION(
|
||||
menu_hash_to_str(MENU_LABEL_LOAD_CONTENT_HISTORY),
|
||||
menu_hash_to_str(MENU_LABEL_VALUE_LOAD_CONTENT_HISTORY),
|
||||
group_info.name,
|
||||
subgroup_info.name,
|
||||
parent_group);
|
||||
}
|
||||
|
||||
if (global->core_info && core_info_list_num_info_files(global->core_info))
|
||||
{
|
||||
CONFIG_ACTION(
|
||||
menu_hash_to_str(MENU_LABEL_DETECT_CORE_LIST),
|
||||
menu_hash_to_str(MENU_LABEL_VALUE_DETECT_CORE_LIST),
|
||||
group_info.name,
|
||||
subgroup_info.name,
|
||||
parent_group);
|
||||
settings_data_list_current_add_flags(list, list_info, SD_FLAG_BROWSER_ACTION);
|
||||
}
|
||||
|
||||
CONFIG_ACTION(
|
||||
menu_hash_to_str(MENU_LABEL_LOAD_CONTENT),
|
||||
menu_hash_to_str(MENU_LABEL_VALUE_LOAD_CONTENT),
|
||||
group_info.name,
|
||||
subgroup_info.name,
|
||||
parent_group);
|
||||
(*list)[list_info->index - 1].size = sizeof(global->fullpath);
|
||||
(*list)[list_info->index - 1].value.string = global->fullpath;
|
||||
(*list)[list_info->index - 1].action_left = load_content_action_toggle;
|
||||
(*list)[list_info->index - 1].action_right = load_content_action_toggle;
|
||||
(*list)[list_info->index - 1].action_select = load_content_action_toggle;
|
||||
menu_settings_list_current_add_cmd(list, list_info, EVENT_CMD_LOAD_CONTENT);
|
||||
settings_data_list_current_add_flags(list, list_info, SD_FLAG_BROWSER_ACTION);
|
||||
|
||||
CONFIG_ACTION(
|
||||
menu_hash_to_str(MENU_LABEL_MANAGEMENT),
|
||||
|
|
Loading…
Reference in New Issue