WIP: UI: Text cursor behavior for Apple Devices #106724
|
@ -3754,21 +3754,21 @@ static void ui_do_but_textedit(
|
|||
}
|
||||
break;
|
||||
case EVT_RIGHTARROWKEY:
|
||||
ui_textedit_move(but,
|
||||
data,
|
||||
STRCUR_DIR_NEXT,
|
||||
event->modifier & KM_SHIFT,
|
||||
(event->modifier & KM_CTRL) ? STRCUR_JUMP_DELIM : STRCUR_JUMP_NONE);
|
||||
retval = WM_UI_HANDLER_BREAK;
|
||||
break;
|
||||
case EVT_LEFTARROWKEY:
|
||||
ui_textedit_move(but,
|
||||
data,
|
||||
STRCUR_DIR_PREV,
|
||||
event->modifier & KM_SHIFT,
|
||||
(event->modifier & KM_CTRL) ? STRCUR_JUMP_DELIM : STRCUR_JUMP_NONE);
|
||||
retval = WM_UI_HANDLER_BREAK;
|
||||
break;
|
||||
case EVT_LEFTARROWKEY: {
|
||||
#ifdef __APPLE__
|
||||
eStrCursorJumpDirection direction = (event->type == EVT_RIGHTARROWKEY) ? STRCUR_DIR_NEXT : STRCUR_DIR_PREV;
|
||||
eStrCursorJumpType jump = (event->modifier & KM_OSKEY) ? STRCUR_JUMP_ALL : ((event->modifier & KM_ALT) ? STRCUR_JUMP_DELIM : STRCUR_JUMP_NONE);
|
||||
#else
|
||||
eStrCursorJumpType jump = (event->modifier & KM_CTRL) ? STRCUR_JUMP_DELIM : STRCUR_JUMP_NONE;
|
||||
#endif
|
||||
ui_textedit_move(but,
|
||||
data,
|
||||
direction,
|
||||
event->modifier & KM_SHIFT,
|
||||
jump);
|
||||
retval = WM_UI_HANDLER_BREAK;
|
||||
break;
|
||||
}
|
||||
case WHEELDOWNMOUSE:
|
||||
case EVT_DOWNARROWKEY:
|
||||
if (data->searchbox) {
|
||||
|
@ -3808,24 +3808,32 @@ static void ui_do_but_textedit(
|
|||
button_activate_state(C, but, BUTTON_STATE_EXIT);
|
||||
retval = WM_UI_HANDLER_BREAK;
|
||||
break;
|
||||
case EVT_DELKEY:
|
||||
changed = ui_textedit_delete(but,
|
||||
data,
|
||||
STRCUR_DIR_NEXT,
|
||||
(event->modifier & KM_CTRL) ? STRCUR_JUMP_DELIM :
|
||||
STRCUR_JUMP_NONE);
|
||||
retval = WM_UI_HANDLER_BREAK;
|
||||
break;
|
||||
|
||||
case EVT_BACKSPACEKEY:
|
||||
changed = ui_textedit_delete(but,
|
||||
data,
|
||||
STRCUR_DIR_PREV,
|
||||
(event->modifier & KM_CTRL) ? STRCUR_JUMP_DELIM :
|
||||
STRCUR_JUMP_NONE);
|
||||
retval = WM_UI_HANDLER_BREAK;
|
||||
break;
|
||||
|
||||
case EVT_DELKEY: {
|
||||
#ifdef __APPLE__
|
||||
eStrCursorJumpType jump = (event->modifier & KM_OSKEY) ? STRCUR_JUMP_ALL : ((event->modifier & KM_ALT) ? STRCUR_JUMP_DELIM : STRCUR_JUMP_NONE);
|
||||
#else
|
||||
eStrCursorJumpType jump = (event->modifier & KM_CTRL) ? STRCUR_JUMP_DELIM : STRCUR_JUMP_NONE;
|
||||
#endif
|
||||
changed = ui_textedit_delete(but,
|
||||
data,
|
||||
STRCUR_DIR_NEXT,
|
||||
jump);
|
||||
retval = WM_UI_HANDLER_BREAK;
|
||||
break;
|
||||
}
|
||||
case EVT_BACKSPACEKEY: {
|
||||
#ifdef __APPLE__
|
||||
eStrCursorJumpType jump = (event->modifier & KM_OSKEY) ? STRCUR_JUMP_ALL : ((event->modifier & KM_ALT) ? STRCUR_JUMP_DELIM : STRCUR_JUMP_NONE);
|
||||
#else
|
||||
eStrCursorJumpType jump = (event->modifier & KM_CTRL) ? STRCUR_JUMP_DELIM : STRCUR_JUMP_NONE;
|
||||
#endif
|
||||
changed = ui_textedit_delete(but,
|
||||
data,
|
||||
STRCUR_DIR_PREV,
|
||||
jump);
|
||||
retval = WM_UI_HANDLER_BREAK;
|
||||
break;
|
||||
}
|
||||
case EVT_AKEY:
|
||||
|
||||
/* Ctrl-A: Select all. */
|
||||
|
|
Loading…
Reference in New Issue