mirror of
https://github.com/libretro/RetroArch
synced 2025-03-29 13:20:30 +00:00
Implement part 2 of Browse URL
This commit is contained in:
parent
d6aae88737
commit
925d60c0cc
@ -1103,12 +1103,13 @@ ifeq ($(HAVE_NETWORKING), 1)
|
||||
DEFINES += -DHAVE_NETWORKING
|
||||
OBJ += $(LIBRETRO_COMM_DIR)/net/net_compat.o \
|
||||
$(LIBRETRO_COMM_DIR)/net/net_http.o \
|
||||
$(LIBRETRO_COMM_DIR)/net/net_http_parse.o \
|
||||
$(LIBRETRO_COMM_DIR)/net/net_socket.o \
|
||||
$(LIBRETRO_COMM_DIR)/net/net_natt.o \
|
||||
network/net_http_special.o \
|
||||
tasks/task_http.o \
|
||||
tasks/task_netplay_lan_scan.o \
|
||||
tasks/task_wifi.o
|
||||
$(LIBRETRO_COMM_DIR)/net/net_natt.o \
|
||||
network/net_http_special.o \
|
||||
tasks/task_http.o \
|
||||
tasks/task_netplay_lan_scan.o \
|
||||
tasks/task_wifi.o
|
||||
|
||||
ifneq ($(HAVE_SOCKET_LEGACY),1)
|
||||
OBJ += $(LIBRETRO_COMM_DIR)/net/net_ifinfo.o
|
||||
|
@ -138,6 +138,10 @@ ACHIEVEMENTS
|
||||
#include "../cheevos.c"
|
||||
#endif
|
||||
|
||||
#if defined(HAVE_NETWORKING)
|
||||
#include "../libretro-common/net/net_http_parse.c"
|
||||
#endif
|
||||
|
||||
/*============================================================
|
||||
MD5
|
||||
============================================================ */
|
||||
|
@ -215,6 +215,8 @@ MSG_HASH(MENU_ENUM_LABEL_CUSTOM_RATIO,
|
||||
"custom_ratio")
|
||||
MSG_HASH(MENU_ENUM_LABEL_DATABASE_MANAGER_LIST,
|
||||
"database_manager_list")
|
||||
MSG_HASH(MENU_ENUM_LABEL_DEFERRED_BROWSE_URL_START,
|
||||
"deferred_browse_url_start")
|
||||
MSG_HASH(MENU_ENUM_LABEL_DEFERRED_BROWSE_URL_LIST,
|
||||
"deferred_browse_url_list")
|
||||
MSG_HASH(MENU_ENUM_LABEL_DEFERRED_ACCOUNTS_CHEEVOS_LIST,
|
||||
|
@ -779,6 +779,11 @@ static int deferred_push_browse_url_list(menu_displaylist_info_t *info)
|
||||
return deferred_push_dlist(info, DISPLAYLIST_BROWSE_URL_LIST);
|
||||
}
|
||||
|
||||
static int deferred_push_browse_url_start(menu_displaylist_info_t *info)
|
||||
{
|
||||
return deferred_push_dlist(info, DISPLAYLIST_BROWSE_URL_START);
|
||||
}
|
||||
|
||||
static int deferred_push_core_list(menu_displaylist_info_t *info)
|
||||
{
|
||||
return deferred_push_dlist(info, DISPLAYLIST_CORES);
|
||||
@ -858,6 +863,11 @@ static int menu_cbs_init_bind_deferred_push_compare_label(
|
||||
BIND_ACTION_DEFERRED_PUSH(cbs, deferred_push_browse_url_list);
|
||||
return 0;
|
||||
}
|
||||
if (string_is_equal(label, msg_hash_to_str(MENU_ENUM_LABEL_DEFERRED_BROWSE_URL_START)))
|
||||
{
|
||||
BIND_ACTION_DEFERRED_PUSH(cbs, deferred_push_browse_url_start);
|
||||
return 0;
|
||||
}
|
||||
if (string_is_equal(label, msg_hash_to_str(MENU_ENUM_LABEL_DEFERRED_CORE_SETTINGS_LIST)))
|
||||
{
|
||||
BIND_ACTION_DEFERRED_PUSH(cbs, deferred_push_core_settings_list);
|
||||
|
@ -253,6 +253,15 @@ int generic_action_ok_displaylist_push(const char *path,
|
||||
|
||||
switch (action_type)
|
||||
{
|
||||
case ACTION_OK_DL_BROWSE_URL_START:
|
||||
info.type = type;
|
||||
info.directory_ptr = idx;
|
||||
info_path = new_path_tmp;
|
||||
info_label = msg_hash_to_str(
|
||||
MENU_ENUM_LABEL_DEFERRED_BROWSE_URL_START);
|
||||
info.enum_idx = MENU_ENUM_LABEL_DEFERRED_BROWSE_URL_START;
|
||||
dl_type = DISPLAYLIST_GENERIC;
|
||||
break;
|
||||
case ACTION_OK_DL_USER_BINDS_LIST:
|
||||
info.type = type;
|
||||
info.directory_ptr = idx;
|
||||
@ -1639,6 +1648,7 @@ int generic_action_ok_help(const char *path,
|
||||
entry_idx, ACTION_OK_DL_HELP);
|
||||
}
|
||||
|
||||
|
||||
static void menu_input_st_cheat_cb(void *userdata, const char *str)
|
||||
{
|
||||
(void)userdata;
|
||||
@ -2869,6 +2879,13 @@ end:
|
||||
extern size_t hack_shader_pass;
|
||||
#endif
|
||||
|
||||
static int action_ok_browse_url_start(const char *path,
|
||||
const char *label, unsigned type, size_t idx, size_t entry_idx)
|
||||
{
|
||||
return generic_action_ok_displaylist_push(path, NULL, label, type, idx,
|
||||
entry_idx, ACTION_OK_DL_BROWSE_URL_START);
|
||||
}
|
||||
|
||||
static int action_ok_shader_pass(const char *path,
|
||||
const char *label, unsigned type, size_t idx, size_t entry_idx)
|
||||
{
|
||||
@ -3705,6 +3722,9 @@ static int menu_cbs_init_bind_ok_compare_label(menu_file_list_cbs_t *cbs,
|
||||
{
|
||||
switch (cbs->enum_idx)
|
||||
{
|
||||
case MENU_ENUM_LABEL_BROWSE_START:
|
||||
BIND_ACTION_OK(cbs, action_ok_browse_url_start);
|
||||
break;
|
||||
case MENU_ENUM_LABEL_FILE_BROWSER_CORE:
|
||||
BIND_ACTION_OK(cbs, action_ok_load_core);
|
||||
break;
|
||||
|
@ -99,6 +99,7 @@ enum
|
||||
ACTION_OK_DL_USER_SETTINGS_LIST,
|
||||
ACTION_OK_DL_DIRECTORY_SETTINGS_LIST,
|
||||
ACTION_OK_DL_PRIVACY_SETTINGS_LIST,
|
||||
ACTION_OK_DL_BROWSE_URL_START,
|
||||
ACTION_OK_DL_CONTENT_SETTINGS
|
||||
};
|
||||
|
||||
|
@ -41,6 +41,7 @@
|
||||
#endif
|
||||
|
||||
#ifdef HAVE_NETWORKING
|
||||
#include <net/net_http_parse.h>
|
||||
#include "../network/netplay/netplay_discovery.h"
|
||||
#endif
|
||||
|
||||
@ -3902,6 +3903,7 @@ bool menu_displaylist_ctl(enum menu_displaylist_ctl_state type, void *data)
|
||||
switch (type)
|
||||
{
|
||||
case DISPLAYLIST_BROWSE_URL_LIST:
|
||||
case DISPLAYLIST_BROWSE_URL_START:
|
||||
case DISPLAYLIST_HELP_SCREEN_LIST:
|
||||
case DISPLAYLIST_MAIN_MENU:
|
||||
case DISPLAYLIST_SETTINGS_ALL:
|
||||
@ -4089,6 +4091,28 @@ bool menu_displaylist_ctl(enum menu_displaylist_ctl_state type, void *data)
|
||||
MENU_SETTING_NO_ITEM, 0, 0);
|
||||
ret = 0;
|
||||
#endif
|
||||
info->need_refresh = true;
|
||||
info->need_push = true;
|
||||
break;
|
||||
case DISPLAYLIST_BROWSE_URL_START:
|
||||
#ifdef HAVE_NETWORKING
|
||||
{
|
||||
char link[1024];
|
||||
char name[1024];
|
||||
const char *line = "<a href=\"http://www.test.com/somefile.zip\">Test</a>\n";
|
||||
|
||||
link[0] = name[0] = '\0';
|
||||
|
||||
string_parse_html_anchor(line, link, name, sizeof(link), sizeof(name));
|
||||
|
||||
menu_entries_append_enum(info->list,
|
||||
link,
|
||||
name,
|
||||
MSG_UNKNOWN,
|
||||
0, 0, 0);
|
||||
}
|
||||
#endif
|
||||
|
||||
info->need_refresh = true;
|
||||
info->need_push = true;
|
||||
break;
|
||||
|
@ -137,6 +137,7 @@ enum menu_displaylist_ctl_state
|
||||
DISPLAYLIST_PLAYLIST_SETTINGS_LIST,
|
||||
DISPLAYLIST_ACCOUNTS_CHEEVOS_LIST,
|
||||
DISPLAYLIST_BROWSE_URL_LIST,
|
||||
DISPLAYLIST_BROWSE_URL_START,
|
||||
DISPLAYLIST_LOAD_CONTENT_LIST,
|
||||
DISPLAYLIST_INFORMATION_LIST,
|
||||
DISPLAYLIST_CONTENT_SETTINGS,
|
||||
|
@ -788,6 +788,7 @@ enum msg_hash_enums
|
||||
MENU_LABEL(BROWSE_URL),
|
||||
MENU_LABEL(BROWSE_START),
|
||||
/* Deferred */
|
||||
MENU_ENUM_LABEL_DEFERRED_BROWSE_URL_START,
|
||||
MENU_ENUM_LABEL_DEFERRED_BROWSE_URL_LIST,
|
||||
MENU_ENUM_LABEL_DEFERRED_ARCHIVE_ACTION_DETECT_CORE,
|
||||
MENU_ENUM_LABEL_DEFERRED_ARCHIVE_ACTION,
|
||||
@ -1599,7 +1600,7 @@ enum msg_hash_enums
|
||||
#define MENU_LABEL_DEFERRED_LAKKA_LIST 0x3db437c4U
|
||||
#define MENU_LABEL_DEFERRED_INPUT_HOTKEY_BINDS_LIST 0x10b41d97U
|
||||
#define MENU_LABEL_DEFERRED_CONFIGURATIONS_LIST 0x679a1b0bU
|
||||
|
||||
#define MENU_LABEL_DEFERRED_BROWSE_URL_START 0xcef58296U
|
||||
|
||||
/* Cheevos settings */
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user