From 1e00c59c23203236a3accc00e260b6f094ff58aa Mon Sep 17 00:00:00 2001 From: Joshua Leung Date: Thu, 16 Nov 2006 04:22:17 +0000 Subject: [PATCH] Action Editor Markers Bugfix: Now it is possible to select multiple markers in action editor when doing Shift + RMB click. --- source/blender/src/editaction.c | 34 +++++++++++++++++++++++++++++---- 1 file 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)