#import "MyAppDelegate.h"#import "PreferencesWindowController.h"#import <Carbon/Carbon.h>#import <ApplicationServices/ApplicationServices.h>@implementation MyAppDelegate- (id)init{self = [super init];initial_action_done = NO;should_terminate = NO;return self;}- (IBAction)showPreferences:(id)sender{[PreferencesWindowController getPreferencesWindow];}- (void)applicationDidFinishLaunching:(NSNotification *)notification{// Test that the file mappings are correct[self testFileTypeBinding];// If we were opened because of a file drag or doubleclick// we've set initial_action_done in shouldShowUI// Otherwise we open a preferences dialog.if (!initial_action_done) {initial_action_done = YES;[self showPreferences: self];}}- (BOOL)shouldShowUI{// if this call comes before applicationDidFinishLaunching: we// should terminate immediately after starting the script.if (!initial_action_done)should_terminate = YES;initial_action_done = YES;if( GetCurrentKeyModifiers() & optionKey )return YES;return NO;}- (BOOL)shouldTerminate{return should_terminate;}- (BOOL)applicationShouldOpenUntitledFile:(NSApplication *)sender{return NO;}- (void)testFileTypeBinding{NSURL *ourUrl;OSStatus err;FSRef appRef;NSURL *appUrl;static NSString *extensions[] = { @"py", @"pyw", @"pyc", NULL};NSString **ext_p;int i;if ([[NSUserDefaults standardUserDefaults] boolForKey: @"SkipFileBindingTest"])return;ourUrl = [NSURL fileURLWithPath: [[NSBundle mainBundle] bundlePath]];for( ext_p = extensions; *ext_p; ext_p++ ) {err = LSGetApplicationForInfo(kLSUnknownType,kLSUnknownCreator,(CFStringRef)*ext_p,kLSRolesViewer,&appRef,(CFURLRef *)&appUrl);if (err || ![appUrl isEqual: ourUrl] ) {i = NSRunAlertPanel(@"File type binding",@"PythonLauncher is not the default application for all " \@"Python script types. You should fix this with the " \@"Finder's \"Get Info\" command.\n\n" \@"See \"Changing the application that opens a file\" in " \@"Mac Help for details.",@"OK",@"Don't show this warning again",NULL);if ( i == 0 ) { // Don't show again[[NSUserDefaults standardUserDefaults]setObject:@"YES" forKey:@"SkipFileBindingTest"];}return;}}}@end
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。