@@ -13,17 +13,27 @@ public class SelectionGestures
1313 /// <summary>Disable selection gestures.</summary>
1414 public static readonly SelectionGestures None = new SelectionGestures ( MouseAction . None ) ;
1515
16- public SelectionGestures ( MouseAction mouseAction )
16+ public SelectionGestures ( MouseAction mouseAction , bool ignoreModifierKeysOnRelease )
1717 {
1818 Replace = new MouseGesture ( mouseAction ) ;
19- Remove = new MouseGesture ( mouseAction , ModifierKeys . Alt ) ;
20- Append = new MouseGesture ( mouseAction , ModifierKeys . Shift ) ;
21- Invert = new MouseGesture ( mouseAction , ModifierKeys . Control ) ;
19+ Remove = new MouseGesture ( mouseAction , ModifierKeys . Alt , ignoreModifierKeysOnRelease ) ;
20+ Append = new MouseGesture ( mouseAction , ModifierKeys . Shift , ignoreModifierKeysOnRelease ) ;
21+ Invert = new MouseGesture ( mouseAction , ModifierKeys . Control , ignoreModifierKeysOnRelease ) ;
2222 Select = new AnyGesture ( Replace , Remove , Append , Invert ) ;
2323 Cancel = new KeyGesture ( Key . Escape ) ;
2424 }
2525
26- public SelectionGestures ( ) : this ( MouseAction . LeftClick )
26+ public SelectionGestures ( MouseAction mouseAction )
27+ : this ( mouseAction , true )
28+ {
29+ }
30+
31+ public SelectionGestures ( bool ignoreModifierKeysOnRelease )
32+ : this ( MouseAction . LeftClick , ignoreModifierKeysOnRelease )
33+ {
34+ }
35+
36+ public SelectionGestures ( ) : this ( true )
2737 {
2838 }
2939
@@ -73,8 +83,7 @@ public ItemContainerGestures()
7383 Selection . Replace ,
7484 Selection . Remove ,
7585 Selection . Append ,
76- Selection . Invert ,
77- new MouseGesture ( MouseAction . RightClick ) ) ;
86+ Selection . Invert ) ;
7887
7988 Drag = new AnyGesture ( Selection . Replace , Selection . Remove , Selection . Append , Selection . Invert ) ;
8089 CancelAction = new AnyGesture ( new MouseGesture ( MouseAction . RightClick ) , new KeyGesture ( Key . Escape ) ) ;
@@ -110,12 +119,12 @@ public class NodifyEditorGestures
110119 public NodifyEditorGestures ( )
111120 {
112121 Selection = new SelectionGestures ( ) ;
113- Cutting = new MouseGesture ( MouseAction . LeftClick , ModifierKeys . Alt | ModifierKeys . Shift ) ;
114- PushItems = new MouseGesture ( MouseAction . LeftClick , ModifierKeys . Control | ModifierKeys . Shift ) ;
122+ Cutting = new MouseGesture ( MouseAction . LeftClick , ModifierKeys . Alt | ModifierKeys . Shift , true ) ;
123+ PushItems = new MouseGesture ( MouseAction . LeftClick , ModifierKeys . Control | ModifierKeys . Shift , true ) ;
115124 Pan = new AnyGesture ( new MouseGesture ( MouseAction . RightClick ) , new MouseGesture ( MouseAction . MiddleClick ) ) ;
116125 ZoomModifierKey = ModifierKeys . None ;
117- ZoomIn = new MultiGesture ( MultiGesture . Match . Any , new KeyGesture ( Key . OemPlus , ModifierKeys . Control ) , new KeyGesture ( Key . Add , ModifierKeys . Control ) ) ;
118- ZoomOut = new MultiGesture ( MultiGesture . Match . Any , new KeyGesture ( Key . OemMinus , ModifierKeys . Control ) , new KeyGesture ( Key . Subtract , ModifierKeys . Control ) ) ;
126+ ZoomIn = new AnyGesture ( new KeyGesture ( Key . OemPlus , ModifierKeys . Control ) , new KeyGesture ( Key . Add , ModifierKeys . Control ) ) ;
127+ ZoomOut = new AnyGesture ( new KeyGesture ( Key . OemMinus , ModifierKeys . Control ) , new KeyGesture ( Key . Subtract , ModifierKeys . Control ) ) ;
119128 ResetViewportLocation = new KeyGesture ( Key . Home ) ;
120129 FitToScreen = new KeyGesture ( Key . Home , ModifierKeys . Shift ) ;
121130 CancelAction = new AnyGesture ( new MouseGesture ( MouseAction . RightClick ) , new KeyGesture ( Key . Escape ) ) ;
0 commit comments