Fix [#29894] Selection in sequence editor does not de-select other strips
authorBastien Montagne <montagne29@wanadoo.fr>
Sat, 14 Jan 2012 22:59:51 +0000 (22:59 +0000)
committerBastien Montagne <montagne29@wanadoo.fr>
Sat, 14 Jan 2012 22:59:51 +0000 (22:59 +0000)
Another bunch of fixes for select keymaps (sequencer, node, nla, graph, action).

source/blender/editors/space_action/action_ops.c
source/blender/editors/space_graph/graph_ops.c
source/blender/editors/space_nla/nla_ops.c
source/blender/editors/space_node/node_ops.c
source/blender/editors/space_sequencer/sequencer_ops.c

index c3af35219184db27f5dd4ec757736e6788863beb..d4e44dee9c3dbac8a576d78a88754fb87b9d064a 100644 (file)
@@ -36,6 +36,7 @@
 #include "DNA_space_types.h"
 
 #include "BLI_blenlib.h"
+#include "BLI_utildefines.h"
 
 #include "ED_anim_api.h"
 #include "ED_markers.h"
@@ -110,32 +111,45 @@ static void action_keymap_keyframes (wmKeyConfig *keyconf, wmKeyMap *keymap)
        
        /* action_select.c - selection tools */
                /* click-select */
-       WM_keymap_add_item(keymap, "ACTION_OT_clickselect", SELECTMOUSE, KM_PRESS, 0, 0);
+       kmi = WM_keymap_add_item(keymap, "ACTION_OT_clickselect", SELECTMOUSE, KM_PRESS, 0, 0);
+               RNA_boolean_set(kmi->ptr, "extend", FALSE);
+               RNA_boolean_set(kmi->ptr, "column", FALSE);
        kmi= WM_keymap_add_item(keymap, "ACTION_OT_clickselect", SELECTMOUSE, KM_PRESS, KM_ALT, 0);
-               RNA_boolean_set(kmi->ptr, "column", 1);
+               RNA_boolean_set(kmi->ptr, "extend", FALSE);
+               RNA_boolean_set(kmi->ptr, "column", TRUE);
        kmi= WM_keymap_add_item(keymap, "ACTION_OT_clickselect", SELECTMOUSE, KM_PRESS, KM_SHIFT, 0);
-               RNA_boolean_set(kmi->ptr, "extend", 1);
+               RNA_boolean_set(kmi->ptr, "extend", TRUE);
+               RNA_boolean_set(kmi->ptr, "column", FALSE);
        kmi= WM_keymap_add_item(keymap, "ACTION_OT_clickselect", SELECTMOUSE, KM_PRESS, KM_ALT|KM_SHIFT, 0);
-               RNA_boolean_set(kmi->ptr, "extend", 1);
-               RNA_boolean_set(kmi->ptr, "column", 1);
+               RNA_boolean_set(kmi->ptr, "extend", TRUE);
+               RNA_boolean_set(kmi->ptr, "column", TRUE);
                
                /* select left/right */
-       WM_keymap_add_item(keymap, "ACTION_OT_select_leftright", SELECTMOUSE, KM_PRESS, KM_CTRL, 0);
+       kmi = WM_keymap_add_item(keymap, "ACTION_OT_select_leftright", SELECTMOUSE, KM_PRESS, KM_CTRL, 0);
+               RNA_boolean_set(kmi->ptr, "extend", FALSE);
+               RNA_enum_set(kmi->ptr, "mode", ACTKEYS_LRSEL_TEST);
        kmi= WM_keymap_add_item(keymap, "ACTION_OT_select_leftright", SELECTMOUSE, KM_PRESS, KM_CTRL|KM_SHIFT, 0);
-               RNA_boolean_set(kmi->ptr, "extend", 1);
+               RNA_boolean_set(kmi->ptr, "extend", TRUE);
+               RNA_enum_set(kmi->ptr, "mode", ACTKEYS_LRSEL_TEST);
        
        kmi= WM_keymap_add_item(keymap, "ACTION_OT_select_leftright", LEFTBRACKETKEY, KM_PRESS, 0, 0);
+               RNA_boolean_set(kmi->ptr, "extend", FALSE);
                RNA_enum_set(kmi->ptr, "mode", ACTKEYS_LRSEL_LEFT);
        kmi= WM_keymap_add_item(keymap, "ACTION_OT_select_leftright", RIGHTBRACKETKEY, KM_PRESS, 0, 0);
+               RNA_boolean_set(kmi->ptr, "extend", FALSE);
                RNA_enum_set(kmi->ptr, "mode", ACTKEYS_LRSEL_RIGHT);
        
                /* deselect all */
-       WM_keymap_add_item(keymap, "ACTION_OT_select_all_toggle", AKEY, KM_PRESS, 0, 0);
-       RNA_boolean_set(WM_keymap_add_item(keymap, "ACTION_OT_select_all_toggle", IKEY, KM_PRESS, KM_CTRL, 0)->ptr, "invert", 1);
+       kmi = WM_keymap_add_item(keymap, "ACTION_OT_select_all_toggle", AKEY, KM_PRESS, 0, 0);
+               RNA_boolean_set(kmi->ptr, "invert", FALSE);
+       kmi = WM_keymap_add_item(keymap, "ACTION_OT_select_all_toggle", IKEY, KM_PRESS, KM_CTRL, 0);
+               RNA_boolean_set(kmi->ptr, "invert", TRUE);
        
                /* borderselect */
-       WM_keymap_add_item(keymap, "ACTION_OT_select_border", BKEY, KM_PRESS, 0, 0);
-       RNA_boolean_set(WM_keymap_add_item(keymap, "ACTION_OT_select_border", BKEY, KM_PRESS, KM_ALT, 0)->ptr, "axis_range", 1);
+       kmi = WM_keymap_add_item(keymap, "ACTION_OT_select_border", BKEY, KM_PRESS, 0, 0);
+               RNA_boolean_set(kmi->ptr, "axis_range", FALSE);
+       kmi = WM_keymap_add_item(keymap, "ACTION_OT_select_border", BKEY, KM_PRESS, KM_ALT, 0);
+               RNA_boolean_set(kmi->ptr, "axis_range", TRUE);
        
                /* column select */
        RNA_enum_set(WM_keymap_add_item(keymap, "ACTION_OT_select_column", KKEY, KM_PRESS, 0, 0)->ptr, "mode", ACTKEYS_COLUMNSEL_KEYS);
index eecf62421c831637bb1b9a673882d10e03434fe0..5c39da94ecdc401246843d8f5e63ff327b136870 100644 (file)
@@ -269,44 +269,66 @@ static void graphedit_keymap_keyframes (wmKeyConfig *keyconf, wmKeyMap *keymap)
        
        /* graph_select.c - selection tools */
                /* click-select */
-       WM_keymap_add_item(keymap, "GRAPH_OT_clickselect", SELECTMOUSE, KM_PRESS, 0, 0);
+       kmi = WM_keymap_add_item(keymap, "GRAPH_OT_clickselect", SELECTMOUSE, KM_PRESS, 0, 0);
+               RNA_boolean_set(kmi->ptr, "extend", FALSE);
+               RNA_boolean_set(kmi->ptr, "curves", FALSE);
+               RNA_boolean_set(kmi->ptr, "column", FALSE);
        kmi= WM_keymap_add_item(keymap, "GRAPH_OT_clickselect", SELECTMOUSE, KM_PRESS, KM_ALT, 0);
-               RNA_boolean_set(kmi->ptr, "column", 1);
+               RNA_boolean_set(kmi->ptr, "extend", FALSE);
+               RNA_boolean_set(kmi->ptr, "curves", FALSE);
+               RNA_boolean_set(kmi->ptr, "column", TRUE);
        kmi= WM_keymap_add_item(keymap, "GRAPH_OT_clickselect", SELECTMOUSE, KM_PRESS, KM_SHIFT, 0);
-               RNA_boolean_set(kmi->ptr, "extend", 1);
+               RNA_boolean_set(kmi->ptr, "extend", TRUE);
+               RNA_boolean_set(kmi->ptr, "curves", FALSE);
+               RNA_boolean_set(kmi->ptr, "column", FALSE);
        kmi= WM_keymap_add_item(keymap, "GRAPH_OT_clickselect", SELECTMOUSE, KM_PRESS, KM_ALT|KM_SHIFT, 0);
-               RNA_boolean_set(kmi->ptr, "extend", 1);
-               RNA_boolean_set(kmi->ptr, "column", 1);
+               RNA_boolean_set(kmi->ptr, "extend", TRUE);
+               RNA_boolean_set(kmi->ptr, "curves", FALSE);
+               RNA_boolean_set(kmi->ptr, "column", TRUE);
        kmi= WM_keymap_add_item(keymap, "GRAPH_OT_clickselect", SELECTMOUSE, KM_PRESS, KM_CTRL|KM_ALT, 0);
-               RNA_boolean_set(kmi->ptr, "curves", 1);
+               RNA_boolean_set(kmi->ptr, "extend", FALSE);
+               RNA_boolean_set(kmi->ptr, "curves", TRUE);
+               RNA_boolean_set(kmi->ptr, "column", FALSE);
        kmi= WM_keymap_add_item(keymap, "GRAPH_OT_clickselect", SELECTMOUSE, KM_PRESS, KM_CTRL|KM_ALT|KM_SHIFT, 0);
-               RNA_boolean_set(kmi->ptr, "curves", 1);
-               RNA_boolean_set(kmi->ptr, "extend", 1);
+               RNA_boolean_set(kmi->ptr, "extend", TRUE);
+               RNA_boolean_set(kmi->ptr, "curves", TRUE);
+               RNA_boolean_set(kmi->ptr, "column", FALSE);
        
        /* select left/right */
        WM_keymap_add_item(keymap, "GRAPH_OT_select_leftright", SELECTMOUSE, KM_PRESS, KM_CTRL, 0);
+               RNA_boolean_set(kmi->ptr, "extend", FALSE);
+               RNA_enum_set(kmi->ptr, "mode", GRAPHKEYS_LRSEL_TEST);
        kmi= WM_keymap_add_item(keymap, "GRAPH_OT_select_leftright", SELECTMOUSE, KM_PRESS, KM_CTRL|KM_SHIFT, 0);
-               RNA_boolean_set(kmi->ptr, "extend", 1);
+               RNA_boolean_set(kmi->ptr, "extend", TRUE);
+               RNA_enum_set(kmi->ptr, "mode", GRAPHKEYS_LRSEL_TEST);
        
        kmi= WM_keymap_add_item(keymap, "GRAPH_OT_select_leftright", LEFTBRACKETKEY, KM_PRESS, 0, 0);
+               RNA_boolean_set(kmi->ptr, "extend", FALSE);
                RNA_enum_set(kmi->ptr, "mode", GRAPHKEYS_LRSEL_LEFT);
        kmi= WM_keymap_add_item(keymap, "GRAPH_OT_select_leftright", RIGHTBRACKETKEY, KM_PRESS, 0, 0);
+               RNA_boolean_set(kmi->ptr, "extend", FALSE);
                RNA_enum_set(kmi->ptr, "mode", GRAPHKEYS_LRSEL_RIGHT);
        
                /* deselect all */
-       WM_keymap_add_item(keymap, "GRAPH_OT_select_all_toggle", AKEY, KM_PRESS, 0, 0);
-       RNA_boolean_set(WM_keymap_add_item(keymap, "GRAPH_OT_select_all_toggle", IKEY, KM_PRESS, KM_CTRL, 0)->ptr, "invert", 1);
+       kmi = WM_keymap_add_item(keymap, "GRAPH_OT_select_all_toggle", AKEY, KM_PRESS, 0, 0);
+               RNA_boolean_set(kmi->ptr, "invert", FALSE);
+       kmi = WM_keymap_add_item(keymap, "GRAPH_OT_select_all_toggle", IKEY, KM_PRESS, KM_CTRL, 0);
+               RNA_boolean_set(kmi->ptr, "invert", TRUE);
        
                /* borderselect */
-       WM_keymap_add_item(keymap, "GRAPH_OT_select_border", BKEY, KM_PRESS, 0, 0);
+       kmi = WM_keymap_add_item(keymap, "GRAPH_OT_select_border", BKEY, KM_PRESS, 0, 0);
+               RNA_boolean_set(kmi->ptr, "axis_range", FALSE);
+               RNA_boolean_set(kmi->ptr, "include_handles", FALSE);
        kmi = WM_keymap_add_item(keymap, "GRAPH_OT_select_border", BKEY, KM_PRESS, KM_ALT, 0);
-               RNA_boolean_set(kmi->ptr, "axis_range", 1);
+               RNA_boolean_set(kmi->ptr, "axis_range", TRUE);
+               RNA_boolean_set(kmi->ptr, "include_handles", FALSE);
                
        kmi = WM_keymap_add_item(keymap, "GRAPH_OT_select_border", BKEY, KM_PRESS, KM_CTRL, 0);
-               RNA_boolean_set(kmi->ptr, "include_handles", 1);
+               RNA_boolean_set(kmi->ptr, "axis_range", FALSE);
+               RNA_boolean_set(kmi->ptr, "include_handles", TRUE);
        kmi = WM_keymap_add_item(keymap, "GRAPH_OT_select_border", BKEY, KM_PRESS, KM_CTRL|KM_ALT, 0);
-               RNA_boolean_set(kmi->ptr, "axis_range", 1);
-               RNA_boolean_set(kmi->ptr, "include_handles", 1);
+               RNA_boolean_set(kmi->ptr, "axis_range", TRUE);
+               RNA_boolean_set(kmi->ptr, "include_handles", TRUE);
                
                /* column select */
        RNA_enum_set(WM_keymap_add_item(keymap, "GRAPH_OT_select_column", KKEY, KM_PRESS, 0, 0)->ptr, "mode", GRAPHKEYS_COLUMNSEL_KEYS);
index 821e302c13dd904be66b19cd115d22ba6b2314ce..f173a3d383599919c5764ae797e01425139069fe 100644 (file)
@@ -192,28 +192,39 @@ static void nla_keymap_main (wmKeyConfig *keyconf, wmKeyMap *keymap)
        
        /* selection */
                /* click select */
-       WM_keymap_add_item(keymap, "NLA_OT_click_select", SELECTMOUSE, KM_PRESS, 0, 0);
+       kmi = WM_keymap_add_item(keymap, "NLA_OT_click_select", SELECTMOUSE, KM_PRESS, 0, 0);
+               RNA_boolean_set(kmi->ptr, "extend", FALSE);
        kmi= WM_keymap_add_item(keymap, "NLA_OT_click_select", SELECTMOUSE, KM_PRESS, KM_SHIFT, 0);
-               RNA_boolean_set(kmi->ptr, "extend", 1);
+               RNA_boolean_set(kmi->ptr, "extend", TRUE);
                
                /* select left/right */
-       WM_keymap_add_item(keymap, "NLA_OT_select_leftright", SELECTMOUSE, KM_PRESS, KM_CTRL, 0);
+       kmi = WM_keymap_add_item(keymap, "NLA_OT_select_leftright", SELECTMOUSE, KM_PRESS, KM_CTRL, 0);
+               RNA_boolean_set(kmi->ptr, "extend", FALSE);
+               RNA_enum_set(kmi->ptr, "mode", NLAEDIT_LRSEL_TEST);
        kmi= WM_keymap_add_item(keymap, "NLA_OT_select_leftright", SELECTMOUSE, KM_PRESS, KM_CTRL|KM_SHIFT, 0);
-               RNA_boolean_set(kmi->ptr, "extend", 1);
+               RNA_boolean_set(kmi->ptr, "extend", TRUE);
+               RNA_enum_set(kmi->ptr, "mode", NLAEDIT_LRSEL_TEST);
        
        kmi= WM_keymap_add_item(keymap, "NLA_OT_select_leftright", LEFTBRACKETKEY, KM_PRESS, 0, 0);
+               RNA_boolean_set(kmi->ptr, "extend", FALSE);
                RNA_enum_set(kmi->ptr, "mode", NLAEDIT_LRSEL_LEFT);
        kmi= WM_keymap_add_item(keymap, "NLA_OT_select_leftright", RIGHTBRACKETKEY, KM_PRESS, 0, 0);
+               RNA_boolean_set(kmi->ptr, "extend", FALSE);
                RNA_enum_set(kmi->ptr, "mode", NLAEDIT_LRSEL_RIGHT);
                
        
                /* deselect all */
-       WM_keymap_add_item(keymap, "NLA_OT_select_all_toggle", AKEY, KM_PRESS, 0, 0);
-       RNA_boolean_set(WM_keymap_add_item(keymap, "NLA_OT_select_all_toggle", IKEY, KM_PRESS, KM_CTRL, 0)->ptr, "invert", 1);
+               /* TODO: uniformize with other select_all ops? */
+       kmi = WM_keymap_add_item(keymap, "NLA_OT_select_all_toggle", AKEY, KM_PRESS, 0, 0);
+               RNA_boolean_set(kmi->ptr, "invert", FALSE);
+       kmi = WM_keymap_add_item(keymap, "NLA_OT_select_all_toggle", IKEY, KM_PRESS, KM_CTRL, 0);
+               RNA_boolean_set(kmi->ptr, "invert", TRUE);
        
                /* borderselect */
-       WM_keymap_add_item(keymap, "NLA_OT_select_border", BKEY, KM_PRESS, 0, 0);
-       RNA_boolean_set(WM_keymap_add_item(keymap, "NLA_OT_select_border", BKEY, KM_PRESS, KM_ALT, 0)->ptr, "axis_range", 1);
+       kmi = WM_keymap_add_item(keymap, "NLA_OT_select_border", BKEY, KM_PRESS, 0, 0);
+               RNA_boolean_set(kmi->ptr, "axis_range", FALSE);
+       kmi = WM_keymap_add_item(keymap, "NLA_OT_select_border", BKEY, KM_PRESS, KM_ALT, 0);
+               RNA_boolean_set(kmi->ptr, "axis_range", TRUE);
        
        /* view*/
                /* auto-set range */
index b5c435b50e86e6967557323f206f2c0e8cbe27f6..b71776f4266f1c4269f61f3f236f569355e98e01 100644 (file)
@@ -34,6 +34,8 @@
 
 #include "BKE_context.h"
 
+#include "BLI_utildefines.h"
+
 #include "ED_node.h"
 #include "ED_screen.h"
 #include "ED_transform.h"
@@ -138,12 +140,14 @@ void node_keymap(struct wmKeyConfig *keyconf)
        /* mouse select in nodes used to be both keys, but perhaps this should be reduced? 
         * NOTE: mouse-clicks on left-mouse will fall through to allow transform-tweak, but also link/resize
         */
-       WM_keymap_add_item(keymap, "NODE_OT_select", ACTIONMOUSE, KM_PRESS, 0, 0);
-       WM_keymap_add_item(keymap, "NODE_OT_select", SELECTMOUSE, KM_PRESS, 0, 0);
+       kmi = WM_keymap_add_item(keymap, "NODE_OT_select", ACTIONMOUSE, KM_PRESS, 0, 0);
+               RNA_boolean_set(kmi->ptr, "extend", FALSE);
+       kmi = WM_keymap_add_item(keymap, "NODE_OT_select", SELECTMOUSE, KM_PRESS, 0, 0);
+               RNA_boolean_set(kmi->ptr, "extend", FALSE);
        kmi= WM_keymap_add_item(keymap, "NODE_OT_select", ACTIONMOUSE, KM_PRESS, KM_SHIFT, 0);
-               RNA_boolean_set(kmi->ptr, "extend", 1);
+               RNA_boolean_set(kmi->ptr, "extend", TRUE);
        kmi= WM_keymap_add_item(keymap, "NODE_OT_select", SELECTMOUSE, KM_PRESS, KM_SHIFT, 0);
-               RNA_boolean_set(kmi->ptr, "extend", 1);
+               RNA_boolean_set(kmi->ptr, "extend", TRUE);
        RNA_boolean_set(WM_keymap_add_item(keymap, "NODE_OT_select_border", EVT_TWEAK_S, KM_ANY, 0, 0)->ptr, "tweak", 1);
        
        /* each of these falls through if not handled... */
index 883a09ff32887222763e4e07b5d4792786b4b4a9..a6d8b6c2612d3b609a89e8cd5c71875122b5f80b 100644 (file)
@@ -132,17 +132,23 @@ void sequencer_keymap(wmKeyConfig *keyconf)
        
        WM_keymap_add_item(keymap, "SEQUENCER_OT_properties", NKEY, KM_PRESS, 0, 0);
        
-       WM_keymap_add_item(keymap, "SEQUENCER_OT_select_all", AKEY, KM_PRESS, 0, 0);
-       RNA_enum_set(WM_keymap_add_item(keymap, "SEQUENCER_OT_select_all", IKEY, KM_PRESS, KM_CTRL, 0)->ptr, "action", SEL_INVERT);
+       kmi = WM_keymap_add_item(keymap, "SEQUENCER_OT_select_all", AKEY, KM_PRESS, 0, 0);
+               RNA_enum_set(kmi->ptr, "action", SEL_TOGGLE);
+       kmi = WM_keymap_add_item(keymap, "SEQUENCER_OT_select_all", IKEY, KM_PRESS, KM_CTRL, 0);
+               RNA_enum_set(kmi->ptr, "action", SEL_INVERT);
        
        RNA_enum_set(WM_keymap_add_item(keymap, "SEQUENCER_OT_cut", KKEY, KM_PRESS, 0, 0)->ptr, "type", SEQ_CUT_SOFT);
        RNA_enum_set(WM_keymap_add_item(keymap, "SEQUENCER_OT_cut", KKEY, KM_PRESS, KM_SHIFT, 0)->ptr, "type", SEQ_CUT_HARD);
        
-       WM_keymap_add_item(keymap, "SEQUENCER_OT_mute", HKEY, KM_PRESS, 0, 0);
-       RNA_boolean_set(WM_keymap_add_item(keymap, "SEQUENCER_OT_mute", HKEY, KM_PRESS, KM_SHIFT, 0)->ptr, "unselected", 1);
+       kmi = WM_keymap_add_item(keymap, "SEQUENCER_OT_mute", HKEY, KM_PRESS, 0, 0);
+               RNA_boolean_set(kmi->ptr, "unselected", FALSE);
+       kmi = WM_keymap_add_item(keymap, "SEQUENCER_OT_mute", HKEY, KM_PRESS, KM_SHIFT, 0);
+               RNA_boolean_set(kmi->ptr, "unselected", TRUE);
        
-       WM_keymap_add_item(keymap, "SEQUENCER_OT_unmute", HKEY, KM_PRESS, KM_ALT, 0);
-       RNA_boolean_set(WM_keymap_add_item(keymap, "SEQUENCER_OT_unmute", HKEY, KM_PRESS, KM_ALT|KM_SHIFT, 0)->ptr, "unselected", 1);
+       kmi = WM_keymap_add_item(keymap, "SEQUENCER_OT_unmute", HKEY, KM_PRESS, KM_ALT, 0);
+               RNA_boolean_set(kmi->ptr, "unselected", FALSE);
+       kmi = WM_keymap_add_item(keymap, "SEQUENCER_OT_unmute", HKEY, KM_PRESS, KM_ALT|KM_SHIFT, 0);
+               RNA_boolean_set(kmi->ptr, "unselected", TRUE);
 
        WM_keymap_add_item(keymap, "SEQUENCER_OT_lock", LKEY, KM_PRESS, KM_SHIFT, 0);
        WM_keymap_add_item(keymap, "SEQUENCER_OT_unlock", LKEY, KM_PRESS, KM_SHIFT|KM_ALT, 0);
@@ -192,8 +198,16 @@ void sequencer_keymap(wmKeyConfig *keyconf)
        }
 
        /* Mouse selection, a bit verbose :/ */
-       WM_keymap_add_item(keymap, "SEQUENCER_OT_select", SELECTMOUSE, KM_PRESS, 0, 0);
-       RNA_boolean_set(WM_keymap_add_item(keymap, "SEQUENCER_OT_select", SELECTMOUSE, KM_PRESS, KM_SHIFT, 0)->ptr, "extend", 1);
+       kmi = WM_keymap_add_item(keymap, "SEQUENCER_OT_select", SELECTMOUSE, KM_PRESS, 0, 0);
+               RNA_boolean_set(kmi->ptr, "extend", FALSE);
+               RNA_boolean_set(kmi->ptr, "linked_handle", FALSE);
+               RNA_boolean_set(kmi->ptr, "left_right", FALSE);
+               RNA_boolean_set(kmi->ptr, "linked_time", FALSE);
+       kmi = WM_keymap_add_item(keymap, "SEQUENCER_OT_select", SELECTMOUSE, KM_PRESS, KM_SHIFT, 0);
+               RNA_boolean_set(kmi->ptr, "extend", TRUE);
+               RNA_boolean_set(kmi->ptr, "linked_handle", FALSE);
+               RNA_boolean_set(kmi->ptr, "left_right", FALSE);
+               RNA_boolean_set(kmi->ptr, "linked_time", FALSE);
 
 
        /* 2.4x method, now use Alt for handles and select the side based on which handle was selected */
@@ -220,21 +234,31 @@ void sequencer_keymap(wmKeyConfig *keyconf)
         */
 
        /* 2.5 method, Alt and use selected handle */
-       RNA_boolean_set(WM_keymap_add_item(keymap, "SEQUENCER_OT_select", SELECTMOUSE, KM_PRESS, KM_ALT, 0)->ptr, "linked_handle", 1);
+       kmi = WM_keymap_add_item(keymap, "SEQUENCER_OT_select", SELECTMOUSE, KM_PRESS, KM_ALT, 0);
+               RNA_boolean_set(kmi->ptr, "extend", FALSE);
+               RNA_boolean_set(kmi->ptr, "linked_handle", TRUE);
+               RNA_boolean_set(kmi->ptr, "left_right", FALSE);
+               RNA_boolean_set(kmi->ptr, "linked_time", FALSE);
 
        kmi= WM_keymap_add_item(keymap, "SEQUENCER_OT_select", SELECTMOUSE, KM_PRESS, KM_SHIFT|KM_ALT, 0);
-       RNA_boolean_set(kmi->ptr, "extend", 1);
-       RNA_boolean_set(kmi->ptr, "linked_handle", 1);
+               RNA_boolean_set(kmi->ptr, "extend", TRUE);
+               RNA_boolean_set(kmi->ptr, "linked_handle", TRUE);
+               RNA_boolean_set(kmi->ptr, "left_right", FALSE);
+               RNA_boolean_set(kmi->ptr, "linked_time", FALSE);
 
        /* match action editor */
        kmi= WM_keymap_add_item(keymap, "SEQUENCER_OT_select", SELECTMOUSE, KM_PRESS, KM_CTRL, 0);
-       RNA_boolean_set(kmi->ptr, "left_right", 1); /* grr, these conflict - only use left_right if not over an active seq */
-       RNA_boolean_set(kmi->ptr, "linked_time", 1);
+               RNA_boolean_set(kmi->ptr, "extend", FALSE);
+               RNA_boolean_set(kmi->ptr, "linked_handle", FALSE);
+               RNA_boolean_set(kmi->ptr, "left_right", TRUE); /* grr, these conflict - only use left_right if not over an active seq */
+               RNA_boolean_set(kmi->ptr, "linked_time", TRUE);
        /* adjusted since 2.4 */
 
        kmi= WM_keymap_add_item(keymap, "SEQUENCER_OT_select", SELECTMOUSE, KM_PRESS, KM_SHIFT|KM_CTRL, 0);
-       RNA_boolean_set(kmi->ptr, "extend", 1);
-       RNA_boolean_set(kmi->ptr, "linked_time", 1);
+               RNA_boolean_set(kmi->ptr, "extend", TRUE);
+               RNA_boolean_set(kmi->ptr, "linked_handle", FALSE);
+               RNA_boolean_set(kmi->ptr, "left_right", FALSE);
+               RNA_boolean_set(kmi->ptr, "linked_time", TRUE);
 
        WM_keymap_add_item(keymap, "SEQUENCER_OT_select_more", PADPLUSKEY, KM_PRESS, KM_CTRL, 0);
        WM_keymap_add_item(keymap, "SEQUENCER_OT_select_less", PADMINUS, KM_PRESS, KM_CTRL, 0);