reverting previous commit from Mitchell. His commit went to the trunk instead of the branch :)
svn merge -r 29067:29066 https://svn.blender.org/svnroot/bf-blender/trunk/blender
This commit is contained in:
@@ -1659,7 +1659,7 @@ static void ui_do_but_textedit(bContext *C, uiBlock *block, uiBut *but, uiHandle
|
||||
my= event->y;
|
||||
ui_window_to_block(data->region, block, &mx, &my);
|
||||
|
||||
if ((but->y1 <= my) && (my <= but->y2) && (but->x1 <= mx) && (mx <= but->x2)) {
|
||||
if (ui_mouse_inside_button(data->region, but, mx, my)) {
|
||||
ui_textedit_set_cursor_pos(but, data, mx);
|
||||
but->selsta = but->selend = but->pos;
|
||||
data->selstartx= mx;
|
||||
@@ -1999,14 +1999,17 @@ static int ui_do_but_HOTKEYEVT(bContext *C, uiBut *but, uiHandleButtonData *data
|
||||
if(event->type == MOUSEMOVE)
|
||||
return WM_UI_HANDLER_CONTINUE;
|
||||
|
||||
if(event->type == ESCKEY) {
|
||||
/* data->cancel doesnt work, this button opens immediate */
|
||||
if(but->flag & UI_BUT_IMMEDIATE)
|
||||
ui_set_but_val(but, 0);
|
||||
else
|
||||
data->cancel= 1;
|
||||
button_activate_state(C, but, BUTTON_STATE_EXIT);
|
||||
return WM_UI_HANDLER_BREAK;
|
||||
if(event->type == LEFTMOUSE && event->val==KM_PRESS) {
|
||||
/* only cancel if click outside the button */
|
||||
if(ui_mouse_inside_button(but->active->region, but, event->x, event->y) == 0) {
|
||||
/* data->cancel doesnt work, this button opens immediate */
|
||||
if(but->flag & UI_BUT_IMMEDIATE)
|
||||
ui_set_but_val(but, 0);
|
||||
else
|
||||
data->cancel= 1;
|
||||
button_activate_state(C, but, BUTTON_STATE_EXIT);
|
||||
return WM_UI_HANDLER_BREAK;
|
||||
}
|
||||
}
|
||||
|
||||
/* always set */
|
||||
@@ -2040,15 +2043,11 @@ static int ui_do_but_HOTKEYEVT(bContext *C, uiBut *but, uiHandleButtonData *data
|
||||
return WM_UI_HANDLER_CONTINUE;
|
||||
}
|
||||
|
||||
|
||||
static int ui_do_but_KEYEVT(bContext *C, uiBut *but, uiHandleButtonData *data, wmEvent *event)
|
||||
{
|
||||
if(data->state == BUTTON_STATE_HIGHLIGHT) {
|
||||
if(ELEM3(event->type, LEFTMOUSE, PADENTER, RETKEY) && event->val==KM_PRESS) {
|
||||
short event= (short)ui_get_but_val(but);
|
||||
/* hardcoded prevention from editing or assigning ESC */
|
||||
if(event!=ESCKEY)
|
||||
button_activate_state(C, but, BUTTON_STATE_WAIT_KEY_EVENT);
|
||||
button_activate_state(C, but, BUTTON_STATE_WAIT_KEY_EVENT);
|
||||
return WM_UI_HANDLER_BREAK;
|
||||
}
|
||||
}
|
||||
@@ -2057,7 +2056,7 @@ static int ui_do_but_KEYEVT(bContext *C, uiBut *but, uiHandleButtonData *data, w
|
||||
return WM_UI_HANDLER_CONTINUE;
|
||||
|
||||
if(event->val==KM_PRESS) {
|
||||
if(event->type!=ESCKEY && WM_key_event_string(event->type)[0])
|
||||
if(WM_key_event_string(event->type)[0])
|
||||
ui_set_but_val(but, event->type);
|
||||
else
|
||||
data->cancel= 1;
|
||||
|
||||
Reference in New Issue
Block a user