mirror of
https://github.com/libretro/RetroArch
synced 2025-04-09 21:45:45 +00:00
(Menu) Update menu code
This commit is contained in:
parent
a3175a8fa3
commit
f481924f1e
@ -2020,7 +2020,7 @@ static int (funcname)(void *data, const char *path, const char *label, unsigned
|
|||||||
line.type = type; \
|
line.type = type; \
|
||||||
line.idx = (_idx); \
|
line.idx = (_idx); \
|
||||||
line.cb = _cb; \
|
line.cb = _cb; \
|
||||||
if (!menu_input_dialog_start(&line)) \
|
if (!menu_input_dialog_start(&line, data)) \
|
||||||
return -1; \
|
return -1; \
|
||||||
return 0; \
|
return 0; \
|
||||||
}
|
}
|
||||||
@ -3986,7 +3986,7 @@ static int action_ok_netplay_enable_client(void *data,
|
|||||||
line.idx = 0;
|
line.idx = 0;
|
||||||
line.cb = action_ok_netplay_enable_client_hostname_cb;
|
line.cb = action_ok_netplay_enable_client_hostname_cb;
|
||||||
|
|
||||||
if (menu_input_dialog_start(&line))
|
if (menu_input_dialog_start(&line, data))
|
||||||
return 0;
|
return 0;
|
||||||
#endif
|
#endif
|
||||||
return -1;
|
return -1;
|
||||||
|
@ -238,7 +238,7 @@ int generic_menu_iterate(void *data, void *userdata, enum menu_action action)
|
|||||||
BIT64_SET(menu->state, MENU_STATE_POST_ITERATE);
|
BIT64_SET(menu->state, MENU_STATE_POST_ITERATE);
|
||||||
|
|
||||||
/* Have to defer it so we let settings refresh. */
|
/* Have to defer it so we let settings refresh. */
|
||||||
menu_dialog_push();
|
menu_dialog_push(menu);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
@ -252,7 +252,7 @@ void menu_dialog_push_pending(bool push, enum menu_dialog_type type)
|
|||||||
menu_dialog_active = true;
|
menu_dialog_active = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
void menu_dialog_push(void)
|
void menu_dialog_push(void *data)
|
||||||
{
|
{
|
||||||
menu_displaylist_info_t info;
|
menu_displaylist_info_t info;
|
||||||
const char *label = NULL;
|
const char *label = NULL;
|
||||||
@ -271,9 +271,7 @@ void menu_dialog_push(void)
|
|||||||
if (label)
|
if (label)
|
||||||
info.label = strdup(label);
|
info.label = strdup(label);
|
||||||
|
|
||||||
menu_driver_ctl(RARCH_MENU_CTL_DRIVER_DATA_GET, &menu);
|
menu_displaylist_ctl(DISPLAYLIST_HELP, &info, data);
|
||||||
|
|
||||||
menu_displaylist_ctl(DISPLAYLIST_HELP, &info, menu);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void menu_dialog_set_current_id(unsigned id)
|
void menu_dialog_set_current_id(unsigned id)
|
||||||
@ -291,18 +289,6 @@ void menu_dialog_reset(void)
|
|||||||
menu_display_toggle_set_reason(MENU_TOGGLE_REASON_NONE);
|
menu_display_toggle_set_reason(MENU_TOGGLE_REASON_NONE);
|
||||||
}
|
}
|
||||||
|
|
||||||
void menu_dialog_show_message(
|
|
||||||
enum menu_dialog_type type, enum msg_hash_enums msg)
|
|
||||||
{
|
|
||||||
menu_dialog_current_msg = msg;
|
|
||||||
|
|
||||||
if (!menu_driver_ctl(RARCH_MENU_CTL_IS_TOGGLE, NULL))
|
|
||||||
menu_display_toggle_set_reason(MENU_TOGGLE_REASON_MESSAGE);
|
|
||||||
|
|
||||||
menu_dialog_push_pending(true, type);
|
|
||||||
menu_dialog_push();
|
|
||||||
}
|
|
||||||
|
|
||||||
bool menu_dialog_is_active(void)
|
bool menu_dialog_is_active(void)
|
||||||
{
|
{
|
||||||
return menu_dialog_active;
|
return menu_dialog_active;
|
||||||
|
@ -59,13 +59,10 @@ void menu_dialog_unset_pending_push(void);
|
|||||||
|
|
||||||
bool menu_dialog_is_push_pending(void);
|
bool menu_dialog_is_push_pending(void);
|
||||||
|
|
||||||
void menu_dialog_push(void);
|
void menu_dialog_push(void *data);
|
||||||
|
|
||||||
void menu_dialog_reset(void);
|
void menu_dialog_reset(void);
|
||||||
|
|
||||||
void menu_dialog_show_message(
|
|
||||||
enum menu_dialog_type type, enum msg_hash_enums msg);
|
|
||||||
|
|
||||||
bool menu_dialog_is_active(void);
|
bool menu_dialog_is_active(void);
|
||||||
|
|
||||||
void menu_dialog_set_current_id(unsigned id);
|
void menu_dialog_set_current_id(unsigned id);
|
||||||
|
@ -119,12 +119,13 @@ bool menu_input_dialog_start_search(void *data)
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool menu_input_dialog_start(menu_input_ctx_line_t *line)
|
bool menu_input_dialog_start(menu_input_ctx_line_t *line,
|
||||||
|
void *data)
|
||||||
{
|
{
|
||||||
menu_handle_t *menu = NULL;
|
menu_handle_t *menu = (menu_handle_t*)data;
|
||||||
if (!line)
|
if (!line)
|
||||||
return false;
|
return false;
|
||||||
if (!menu_driver_ctl(RARCH_MENU_CTL_DRIVER_DATA_GET, &menu))
|
if (!menu)
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
menu_input_dialog_display_kb();
|
menu_input_dialog_display_kb();
|
||||||
@ -135,7 +136,8 @@ bool menu_input_dialog_start(menu_input_ctx_line_t *line)
|
|||||||
sizeof(menu_input_dialog_keyboard_label));
|
sizeof(menu_input_dialog_keyboard_label));
|
||||||
if (line->label_setting)
|
if (line->label_setting)
|
||||||
strlcpy(menu_input_dialog_keyboard_label_setting,
|
strlcpy(menu_input_dialog_keyboard_label_setting,
|
||||||
line->label_setting, sizeof(menu_input_dialog_keyboard_label_setting));
|
line->label_setting,
|
||||||
|
sizeof(menu_input_dialog_keyboard_label_setting));
|
||||||
|
|
||||||
menu_input_dialog_keyboard_type = line->type;
|
menu_input_dialog_keyboard_type = line->type;
|
||||||
menu_input_dialog_keyboard_idx = line->idx;
|
menu_input_dialog_keyboard_idx = line->idx;
|
||||||
|
@ -55,7 +55,8 @@ void menu_input_dialog_display_kb(void);
|
|||||||
|
|
||||||
bool menu_input_dialog_get_display_kb(void);
|
bool menu_input_dialog_get_display_kb(void);
|
||||||
|
|
||||||
bool menu_input_dialog_start(menu_input_ctx_line_t *line);
|
bool menu_input_dialog_start(menu_input_ctx_line_t *line,
|
||||||
|
void *data);
|
||||||
|
|
||||||
void menu_input_dialog_end(void);
|
void menu_input_dialog_end(void);
|
||||||
|
|
||||||
|
@ -37,6 +37,7 @@
|
|||||||
#include "../../version.h"
|
#include "../../version.h"
|
||||||
|
|
||||||
#ifdef HAVE_MENU
|
#ifdef HAVE_MENU
|
||||||
|
#include "../../menu/menu_driver.h"
|
||||||
#include "../../menu/widgets/menu_input_dialog.h"
|
#include "../../menu/widgets/menu_input_dialog.h"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
@ -415,6 +416,8 @@ bool netplay_handshake_init(netplay_t *netplay,
|
|||||||
{
|
{
|
||||||
#ifdef HAVE_MENU
|
#ifdef HAVE_MENU
|
||||||
menu_input_ctx_line_t line;
|
menu_input_ctx_line_t line;
|
||||||
|
menu_handle_t *menu = NULL;
|
||||||
|
|
||||||
rarch_menu_running();
|
rarch_menu_running();
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
@ -425,7 +428,10 @@ bool netplay_handshake_init(netplay_t *netplay,
|
|||||||
line.label = msg_hash_to_str(MSG_NETPLAY_ENTER_PASSWORD);
|
line.label = msg_hash_to_str(MSG_NETPLAY_ENTER_PASSWORD);
|
||||||
line.label_setting = "no_setting";
|
line.label_setting = "no_setting";
|
||||||
line.cb = handshake_password;
|
line.cb = handshake_password;
|
||||||
if (!menu_input_dialog_start(&line))
|
|
||||||
|
menu_driver_ctl(RARCH_MENU_CTL_DRIVER_DATA_GET, &menu);
|
||||||
|
|
||||||
|
if (menu && !menu_input_dialog_start(&line, menu))
|
||||||
return false;
|
return false;
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
@ -2004,6 +2004,7 @@ static void menu_input_st_hex_cb(void *userdata, const char *str)
|
|||||||
static int setting_generic_action_ok_linefeed(void *data, bool wraparound)
|
static int setting_generic_action_ok_linefeed(void *data, bool wraparound)
|
||||||
{
|
{
|
||||||
menu_input_ctx_line_t line;
|
menu_input_ctx_line_t line;
|
||||||
|
menu_handle_t *menu = NULL;
|
||||||
input_keyboard_line_complete_t cb = NULL;
|
input_keyboard_line_complete_t cb = NULL;
|
||||||
rarch_setting_t *setting = (rarch_setting_t*)data;
|
rarch_setting_t *setting = (rarch_setting_t*)data;
|
||||||
|
|
||||||
@ -2034,7 +2035,9 @@ static int setting_generic_action_ok_linefeed(void *data, bool wraparound)
|
|||||||
line.idx = 0;
|
line.idx = 0;
|
||||||
line.cb = cb;
|
line.cb = cb;
|
||||||
|
|
||||||
if (!menu_input_dialog_start(&line))
|
menu_driver_ctl(RARCH_MENU_CTL_DRIVER_DATA_GET, &menu);
|
||||||
|
|
||||||
|
if (!menu || !menu_input_dialog_start(&line, menu))
|
||||||
return -1;
|
return -1;
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user