UI: Text cursor behavior for Apple Devices #107522

Merged
Harley Acheson merged 1 commits from Harley/blender:MacArrows into main 2023-05-24 22:25:50 +02:00
1 changed files with 28 additions and 27 deletions
Showing only changes of commit 407d3585a1 - Show all commits

View File

@ -3754,21 +3754,22 @@ static void ui_do_but_textedit(
} }
break; break;
case EVT_RIGHTARROWKEY: case EVT_RIGHTARROWKEY:
ui_textedit_move(but, case EVT_LEFTARROWKEY: {
data, eStrCursorJumpDirection direction = (event->type == EVT_RIGHTARROWKEY) ? STRCUR_DIR_NEXT :
STRCUR_DIR_NEXT, STRCUR_DIR_PREV;
event->modifier & KM_SHIFT, #ifdef __APPLE__
(event->modifier & KM_CTRL) ? STRCUR_JUMP_DELIM : STRCUR_JUMP_NONE); eStrCursorJumpType jump = (event->modifier & KM_OSKEY) ?
retval = WM_UI_HANDLER_BREAK; STRCUR_JUMP_ALL :
break; ((event->modifier & KM_ALT) ? STRCUR_JUMP_DELIM :
case EVT_LEFTARROWKEY: STRCUR_JUMP_NONE);
ui_textedit_move(but, #else
data, eStrCursorJumpType jump = (event->modifier & KM_CTRL) ? STRCUR_JUMP_DELIM :
STRCUR_DIR_PREV, STRCUR_JUMP_NONE;
event->modifier & KM_SHIFT, #endif
(event->modifier & KM_CTRL) ? STRCUR_JUMP_DELIM : STRCUR_JUMP_NONE); ui_textedit_move(but, data, direction, event->modifier & KM_SHIFT, jump);
retval = WM_UI_HANDLER_BREAK; retval = WM_UI_HANDLER_BREAK;
break; break;
}
case WHEELDOWNMOUSE: case WHEELDOWNMOUSE:
case EVT_DOWNARROWKEY: case EVT_DOWNARROWKEY:
if (data->searchbox) { if (data->searchbox) {
@ -3809,22 +3810,22 @@ static void ui_do_but_textedit(
retval = WM_UI_HANDLER_BREAK; retval = WM_UI_HANDLER_BREAK;
break; break;
case EVT_DELKEY: case EVT_DELKEY:
changed = ui_textedit_delete(but, case EVT_BACKSPACEKEY: {
data, eStrCursorJumpDirection direction = (event->type == EVT_DELKEY) ? STRCUR_DIR_NEXT :
STRCUR_DIR_NEXT, STRCUR_DIR_PREV;
(event->modifier & KM_CTRL) ? STRCUR_JUMP_DELIM : #ifdef __APPLE__
STRCUR_JUMP_NONE); eStrCursorJumpType jump = (event->modifier & KM_OSKEY) ?
retval = WM_UI_HANDLER_BREAK; STRCUR_JUMP_ALL :
break; ((event->modifier & KM_ALT) ? STRCUR_JUMP_DELIM :
STRCUR_JUMP_NONE);
case EVT_BACKSPACEKEY: #else
changed = ui_textedit_delete(but, eStrCursorJumpType jump = (event->modifier & KM_CTRL) ? STRCUR_JUMP_DELIM :
data, STRCUR_JUMP_NONE;
STRCUR_DIR_PREV, #endif
(event->modifier & KM_CTRL) ? STRCUR_JUMP_DELIM : changed = ui_textedit_delete(but, data, direction, jump);
STRCUR_JUMP_NONE);
retval = WM_UI_HANDLER_BREAK; retval = WM_UI_HANDLER_BREAK;
break; break;
}
case EVT_AKEY: case EVT_AKEY: