diff options
author | Dalai Felinto <dfelinto@gmail.com> | 2018-04-27 19:32:43 +0300 |
---|---|---|
committer | Dalai Felinto <dfelinto@gmail.com> | 2018-04-27 20:38:18 +0300 |
commit | a6fb54f236463721dd822f8fa608ebc22dbe160f (patch) | |
tree | 0e65209c5a6b72dba844f30b28de8fd6a8589ea3 /source | |
parent | 782240636c5fafeb3cfd41aa4794b4e58561fec2 (diff) |
UI: Set cursor to X_MOV when editing number button middle area
Reviewers: campbellbarton, brecht
Differential Revision: https://developer.blender.org/D3184
Diffstat (limited to 'source')
-rw-r--r-- | source/blender/editors/include/UI_interface.h | 2 | ||||
-rw-r--r-- | source/blender/editors/interface/interface_handlers.c | 18 |
2 files changed, 19 insertions, 1 deletions
diff --git a/source/blender/editors/include/UI_interface.h b/source/blender/editors/include/UI_interface.h index 67dd2630da3..968007f42f7 100644 --- a/source/blender/editors/include/UI_interface.h +++ b/source/blender/editors/include/UI_interface.h @@ -225,7 +225,7 @@ enum { UI_BUT_BOX_ITEM = (1 << 20), /* This but is "inside" a box item (currently used to change theme colors). */ UI_BUT_ACTIVE_LEFT = (1 << 21), /* Active left part of number button */ - UI_BUT_ACTIVE_RIGHT = (1 << 22), /* Active left part of number button */ + UI_BUT_ACTIVE_RIGHT = (1 << 22), /* Active right part of number button */ }; /* scale fixed button widths by this to account for DPI */ diff --git a/source/blender/editors/interface/interface_handlers.c b/source/blender/editors/interface/interface_handlers.c index 5e628bf797d..de032f03f57 100644 --- a/source/blender/editors/interface/interface_handlers.c +++ b/source/blender/editors/interface/interface_handlers.c @@ -276,6 +276,7 @@ typedef struct uiHandleButtonData { /* booleans (could be made into flags) */ bool cancel, escapecancel; bool applied, applied_interactive; + bool changed_cursor; wmTimer *flashtimer; /* edited value */ @@ -4192,6 +4193,19 @@ static void ui_numedit_set_active(uiBut *but) but->drawflag |= UI_BUT_ACTIVE_RIGHT; } + if ((but->drawflag & (UI_BUT_ACTIVE_LEFT)) || (but->drawflag & (UI_BUT_ACTIVE_RIGHT))) { + if (data->changed_cursor) { + WM_cursor_modal_restore(data->window); + data->changed_cursor = false; + } + } + else { + if (data->changed_cursor == false) { + WM_cursor_modal_set(data->window, CURSOR_X_MOVE); + data->changed_cursor = true; + } + } + if (but->drawflag != oldflag) { ED_region_tag_redraw(data->region); } @@ -7918,6 +7932,10 @@ static void button_activate_exit( ui_selectcontext_end(but, &data->select_others); #endif + if (data->changed_cursor) { + WM_cursor_modal_restore(data->window); + } + /* redraw (data is but->active!) */ ED_region_tag_redraw(data->region); |