diff options
author | Joshua Leung <aligorith@gmail.com> | 2006-11-16 07:22:17 +0300 |
---|---|---|
committer | Joshua Leung <aligorith@gmail.com> | 2006-11-16 07:22:17 +0300 |
commit | 1e00c59c23203236a3accc00e260b6f094ff58aa (patch) | |
tree | 6fa525b3d2cd06543b042539704db60f7e01b948 /source/blender/src/editaction.c | |
parent | 1b3f368e84b0fba04c1a6ebf1e4b5d724d3fa8cf (diff) |
Action Editor Markers Bugfix:
Now it is possible to select multiple markers in action editor when doing
Shift + RMB click.
Diffstat (limited to 'source/blender/src/editaction.c')
-rw-r--r-- | source/blender/src/editaction.c | 34 |
1 files changed, 30 insertions, 4 deletions
diff --git a/source/blender/src/editaction.c b/source/blender/src/editaction.c index 03dfdc66e84..deb3ed6c18f 100644 --- a/source/blender/src/editaction.c +++ b/source/blender/src/editaction.c @@ -643,14 +643,18 @@ static void mouse_action(int selectmode) allqueue(REDRAWOOPS, 0); allqueue(REDRAWBUTSALL, 0); } - else if (marker != NULL) { + else if (marker) { /* not channel, so maybe marker */ - if (selectmode == SELECT_REPLACE) { - selectmode = SELECT_ADD; - + if (selectmode == SELECT_REPLACE) { deselect_saction_markers(markers, 0, 0); marker->flag |= SELECT; } + else if (selectmode == SELECT_INVERT) { + if (marker->flag & SELECT) + marker->flag &= ~SELECT; + else + marker->flag |= SELECT; + } else if (selectmode == SELECT_ADD) marker->flag |= SELECT; else if (selectmode == SELECT_SUBTRACT) @@ -724,6 +728,28 @@ static void mouse_mesh_action(int selectmode, Key *key) allqueue(REDRAWNLA, 0); } + else if (marker) { + /* not channel, so maybe marker */ + if (selectmode == SELECT_REPLACE) { + deselect_saction_markers(markers, 0, 0); + marker->flag |= SELECT; + } + else if (selectmode == SELECT_INVERT) { + if (marker->flag & SELECT) + marker->flag &= ~SELECT; + else + marker->flag |= SELECT; + } + else if (selectmode == SELECT_ADD) + marker->flag |= SELECT; + else if (selectmode == SELECT_SUBTRACT) + marker->flag &= ~SELECT; + + std_rmouse_transform(transform_saction_markers); + + allqueue(REDRAWACTION, 0); + allqueue(REDRAWTIME, 0); + } } void borderselect_action(void) |