@@ -49,27 +49,7 @@ private TrayIconManager()
4949 {
5050 _recognizerHolder = new ( ) ;
5151 _isTrayIconHidden = Configurations . HideTrayIcon . Get ( ) ;
52-
53- if ( Configurations . ModifiersAlt . Get ( ) )
54- {
55- _recognizerHolder . ModifiersRecognizer . ActivationModifiers
56- |= Gestures . Modifiers . GestureModifiers . Alt ;
57- }
58- if ( Configurations . ModifiersControl . Get ( ) )
59- {
60- _recognizerHolder . ModifiersRecognizer . ActivationModifiers
61- |= Gestures . Modifiers . GestureModifiers . Control ;
62- }
63- if ( Configurations . ModifiersShift . Get ( ) )
64- {
65- _recognizerHolder . ModifiersRecognizer . ActivationModifiers
66- |= Gestures . Modifiers . GestureModifiers . Shift ;
67- }
68- _recognizerHolder . ModifiersRecognizer . SetEnabled (
69- Configurations . ModifiersAlt . Get ( )
70- | Configurations . ModifiersControl . Get ( )
71- | Configurations . ModifiersShift . Get ( )
72- ) ;
52+ ApplyModifierConfiguration ( ) ;
7353
7454 _icon = new TrayIconHost
7555 {
@@ -142,50 +122,40 @@ private TrayIconManager()
142122 Configurations . ModifiersAlt . Set ( false ) ;
143123 Configurations . ModifiersControl . Set ( false ) ;
144124 Configurations . ModifiersShift . Set ( false ) ;
145-
146- GetInstance ( ) . _recognizerHolder . ModifiersRecognizer . SetEnabled ( false ) ;
125+ GetInstance ( ) . ApplyModifierConfiguration ( ) ;
147126 } ,
148127 } ,
149128 new TrayMenuItem
150129 {
151130 Tag = nameof ( SH . ModifiersAlt ) ,
152131 Header = SH . ModifiersAlt ,
153- IsChecked = true ,
132+ IsChecked = Configurations . ModifiersAlt . Get ( ) ,
154133 Command = static _ =>
155134 {
156135 Configurations . ModifiersAlt . Set ( ! Configurations . ModifiersAlt . Get ( ) ) ;
157-
158- GetInstance ( ) . _recognizerHolder . ModifiersRecognizer . ActivationModifiers
159- |= Gestures . Modifiers . GestureModifiers . Alt ;
160- GetInstance ( ) . _recognizerHolder . ModifiersRecognizer . SetEnabled ( true ) ;
136+ GetInstance ( ) . ApplyModifierConfiguration ( ) ;
161137 } ,
162138 } ,
163139 new TrayMenuItem
164140 {
165141 Tag = nameof ( SH . ModifiersControl ) ,
166142 Header = SH . ModifiersControl ,
167- IsChecked = false ,
143+ IsChecked = Configurations . ModifiersControl . Get ( ) ,
168144 Command = static _ =>
169145 {
170146 Configurations . ModifiersControl . Set ( ! Configurations . ModifiersControl . Get ( ) ) ;
171-
172- GetInstance ( ) . _recognizerHolder . ModifiersRecognizer . ActivationModifiers
173- |= Gestures . Modifiers . GestureModifiers . Control ;
174- GetInstance ( ) . _recognizerHolder . ModifiersRecognizer . SetEnabled ( true ) ;
147+ GetInstance ( ) . ApplyModifierConfiguration ( ) ;
175148 } ,
176149 } ,
177150 new TrayMenuItem
178151 {
179152 Tag = nameof ( SH . ModifiersShift ) ,
180153 Header = SH . ModifiersShift ,
181- IsChecked = false ,
154+ IsChecked = Configurations . ModifiersShift . Get ( ) ,
182155 Command = static _ =>
183156 {
184157 Configurations . ModifiersShift . Set ( ! Configurations . ModifiersShift . Get ( ) ) ;
185-
186- GetInstance ( ) . _recognizerHolder . ModifiersRecognizer . ActivationModifiers
187- |= Gestures . Modifiers . GestureModifiers . Shift ;
188- GetInstance ( ) . _recognizerHolder . ModifiersRecognizer . SetEnabled ( true ) ;
158+ GetInstance ( ) . ApplyModifierConfiguration ( ) ;
189159 } ,
190160 } ,
191161 ]
@@ -275,6 +245,31 @@ private void ApplyTrayIconVisibilityFromConfiguration()
275245 _icon . IsVisible = ! _isTrayIconHidden ;
276246 }
277247
248+ private void ApplyModifierConfiguration ( )
249+ {
250+ Gestures . Modifiers . GestureModifiers activationModifiers = Gestures . Modifiers . GestureModifiers . None ;
251+
252+ if ( Configurations . ModifiersAlt . Get ( ) )
253+ {
254+ activationModifiers |= Gestures . Modifiers . GestureModifiers . Alt ;
255+ }
256+
257+ if ( Configurations . ModifiersControl . Get ( ) )
258+ {
259+ activationModifiers |= Gestures . Modifiers . GestureModifiers . Control ;
260+ }
261+
262+ if ( Configurations . ModifiersShift . Get ( ) )
263+ {
264+ activationModifiers |= Gestures . Modifiers . GestureModifiers . Shift ;
265+ }
266+
267+ _recognizerHolder . ModifiersRecognizer . ActivationModifiers = activationModifiers ;
268+ _recognizerHolder . ModifiersRecognizer . SetEnabled (
269+ activationModifiers != Gestures . Modifiers . GestureModifiers . None
270+ ) ;
271+ }
272+
278273 private void OnTrayIconVisibilityWatcherTick ( object ? sender , EventArgs e )
279274 {
280275 bool isHiddenInRegistry = Configurations . HideTrayIcon . Get ( ) ;
0 commit comments