Move more to menu_displaylist_parse
This commit is contained in:
parent
f91f9973fa
commit
d51a553130
|
@ -701,6 +701,50 @@ static int menu_displaylist_parse_system_info(menu_displaylist_info_t *info)
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static int menu_displaylist_parse_historylist(menu_displaylist_info_t *info)
|
||||||
|
{
|
||||||
|
unsigned i;
|
||||||
|
size_t list_size = content_playlist_size(g_defaults.history);
|
||||||
|
|
||||||
|
if (list_size <= 0)
|
||||||
|
{
|
||||||
|
menu_list_push(info->list, "No history available.", "",
|
||||||
|
MENU_SETTINGS_CORE_OPTION_NONE, 0);
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
for (i = 0; i < list_size; i++)
|
||||||
|
{
|
||||||
|
char fill_buf[PATH_MAX_LENGTH];
|
||||||
|
char path_copy[PATH_MAX_LENGTH];
|
||||||
|
const char *core_name = NULL;
|
||||||
|
const char *path = NULL;
|
||||||
|
|
||||||
|
strlcpy(path_copy, info->path, sizeof(path_copy));
|
||||||
|
|
||||||
|
path = path_copy;
|
||||||
|
|
||||||
|
content_playlist_get_index(g_defaults.history, i,
|
||||||
|
&path, NULL, &core_name);
|
||||||
|
strlcpy(fill_buf, core_name, sizeof(fill_buf));
|
||||||
|
|
||||||
|
if (path)
|
||||||
|
{
|
||||||
|
char path_short[PATH_MAX_LENGTH];
|
||||||
|
|
||||||
|
fill_short_pathname_representation(path_short, path,
|
||||||
|
sizeof(path_short));
|
||||||
|
snprintf(fill_buf,sizeof(fill_buf),"%s (%s)",
|
||||||
|
path_short, core_name);
|
||||||
|
}
|
||||||
|
|
||||||
|
menu_list_push(info->list, fill_buf, "",
|
||||||
|
MENU_FILE_PLAYLIST_ENTRY, 0);
|
||||||
|
}
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
static int menu_displaylist_parse(menu_displaylist_info_t *info,
|
static int menu_displaylist_parse(menu_displaylist_info_t *info,
|
||||||
unsigned type, bool *need_sort, bool *need_refresh,
|
unsigned type, bool *need_sort, bool *need_refresh,
|
||||||
bool *need_push)
|
bool *need_push)
|
||||||
|
@ -719,6 +763,23 @@ static int menu_displaylist_parse(menu_displaylist_info_t *info,
|
||||||
|
|
||||||
switch (type)
|
switch (type)
|
||||||
{
|
{
|
||||||
|
case DISPLAYLIST_HISTORY:
|
||||||
|
if (menu_displaylist_parse_historylist(info) == 0)
|
||||||
|
{
|
||||||
|
*need_refresh = true;
|
||||||
|
*need_push = true;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case DISPLAYLIST_OPTIONS_DISK:
|
||||||
|
menu_list_push(info->list, "Disk Index", "disk_idx",
|
||||||
|
MENU_SETTINGS_CORE_DISK_OPTIONS_DISK_INDEX, 0);
|
||||||
|
menu_list_push(info->list, "Disk Cycle Tray Status", "disk_cycle_tray_status",
|
||||||
|
MENU_SETTINGS_CORE_DISK_OPTIONS_DISK_CYCLE_TRAY_STATUS, 0);
|
||||||
|
menu_list_push(info->list, "Disk Image Append", "disk_image_append",
|
||||||
|
MENU_SETTINGS_CORE_DISK_OPTIONS_DISK_IMAGE_APPEND, 0);
|
||||||
|
|
||||||
|
*need_push = true;
|
||||||
|
break;
|
||||||
case DISPLAYLIST_SYSTEM_INFO:
|
case DISPLAYLIST_SYSTEM_INFO:
|
||||||
menu_displaylist_parse_system_info(info);
|
menu_displaylist_parse_system_info(info);
|
||||||
*need_push = true;
|
*need_push = true;
|
||||||
|
@ -1082,49 +1143,6 @@ static int menu_displaylist_parse_horizontal_list(menu_displaylist_info_t *info)
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
static int menu_displaylist_parse_historylist(menu_displaylist_info_t *info)
|
|
||||||
{
|
|
||||||
unsigned i;
|
|
||||||
size_t list_size = content_playlist_size(g_defaults.history);
|
|
||||||
|
|
||||||
if (list_size <= 0)
|
|
||||||
{
|
|
||||||
menu_list_push(info->list, "No history available.", "",
|
|
||||||
MENU_SETTINGS_CORE_OPTION_NONE, 0);
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
for (i = 0; i < list_size; i++)
|
|
||||||
{
|
|
||||||
char fill_buf[PATH_MAX_LENGTH];
|
|
||||||
char path_copy[PATH_MAX_LENGTH];
|
|
||||||
const char *core_name = NULL;
|
|
||||||
const char *path = NULL;
|
|
||||||
|
|
||||||
strlcpy(path_copy, info->path, sizeof(path_copy));
|
|
||||||
|
|
||||||
path = path_copy;
|
|
||||||
|
|
||||||
content_playlist_get_index(g_defaults.history, i,
|
|
||||||
&path, NULL, &core_name);
|
|
||||||
strlcpy(fill_buf, core_name, sizeof(fill_buf));
|
|
||||||
|
|
||||||
if (path)
|
|
||||||
{
|
|
||||||
char path_short[PATH_MAX_LENGTH];
|
|
||||||
|
|
||||||
fill_short_pathname_representation(path_short, path,
|
|
||||||
sizeof(path_short));
|
|
||||||
snprintf(fill_buf,sizeof(fill_buf),"%s (%s)",
|
|
||||||
path_short, core_name);
|
|
||||||
}
|
|
||||||
|
|
||||||
menu_list_push(info->list, fill_buf, "",
|
|
||||||
MENU_FILE_PLAYLIST_ENTRY, 0);
|
|
||||||
}
|
|
||||||
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
int menu_displaylist_parse_horizontal_content_actions(menu_displaylist_info_t *info)
|
int menu_displaylist_parse_horizontal_content_actions(menu_displaylist_info_t *info)
|
||||||
{
|
{
|
||||||
|
@ -1273,17 +1291,6 @@ static int menu_displaylist_parse_shader_options(menu_displaylist_info_t *info)
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
static int menu_displaylist_parse_disk_options(menu_displaylist_info_t *info)
|
|
||||||
{
|
|
||||||
menu_list_push(info->list, "Disk Index", "disk_idx",
|
|
||||||
MENU_SETTINGS_CORE_DISK_OPTIONS_DISK_INDEX, 0);
|
|
||||||
menu_list_push(info->list, "Disk Cycle Tray Status", "disk_cycle_tray_status",
|
|
||||||
MENU_SETTINGS_CORE_DISK_OPTIONS_DISK_CYCLE_TRAY_STATUS, 0);
|
|
||||||
menu_list_push(info->list, "Disk Image Append", "disk_image_append",
|
|
||||||
MENU_SETTINGS_CORE_DISK_OPTIONS_DISK_IMAGE_APPEND, 0);
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
static int menu_displaylist_parse_options(menu_displaylist_info_t *info)
|
static int menu_displaylist_parse_options(menu_displaylist_info_t *info)
|
||||||
{
|
{
|
||||||
global_t *global = global_get_ptr();
|
global_t *global = global_get_ptr();
|
||||||
|
@ -1947,12 +1954,6 @@ int menu_displaylist_push_list(menu_displaylist_info_t *info, unsigned type)
|
||||||
0, 0);
|
0, 0);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
need_push = true;
|
|
||||||
break;
|
|
||||||
case DISPLAYLIST_OPTIONS_DISK:
|
|
||||||
menu_list_clear(info->list);
|
|
||||||
ret = menu_displaylist_parse_disk_options(info);
|
|
||||||
|
|
||||||
need_push = true;
|
need_push = true;
|
||||||
break;
|
break;
|
||||||
case DISPLAYLIST_OPTIONS_SHADERS:
|
case DISPLAYLIST_OPTIONS_SHADERS:
|
||||||
|
@ -1982,19 +1983,11 @@ int menu_displaylist_push_list(menu_displaylist_info_t *info, unsigned type)
|
||||||
case DISPLAYLIST_CORE_INFO:
|
case DISPLAYLIST_CORE_INFO:
|
||||||
case DISPLAYLIST_CORES_ALL:
|
case DISPLAYLIST_CORES_ALL:
|
||||||
case DISPLAYLIST_SYSTEM_INFO:
|
case DISPLAYLIST_SYSTEM_INFO:
|
||||||
|
case DISPLAYLIST_OPTIONS_DISK:
|
||||||
|
case DISPLAYLIST_HISTORY:
|
||||||
ret = menu_displaylist_parse(info, type,
|
ret = menu_displaylist_parse(info, type,
|
||||||
&need_sort, &need_refresh, &need_push);
|
&need_sort, &need_refresh, &need_push);
|
||||||
break;
|
break;
|
||||||
case DISPLAYLIST_HISTORY:
|
|
||||||
menu_list_clear(info->list);
|
|
||||||
ret = menu_displaylist_parse_historylist(info);
|
|
||||||
|
|
||||||
if (ret == 0)
|
|
||||||
{
|
|
||||||
need_refresh = true;
|
|
||||||
need_push = true;
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
case DISPLAYLIST_DATABASE_QUERY:
|
case DISPLAYLIST_DATABASE_QUERY:
|
||||||
menu_list_clear(info->list);
|
menu_list_clear(info->list);
|
||||||
ret = menu_database_populate_query(info->list, info->path, (info->path_c[0] == '\0') ? NULL : info->path_c);
|
ret = menu_database_populate_query(info->list, info->path, (info->path_c[0] == '\0') ? NULL : info->path_c);
|
||||||
|
|
Loading…
Reference in New Issue