mirror of
https://github.com/libretro/RetroArch
synced 2025-03-31 19:21:06 +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)
|
if (str && *str)
|
||||||
{
|
{
|
||||||
rarch_setting_t *setting = NULL;
|
rarch_setting_t *setting = NULL;
|
||||||
const char *label = NULL;
|
bool ret = false;
|
||||||
bool ret = false;
|
const char *label = menu_input_dialog_get_label_buffer();
|
||||||
|
|
||||||
menu_input_ctl(MENU_INPUT_CTL_KEYBOARD_LABEL_SETTING, &label);
|
|
||||||
|
|
||||||
if (!string_is_empty(label))
|
if (!string_is_empty(label))
|
||||||
setting = menu_setting_find(label);
|
setting = menu_setting_find(label);
|
||||||
@ -1616,10 +1614,8 @@ static void menu_input_st_string_cb_cheat_file_save_as(
|
|||||||
{
|
{
|
||||||
if (str && *str)
|
if (str && *str)
|
||||||
{
|
{
|
||||||
rarch_setting_t *setting = NULL;
|
rarch_setting_t *setting = NULL;
|
||||||
const char *label = NULL;
|
const char *label = menu_input_dialog_get_label_buffer();
|
||||||
|
|
||||||
menu_input_ctl(MENU_INPUT_CTL_KEYBOARD_LABEL_SETTING, &label);
|
|
||||||
|
|
||||||
if (!string_is_empty(label))
|
if (!string_is_empty(label))
|
||||||
setting = menu_setting_find(label);
|
setting = menu_setting_find(label);
|
||||||
|
@ -1205,13 +1205,9 @@ static void mui_frame(void *data)
|
|||||||
|
|
||||||
if (menu_input_dialog_get_display_kb())
|
if (menu_input_dialog_get_display_kb())
|
||||||
{
|
{
|
||||||
const char *label = NULL;
|
|
||||||
const char *str = menu_input_dialog_get_buffer();
|
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]);
|
mui_render_quad(mui, 0, 0, width, height, width, height, &black_bg[0]);
|
||||||
snprintf(msg, sizeof(msg), "%s\n%s", label, str);
|
snprintf(msg, sizeof(msg), "%s\n%s", label, str);
|
||||||
mui_render_messagebox(mui, msg, &body_bg_color[0], font_hover_color);
|
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())
|
if (menu_input_dialog_get_display_kb())
|
||||||
{
|
{
|
||||||
const char *label = NULL;
|
|
||||||
const char *str = menu_input_dialog_get_buffer();
|
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);
|
|
||||||
|
|
||||||
snprintf(msg, sizeof(msg), "%s\n%s", label, str);
|
snprintf(msg, sizeof(msg), "%s\n%s", label, str);
|
||||||
rgui_render_messagebox(msg);
|
rgui_render_messagebox(msg);
|
||||||
|
@ -2366,13 +2366,9 @@ static void xmb_frame(void *data)
|
|||||||
|
|
||||||
if (menu_input_dialog_get_display_kb())
|
if (menu_input_dialog_get_display_kb())
|
||||||
{
|
{
|
||||||
const char *label = NULL;
|
|
||||||
const char *str = menu_input_dialog_get_buffer();
|
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);
|
snprintf(msg, sizeof(msg), "%s\n%s", label, str);
|
||||||
render_background = true;
|
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)
|
static void xui_render(void *data)
|
||||||
{
|
{
|
||||||
uint64_t *frame_count;
|
uint64_t *frame_count;
|
||||||
bool display_kb, msg_force;
|
|
||||||
unsigned fb_width;
|
unsigned fb_width;
|
||||||
size_t end, i, selection;
|
size_t end, i, selection;
|
||||||
char title[PATH_MAX_LENGTH] = {0};
|
char title[PATH_MAX_LENGTH] = {0};
|
||||||
|
bool msg_force = false;
|
||||||
const char *dir = NULL;
|
const char *dir = NULL;
|
||||||
const char *label = NULL;
|
const char *label = NULL;
|
||||||
unsigned menu_type = 0;
|
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));
|
mbstowcs(msg_right, entry_value, sizeof(msg_right) / sizeof(wchar_t));
|
||||||
xui_set_list_text(i, msg_left, msg_right);
|
xui_set_list_text(i, msg_left, msg_right);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!menu_navigation_ctl(MENU_NAVIGATION_CTL_GET_SELECTION, &selection))
|
if (!menu_navigation_ctl(MENU_NAVIGATION_CTL_GET_SELECTION, &selection))
|
||||||
return;
|
return;
|
||||||
|
|
||||||
XuiListSetCurSelVisible(m_menulist, selection);
|
XuiListSetCurSelVisible(m_menulist, selection);
|
||||||
|
|
||||||
menu_input_ctl(MENU_INPUT_CTL_KEYBOARD_DISPLAY, &display_kb);
|
if (menu_input_dialog_get_display_kb())
|
||||||
|
|
||||||
if (display_kb)
|
|
||||||
{
|
{
|
||||||
char msg[1024] = {0};
|
char msg[1024] = {0};
|
||||||
const char *label = NULL;
|
|
||||||
const char *str = menu_input_dialog_get_buffer();
|
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);
|
snprintf(msg, sizeof(msg), "%s\n%s", label, str);
|
||||||
xui_render_messagebox(msg);
|
xui_render_messagebox(msg);
|
||||||
}
|
}
|
||||||
|
@ -190,12 +190,9 @@ void menu_input_st_uint_cb(void *userdata, const char *str)
|
|||||||
{
|
{
|
||||||
if (str && *str)
|
if (str && *str)
|
||||||
{
|
{
|
||||||
rarch_setting_t *setting = NULL;
|
const char *label = menu_input_dialog_get_label_buffer();
|
||||||
const char *label = NULL;
|
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);
|
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)
|
if (str && *str)
|
||||||
{
|
{
|
||||||
rarch_setting_t *setting = NULL;
|
const char *label = menu_input_dialog_get_label_buffer();
|
||||||
const char *label = NULL;
|
rarch_setting_t *setting = menu_setting_find(label);
|
||||||
|
|
||||||
menu_input_ctl(MENU_INPUT_CTL_KEYBOARD_LABEL_SETTING, &label);
|
|
||||||
|
|
||||||
setting = menu_setting_find(label);
|
|
||||||
|
|
||||||
if (setting)
|
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)
|
const char *menu_input_dialog_get_buffer(void)
|
||||||
{
|
{
|
||||||
|
if (!(*menu_input_keyboard_buffer))
|
||||||
|
return "";
|
||||||
return *menu_input_keyboard_buffer;
|
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:
|
case MENU_INPUT_CTL_UNSET_POINTER_DRAGGED:
|
||||||
pointer_dragging = false;
|
pointer_dragging = false;
|
||||||
break;
|
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_NONE:
|
||||||
case MENU_INPUT_CTL_BIND_SINGLE:
|
case MENU_INPUT_CTL_BIND_SINGLE:
|
||||||
case MENU_INPUT_CTL_BIND_ALL:
|
case MENU_INPUT_CTL_BIND_ALL:
|
||||||
|
@ -76,8 +76,6 @@ enum menu_input_ctl_state
|
|||||||
MENU_INPUT_CTL_IS_POINTER_DRAGGED,
|
MENU_INPUT_CTL_IS_POINTER_DRAGGED,
|
||||||
MENU_INPUT_CTL_SET_POINTER_DRAGGED,
|
MENU_INPUT_CTL_SET_POINTER_DRAGGED,
|
||||||
MENU_INPUT_CTL_UNSET_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_DEINIT,
|
||||||
MENU_INPUT_CTL_BIND_NONE,
|
MENU_INPUT_CTL_BIND_NONE,
|
||||||
MENU_INPUT_CTL_BIND_SINGLE,
|
MENU_INPUT_CTL_BIND_SINGLE,
|
||||||
|
@ -1772,10 +1772,8 @@ static void menu_input_st_string_cb(void *userdata, const char *str)
|
|||||||
{
|
{
|
||||||
if (str && *str)
|
if (str && *str)
|
||||||
{
|
{
|
||||||
rarch_setting_t *setting = NULL;
|
rarch_setting_t *setting = NULL;
|
||||||
const char *label = NULL;
|
const char *label = menu_input_dialog_get_label_buffer();
|
||||||
|
|
||||||
menu_input_ctl(MENU_INPUT_CTL_KEYBOARD_LABEL_SETTING, &label);
|
|
||||||
|
|
||||||
if (!string_is_empty(label))
|
if (!string_is_empty(label))
|
||||||
setting = menu_setting_find(label);
|
setting = menu_setting_find(label);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user