mirror of
https://github.com/libretro/RetroArch
synced 2025-03-29 04:20:28 +00:00
Refactor menu_input_dialog
This commit is contained in:
parent
e8e16aca9e
commit
5cf5371314
@ -1485,11 +1485,9 @@ static void menu_input_st_string_cb_save_preset(void *userdata,
|
||||
{
|
||||
if (str && *str)
|
||||
{
|
||||
rarch_setting_t *setting = NULL;
|
||||
const char *label = NULL;
|
||||
bool ret = false;
|
||||
|
||||
menu_input_ctl(MENU_INPUT_CTL_KEYBOARD_LABEL_SETTING, &label);
|
||||
rarch_setting_t *setting = NULL;
|
||||
bool ret = false;
|
||||
const char *label = menu_input_dialog_get_label_buffer();
|
||||
|
||||
if (!string_is_empty(label))
|
||||
setting = menu_setting_find(label);
|
||||
@ -1616,10 +1614,8 @@ static void menu_input_st_string_cb_cheat_file_save_as(
|
||||
{
|
||||
if (str && *str)
|
||||
{
|
||||
rarch_setting_t *setting = NULL;
|
||||
const char *label = NULL;
|
||||
|
||||
menu_input_ctl(MENU_INPUT_CTL_KEYBOARD_LABEL_SETTING, &label);
|
||||
rarch_setting_t *setting = NULL;
|
||||
const char *label = menu_input_dialog_get_label_buffer();
|
||||
|
||||
if (!string_is_empty(label))
|
||||
setting = menu_setting_find(label);
|
||||
|
@ -1205,13 +1205,9 @@ static void mui_frame(void *data)
|
||||
|
||||
if (menu_input_dialog_get_display_kb())
|
||||
{
|
||||
const char *label = NULL;
|
||||
const char *str = menu_input_dialog_get_buffer();
|
||||
const char *label = menu_input_dialog_get_label_buffer();
|
||||
|
||||
menu_input_ctl(MENU_INPUT_CTL_KEYBOARD_LABEL, &label);
|
||||
|
||||
if (!str)
|
||||
str = "";
|
||||
mui_render_quad(mui, 0, 0, width, height, width, height, &black_bg[0]);
|
||||
snprintf(msg, sizeof(msg), "%s\n%s", label, str);
|
||||
mui_render_messagebox(mui, msg, &body_bg_color[0], font_hover_color);
|
||||
|
@ -611,10 +611,8 @@ static void rgui_render(void *data)
|
||||
|
||||
if (menu_input_dialog_get_display_kb())
|
||||
{
|
||||
const char *label = NULL;
|
||||
const char *str = menu_input_dialog_get_buffer();
|
||||
|
||||
menu_input_ctl(MENU_INPUT_CTL_KEYBOARD_LABEL, &label);
|
||||
const char *label = menu_input_dialog_get_label_buffer();
|
||||
|
||||
snprintf(msg, sizeof(msg), "%s\n%s", label, str);
|
||||
rgui_render_messagebox(msg);
|
||||
|
@ -2366,13 +2366,9 @@ static void xmb_frame(void *data)
|
||||
|
||||
if (menu_input_dialog_get_display_kb())
|
||||
{
|
||||
const char *label = NULL;
|
||||
const char *str = menu_input_dialog_get_buffer();
|
||||
const char *label = menu_input_dialog_get_label_buffer();
|
||||
|
||||
menu_input_ctl(MENU_INPUT_CTL_KEYBOARD_LABEL, &label);
|
||||
|
||||
if (!str)
|
||||
str = "";
|
||||
snprintf(msg, sizeof(msg), "%s\n%s", label, str);
|
||||
render_background = true;
|
||||
}
|
||||
|
@ -526,10 +526,10 @@ static void xui_set_list_text(int index, const wchar_t* leftText,
|
||||
static void xui_render(void *data)
|
||||
{
|
||||
uint64_t *frame_count;
|
||||
bool display_kb, msg_force;
|
||||
unsigned fb_width;
|
||||
size_t end, i, selection;
|
||||
char title[PATH_MAX_LENGTH] = {0};
|
||||
bool msg_force = false;
|
||||
const char *dir = NULL;
|
||||
const char *label = NULL;
|
||||
unsigned menu_type = 0;
|
||||
@ -584,22 +584,18 @@ static void xui_render(void *data)
|
||||
mbstowcs(msg_right, entry_value, sizeof(msg_right) / sizeof(wchar_t));
|
||||
xui_set_list_text(i, msg_left, msg_right);
|
||||
}
|
||||
|
||||
if (!menu_navigation_ctl(MENU_NAVIGATION_CTL_GET_SELECTION, &selection))
|
||||
return;
|
||||
|
||||
XuiListSetCurSelVisible(m_menulist, selection);
|
||||
|
||||
menu_input_ctl(MENU_INPUT_CTL_KEYBOARD_DISPLAY, &display_kb);
|
||||
|
||||
if (display_kb)
|
||||
if (menu_input_dialog_get_display_kb())
|
||||
{
|
||||
char msg[1024] = {0};
|
||||
const char *label = NULL;
|
||||
const char *str = menu_input_dialog_get_buffer();
|
||||
const char *label = menu_input_dialog_get_label_buffer();
|
||||
|
||||
menu_input_ctl(MENU_INPUT_CTL_KEYBOARD_LABEL, &label);
|
||||
|
||||
if (!str)
|
||||
str = "";
|
||||
snprintf(msg, sizeof(msg), "%s\n%s", label, str);
|
||||
xui_render_messagebox(msg);
|
||||
}
|
||||
|
@ -190,12 +190,9 @@ void menu_input_st_uint_cb(void *userdata, const char *str)
|
||||
{
|
||||
if (str && *str)
|
||||
{
|
||||
rarch_setting_t *setting = NULL;
|
||||
const char *label = NULL;
|
||||
const char *label = menu_input_dialog_get_label_buffer();
|
||||
rarch_setting_t *setting = menu_setting_find(label);
|
||||
|
||||
menu_input_ctl(MENU_INPUT_CTL_KEYBOARD_LABEL_SETTING, &label);
|
||||
|
||||
setting = menu_setting_find(label);
|
||||
setting_set_with_string_representation(setting, str);
|
||||
}
|
||||
|
||||
@ -206,12 +203,8 @@ void menu_input_st_hex_cb(void *userdata, const char *str)
|
||||
{
|
||||
if (str && *str)
|
||||
{
|
||||
rarch_setting_t *setting = NULL;
|
||||
const char *label = NULL;
|
||||
|
||||
menu_input_ctl(MENU_INPUT_CTL_KEYBOARD_LABEL_SETTING, &label);
|
||||
|
||||
setting = menu_setting_find(label);
|
||||
const char *label = menu_input_dialog_get_label_buffer();
|
||||
rarch_setting_t *setting = menu_setting_find(label);
|
||||
|
||||
if (setting)
|
||||
{
|
||||
@ -648,6 +641,8 @@ bool menu_input_mouse_check_vector_inside_hitbox(menu_input_ctx_hitbox_t *hitbox
|
||||
|
||||
const char *menu_input_dialog_get_buffer(void)
|
||||
{
|
||||
if (!(*menu_input_keyboard_buffer))
|
||||
return "";
|
||||
return *menu_input_keyboard_buffer;
|
||||
}
|
||||
|
||||
@ -708,18 +703,6 @@ bool menu_input_ctl(enum menu_input_ctl_state state, void *data)
|
||||
case MENU_INPUT_CTL_UNSET_POINTER_DRAGGED:
|
||||
pointer_dragging = false;
|
||||
break;
|
||||
case MENU_INPUT_CTL_KEYBOARD_LABEL:
|
||||
{
|
||||
const char **ptr = (const char**)data;
|
||||
*ptr = menu_input_keyboard_label;
|
||||
}
|
||||
break;
|
||||
case MENU_INPUT_CTL_KEYBOARD_LABEL_SETTING:
|
||||
{
|
||||
const char **ptr = (const char**)data;
|
||||
*ptr = menu_input_keyboard_label_setting;
|
||||
}
|
||||
break;
|
||||
case MENU_INPUT_CTL_BIND_NONE:
|
||||
case MENU_INPUT_CTL_BIND_SINGLE:
|
||||
case MENU_INPUT_CTL_BIND_ALL:
|
||||
|
@ -76,8 +76,6 @@ enum menu_input_ctl_state
|
||||
MENU_INPUT_CTL_IS_POINTER_DRAGGED,
|
||||
MENU_INPUT_CTL_SET_POINTER_DRAGGED,
|
||||
MENU_INPUT_CTL_UNSET_POINTER_DRAGGED,
|
||||
MENU_INPUT_CTL_KEYBOARD_LABEL,
|
||||
MENU_INPUT_CTL_KEYBOARD_LABEL_SETTING,
|
||||
MENU_INPUT_CTL_DEINIT,
|
||||
MENU_INPUT_CTL_BIND_NONE,
|
||||
MENU_INPUT_CTL_BIND_SINGLE,
|
||||
|
@ -1772,10 +1772,8 @@ static void menu_input_st_string_cb(void *userdata, const char *str)
|
||||
{
|
||||
if (str && *str)
|
||||
{
|
||||
rarch_setting_t *setting = NULL;
|
||||
const char *label = NULL;
|
||||
|
||||
menu_input_ctl(MENU_INPUT_CTL_KEYBOARD_LABEL_SETTING, &label);
|
||||
rarch_setting_t *setting = NULL;
|
||||
const char *label = menu_input_dialog_get_label_buffer();
|
||||
|
||||
if (!string_is_empty(label))
|
||||
setting = menu_setting_find(label);
|
||||
|
Loading…
x
Reference in New Issue
Block a user