summaryrefslogtreecommitdiffstats
path: root/Mac/OSX/PythonLauncher/MyAppDelegate.m
diff options
context:
space:
mode:
Diffstat (limited to 'Mac/OSX/PythonLauncher/MyAppDelegate.m')
-rw-r--r--Mac/OSX/PythonLauncher/MyAppDelegate.m96
1 files changed, 0 insertions, 96 deletions
diff --git a/Mac/OSX/PythonLauncher/MyAppDelegate.m b/Mac/OSX/PythonLauncher/MyAppDelegate.m
deleted file mode 100644
index a5ba751..0000000
--- a/Mac/OSX/PythonLauncher/MyAppDelegate.m
+++ /dev/null
@@ -1,96 +0,0 @@
-#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 immedeately 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