From 3cf239ccfa98675f19ec0f32366e3d15cb72e3cc Mon Sep 17 00:00:00 2001 From: Campbell Barton Date: Sat, 16 Jun 2018 16:19:18 +0200 Subject: [PATCH] UI: support dragging to key-frame --- source/blender/editors/interface/interface_handlers.c | 6 ++++++ source/blender/editors/interface/interface_layout.c | 1 + 2 files changed, 7 insertions(+) diff --git a/source/blender/editors/interface/interface_handlers.c b/source/blender/editors/interface/interface_handlers.c index b3f4683d53f..af7803c7002 100644 --- a/source/blender/editors/interface/interface_handlers.c +++ b/source/blender/editors/interface/interface_handlers.c @@ -1274,6 +1274,9 @@ static bool ui_drag_toggle_but_is_supported(const uiBut *but) if (ui_but_is_bool(but)) { return true; } + else if (UI_but_is_decorator(but)) { + return ELEM(but->icon, ICON_SPACE2, ICON_SPACE3, ICON_DOT); + } else { return false; } @@ -1284,6 +1287,9 @@ static bool ui_drag_toggle_but_is_pushed(uiBut *but) if (ui_but_is_bool(but)) { return ui_but_is_pushed(but); } + else if (UI_but_is_decorator(but)) { + return (but->icon == ICON_SPACE2); + } else { return false; } diff --git a/source/blender/editors/interface/interface_layout.c b/source/blender/editors/interface/interface_layout.c index b837062671b..8a333f607fa 100644 --- a/source/blender/editors/interface/interface_layout.c +++ b/source/blender/editors/interface/interface_layout.c @@ -1709,6 +1709,7 @@ void uiItemFullR(uiLayout *layout, PointerRNA *ptr, PropertyRNA *prop, int index block, UI_BTYPE_BUT, 0, ICON_DOT, 0, 0, UI_UNIT_X, UI_UNIT_Y, NULL, 0.0, 0.0, 0.0, 0.0, TIP_("Animate property")); UI_but_func_set(but, ui_but_anim_decorate_cb, but, NULL); + but->flag |= UI_BUT_DRAG_LOCK; } else { /* We may show other information here in future, for now use empty space. */