More preparatory work

This commit is contained in:
twinaphex 2016-06-21 01:40:55 +02:00
parent 00ec3e7846
commit 4b91a6b121
5 changed files with 40 additions and 9 deletions

View File

@ -1357,6 +1357,8 @@ static const char *menu_hash_to_str_us_label_enum(enum msg_hash_enums msg)
return "download_core_content";
case MENU_ENUM_LABEL_DOWNLOAD_CORE_CONTENT_DIRS:
return "download_core_content_dirs";
case MENU_ENUM_LABEL_CB_DOWNLOAD_URL:
return "cb_download_url";
case MENU_ENUM_LABEL_SCAN_THIS_DIRECTORY:
return "scan_this_directory";
case MENU_ENUM_LABEL_SCAN_FILE:

View File

@ -614,6 +614,13 @@ static int menu_cbs_init_bind_deferred_push_compare_label(
BIND_ACTION_DEFERRED_PUSH(cbs, deferred_push_core_settings_list);
return 0;
}
else if (string_is_equal(label, msg_hash_to_str(MENU_ENUM_LABEL_DEFERRED_CORE_CONTENT_DIRS_LIST)))
{
#ifdef HAVE_NETWORKING
BIND_ACTION_DEFERRED_PUSH(cbs, deferred_push_core_content_dirs_list);
#endif
return 0;
}
if (strstr(label, msg_hash_to_str(MENU_ENUM_LABEL_DEFERRED_RDB_ENTRY_DETAIL)))
{

View File

@ -1715,6 +1715,11 @@ static int action_ok_download_generic(const char *path,
switch (enum_idx)
{
case MENU_ENUM_LABEL_CB_DOWNLOAD_URL:
fill_pathname_join(s, label,
path, sizeof(s));
enum_idx = MENU_ENUM_LABEL_CB_CORE_CONTENT_DOWNLOAD;
break;
case MENU_ENUM_LABEL_CB_CORE_CONTENT_DOWNLOAD:
fill_pathname_join(s, settings->network.buildbot_assets_url,
"cores/gw", sizeof(s));
@ -1790,6 +1795,13 @@ static int action_ok_thumbnails_updater_download(const char *path,
MENU_ENUM_LABEL_CB_THUMBNAILS_UPDATER_DOWNLOAD);
}
static int action_ok_download_url(const char *path,
const char *label, unsigned type, size_t idx, size_t entry_idx)
{
return action_ok_download_generic(path, label, type, idx, entry_idx,
MENU_ENUM_LABEL_CB_DOWNLOAD_URL);
}
static int action_ok_core_updater_download(const char *path,
const char *label, unsigned type, size_t idx, size_t entry_idx)
{
@ -3097,6 +3109,9 @@ static int menu_cbs_init_bind_ok_compare_type(menu_file_list_cbs_t *cbs,
case FILE_TYPE_DOWNLOAD_CORE:
BIND_ACTION_OK(cbs, action_ok_core_updater_download);
break;
case FILE_TYPE_DOWNLOAD_URL:
BIND_ACTION_OK(cbs, action_ok_download_url);
break;
case FILE_TYPE_DOWNLOAD_THUMBNAIL:
BIND_ACTION_OK(cbs, action_ok_thumbnails_updater_download);
break;

View File

@ -62,7 +62,8 @@ extern unsigned rpl_entry_selection_ptr;
extern char *core_buf;
extern size_t core_len;
static void print_buf_lines(file_list_t *list, char *buf, int buf_size,
static void print_buf_lines(file_list_t *list, char *buf,
const char *label, int buf_size,
enum menu_file_type type)
{
char c;
@ -102,7 +103,7 @@ static void print_buf_lines(file_list_t *list, char *buf, int buf_size,
if (line_start[ln] == '\n')
line_start[ln] = '\0';
menu_entries_add_enum(list, line_start, "",
menu_entries_add_enum(list, line_start, label,
MSG_UNKNOWN, type, 0, 0);
switch (type)
@ -4426,19 +4427,23 @@ bool menu_displaylist_ctl(enum menu_displaylist_ctl_state type, void *data)
break;
case DISPLAYLIST_CORE_CONTENT:
#ifdef HAVE_NETWORKING
print_buf_lines(info->list, core_buf,
print_buf_lines(info->list, core_buf, "",
core_len, FILE_TYPE_DOWNLOAD_CORE_CONTENT);
info->need_push = true;
info->need_refresh = true;
#endif
break;
case DISPLAYLIST_CORE_CONTENT_DIRS:
{
#ifdef HAVE_NETWORKING
print_buf_lines(info->list, core_buf,
core_len, FILE_TYPE_DOWNLOAD_CORE_CONTENT);
info->need_push = true;
info->need_refresh = true;
char new_label[PATH_MAX_LENGTH];
fill_pathname_join(new_label, settings->network.buildbot_assets_url, "cores", sizeof(new_label));
print_buf_lines(info->list, core_buf, new_label,
core_len, FILE_TYPE_DOWNLOAD_URL);
info->need_push = true;
info->need_refresh = true;
#endif
}
break;
case DISPLAYLIST_CORES_UPDATER:
#ifdef HAVE_NETWORKING
@ -4451,7 +4456,7 @@ bool menu_displaylist_ctl(enum menu_displaylist_ctl_state type, void *data)
break;
case DISPLAYLIST_THUMBNAILS_UPDATER:
#ifdef HAVE_NETWORKING
print_buf_lines(info->list, core_buf,
print_buf_lines(info->list, core_buf, "",
core_len, FILE_TYPE_DOWNLOAD_THUMBNAIL_CONTENT);
info->need_push = true;
info->need_refresh = true;
@ -4460,7 +4465,7 @@ bool menu_displaylist_ctl(enum menu_displaylist_ctl_state type, void *data)
break;
case DISPLAYLIST_LAKKA:
#ifdef HAVE_NETWORKING
print_buf_lines(info->list, core_buf,
print_buf_lines(info->list, core_buf, "",
core_len, FILE_TYPE_DOWNLOAD_LAKKA);
info->need_push = true;
info->need_refresh = true;

View File

@ -51,6 +51,7 @@ enum menu_file_type
FILE_TYPE_IMAGEVIEWER,
FILE_TYPE_REMAP,
FILE_TYPE_DOWNLOAD_CORE,
FILE_TYPE_DOWNLOAD_URL,
FILE_TYPE_DOWNLOAD_CORE_CONTENT,
FILE_TYPE_DOWNLOAD_CORE_INFO,
FILE_TYPE_DOWNLOAD_THUMBNAIL_CONTENT,
@ -1496,6 +1497,7 @@ enum msg_hash_enums
/* Callback strings */
MENU_ENUM_LABEL_CB_THUMBNAILS_UPDATER_DOWNLOAD,
MENU_ENUM_LABEL_CB_DOWNLOAD_URL,
MENU_ENUM_LABEL_CB_UPDATE_OVERLAYS,
MENU_ENUM_LABEL_CB_CORE_UPDATER_LIST,
MENU_ENUM_LABEL_CB_MENU_WALLPAPER,