diff options
author | Campbell Barton <ideasman42@gmail.com> | 2010-03-08 14:10:04 +0300 |
---|---|---|
committer | Campbell Barton <ideasman42@gmail.com> | 2010-03-08 14:10:04 +0300 |
commit | 57eac3b3e3fdf156c6cd043ca93c4d4b90acabad (patch) | |
tree | 11e3a0d817be43ba871cbc5ae2b56fd33cc17a96 /source | |
parent | 3ddbd2abe54fed5a30de12e023b1461a46ac26f1 (diff) |
Ctrl+RMB support for selecting markers when sync markers is enabled.
Diffstat (limited to 'source')
-rw-r--r-- | source/blender/blenkernel/intern/scene.c | 2 | ||||
-rw-r--r-- | source/blender/editors/space_action/action_select.c | 19 |
2 files changed, 20 insertions, 1 deletions
diff --git a/source/blender/blenkernel/intern/scene.c b/source/blender/blenkernel/intern/scene.c index 630ddb49c7e..ca5efbef053 100644 --- a/source/blender/blenkernel/intern/scene.c +++ b/source/blender/blenkernel/intern/scene.c @@ -807,7 +807,7 @@ int scene_marker_tfm_extend(Scene *scene, int delta, int flag, int frame, char s for (marker= scene->markers.first; marker; marker= marker->next) { if ((marker->flag & flag) == flag) { - if((side=='L' && marker->frame < frame) || (side=='R' && marker->frame > frame)) { + if((side=='L' && marker->frame < frame) || (side=='R' && marker->frame >= frame)) { marker->frame += delta; tot++; } diff --git a/source/blender/editors/space_action/action_select.c b/source/blender/editors/space_action/action_select.c index 98caf1a25cb..e8e44fa3ebf 100644 --- a/source/blender/editors/space_action/action_select.c +++ b/source/blender/editors/space_action/action_select.c @@ -785,6 +785,25 @@ static void actkeys_mselect_leftright (bAnimContext *ac, short leftright, short ANIM_fcurve_keys_bezier_loop(&bed, ale->key_data, ok_cb, select_cb, NULL); } + /* Sync marker support */ + if((select_mode==SELECT_ADD) && (ac->spacetype==SPACE_ACTION) && ELEM(leftright, ACTKEYS_LRSEL_LEFT, ACTKEYS_LRSEL_RIGHT)) { + SpaceAction *saction= ac->sa->spacedata.first; + if (saction && saction->flag & SACTION_MARKERS_MOVE) { + TimeMarker *marker; + + for (marker= scene->markers.first; marker; marker= marker->next) { + if( ((leftright == ACTKEYS_LRSEL_LEFT) && marker->frame < CFRA) || + ((leftright == ACTKEYS_LRSEL_RIGHT) && marker->frame >= CFRA) + ) { + marker->flag |= SELECT; + } + else { + marker->flag &= ~SELECT; + } + } + } + } + /* Cleanup */ BLI_freelistN(&anim_data); } |