@@ -14,11 +14,6 @@ use crate::{
14
14
window:: { Window , WindowBuilder } ,
15
15
} ;
16
16
17
- use cocoa:: appkit:: {
18
- NSApplicationActivationPolicy , NSApplicationActivationPolicyAccessory ,
19
- NSApplicationActivationPolicyProhibited , NSApplicationActivationPolicyRegular ,
20
- } ;
21
-
22
17
/// Additional methods on `Window` that are specific to MacOS.
23
18
pub trait WindowExtMacOS {
24
19
/// Returns a pointer to the cocoa `NSWindow` that is used by this window.
@@ -189,16 +184,6 @@ impl Default for ActivationPolicy {
189
184
}
190
185
}
191
186
192
- impl From < ActivationPolicy > for NSApplicationActivationPolicy {
193
- fn from ( act_pol : ActivationPolicy ) -> Self {
194
- match act_pol {
195
- ActivationPolicy :: Regular => NSApplicationActivationPolicyRegular ,
196
- ActivationPolicy :: Accessory => NSApplicationActivationPolicyAccessory ,
197
- ActivationPolicy :: Prohibited => NSApplicationActivationPolicyProhibited ,
198
- }
199
- }
200
- }
201
-
202
187
/// Additional methods on `WindowBuilder` that are specific to MacOS.
203
188
///
204
189
/// **Note:** Properties dealing with the titlebar will be overwritten by the `with_decorations` method
@@ -421,9 +406,17 @@ impl<T> EventLoopWindowTargetExtMacOS for EventLoopWindowTarget<T> {
421
406
}
422
407
423
408
fn set_activation_policy_at_runtime ( & self , activation_policy : ActivationPolicy ) {
409
+ use cocoa:: appkit;
410
+
424
411
let cls = objc:: runtime:: Class :: get ( "NSApplication" ) . unwrap ( ) ;
425
412
let app: cocoa:: base:: id = unsafe { msg_send ! [ cls, sharedApplication] } ;
426
- let ns_activation_policy: NSApplicationActivationPolicy = activation_policy. into ( ) ;
413
+
414
+ let ns_activation_policy = match activation_policy {
415
+ ActivationPolicy :: Regular => appkit:: NSApplicationActivationPolicyRegular ,
416
+ ActivationPolicy :: Accessory => appkit:: NSApplicationActivationPolicyAccessory ,
417
+ ActivationPolicy :: Prohibited => appkit:: NSApplicationActivationPolicyProhibited ,
418
+ } ;
419
+
427
420
unsafe { msg_send ! [ app, setActivationPolicy: ns_activation_policy] }
428
421
}
429
422
0 commit comments