diff options
author | Teddy Wing | 2018-09-06 00:10:03 +0200 |
---|---|---|
committer | Teddy Wing | 2018-09-06 00:10:03 +0200 |
commit | d35983a3ace2d869aa478d107f475ca835b66e50 (patch) | |
tree | 810aae10eb11011af94a03f191776d6bbbb14702 /Copy Mailto/AppDelegate.m | |
parent | 4e2eea2beb2705e028226fe0300d17a7e223ec3c (diff) | |
download | Copy-Mailto-d35983a3ace2d869aa478d107f475ca835b66e50.tar.bz2 |
Rename the project directory "CopyMailto" -> "Copy Mailto"
Diffstat (limited to 'Copy Mailto/AppDelegate.m')
-rw-r--r-- | Copy Mailto/AppDelegate.m | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/Copy Mailto/AppDelegate.m b/Copy Mailto/AppDelegate.m new file mode 100644 index 0000000..752b716 --- /dev/null +++ b/Copy Mailto/AppDelegate.m @@ -0,0 +1,42 @@ +// +// AppDelegate.m +// CopyMailto +// +// Created by tw on 9/5/18. +// Copyright © 2018 tw. All rights reserved. +// + +#import "AppDelegate.h" + +const NSUInteger MAILTO_INDEX = 7; + +@implementation AppDelegate + +- (void)applicationWillFinishLaunching:(NSNotification *)aNotification { + [[NSAppleEventManager sharedAppleEventManager] + setEventHandler:self + andSelector:@selector(handleURLEvent:withReplyEvent:) + forEventClass:kInternetEventClass + andEventID:kAEGetURL]; +} + +- (void)handleURLEvent:(NSAppleEventDescriptor *)event + withReplyEvent: (NSAppleEventDescriptor *)replyEvent +{ + NSString *url = [[event paramDescriptorForKeyword:keyDirectObject] + stringValue]; + [_email_address setStringValue:[url substringFromIndex:MAILTO_INDEX]]; +} + +- (IBAction)copyEmailToClipboard:(id)sender +{ + NSPasteboard *pasteboard = [NSPasteboard generalPasteboard]; + [pasteboard clearContents]; + [pasteboard writeObjects: + [NSArray arrayWithObject: + [_email_address stringValue]]]; + + [NSApp terminate:self]; +} + +@end |