diff options
-rw-r--r-- | release/scripts/startup/bl_ui/space_dopesheet.py | 4 | ||||
-rw-r--r-- | source/blender/editors/animation/anim_channels_edit.c | 21 |
2 files changed, 22 insertions, 3 deletions
diff --git a/release/scripts/startup/bl_ui/space_dopesheet.py b/release/scripts/startup/bl_ui/space_dopesheet.py index 5a73ff094a2..a09e263fd87 100644 --- a/release/scripts/startup/bl_ui/space_dopesheet.py +++ b/release/scripts/startup/bl_ui/space_dopesheet.py @@ -542,8 +542,8 @@ class DOPESHEET_MT_gpencil_channel(Menu): # layout.operator("anim.channels_expand") # layout.operator("anim.channels_collapse") - # layout.separator() - #layout.operator_menu_enum("anim.channels_move", "direction", text="Move...") + layout.separator() + layout.operator_menu_enum("anim.channels_move", "direction", text="Move...") class DOPESHEET_MT_gpencil_frame(Menu): diff --git a/source/blender/editors/animation/anim_channels_edit.c b/source/blender/editors/animation/anim_channels_edit.c index b7ed20d9ec5..35c743a3af3 100644 --- a/source/blender/editors/animation/anim_channels_edit.c +++ b/source/blender/editors/animation/anim_channels_edit.c @@ -898,6 +898,23 @@ static AnimChanRearrangeFp rearrange_get_mode_func(eRearrangeAnimChan_Mode mode) } } +/* get rearranging function, given 'rearrange' mode (grease pencil is inverted) */ +static AnimChanRearrangeFp rearrange_gpencil_get_mode_func(eRearrangeAnimChan_Mode mode) +{ + switch (mode) { + case REARRANGE_ANIMCHAN_TOP: + return rearrange_island_bottom; + case REARRANGE_ANIMCHAN_UP: + return rearrange_island_down; + case REARRANGE_ANIMCHAN_DOWN: + return rearrange_island_up; + case REARRANGE_ANIMCHAN_BOTTOM: + return rearrange_island_top; + default: + return NULL; + } +} + /* Rearrange Islands Generics ------------------------------------- */ /* add channel into list of islands */ @@ -1331,7 +1348,7 @@ static void rearrange_gpencil_channels(bAnimContext *ac, eRearrangeAnimChan_Mode int filter; /* get rearranging function */ - AnimChanRearrangeFp rearrange_func = rearrange_get_mode_func(mode); + AnimChanRearrangeFp rearrange_func = rearrange_gpencil_get_mode_func(mode); if (rearrange_func == NULL) { return; @@ -1364,6 +1381,8 @@ static void rearrange_gpencil_channels(bAnimContext *ac, eRearrangeAnimChan_Mode /* free GPD channel data */ ANIM_animdata_freelist(&anim_data); + + WM_main_add_notifier(NC_GPENCIL | ND_DATA | NA_EDITED, NULL); } /* ------------------- */ |