aboutsummaryrefslogtreecommitdiffstats
path: root/Copy Mailto/AppDelegate.m
diff options
context:
space:
mode:
authorTeddy Wing2018-09-06 00:10:03 +0200
committerTeddy Wing2018-09-06 00:10:03 +0200
commitd35983a3ace2d869aa478d107f475ca835b66e50 (patch)
tree810aae10eb11011af94a03f191776d6bbbb14702 /Copy Mailto/AppDelegate.m
parent4e2eea2beb2705e028226fe0300d17a7e223ec3c (diff)
downloadCopy-Mailto-d35983a3ace2d869aa478d107f475ca835b66e50.tar.bz2
Rename the project directory "CopyMailto" -> "Copy Mailto"
Diffstat (limited to 'Copy Mailto/AppDelegate.m')
-rw-r--r--Copy Mailto/AppDelegate.m42
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