From b6b106b9456e42e105d65ff8ea2a4425595ab25c Mon Sep 17 00:00:00 2001
From: Teddy Wing
Date: Wed, 5 Sep 2018 21:30:00 +0200
Subject: Add a "Copy" button that copies the email address to the clipboard
Thanks to these references:
- https://stackoverflow.com/questions/5686958/set-string-to-pasteboard-copy-paste-in-cocoa-application/5687005#5687005
- https://developer.apple.com/library/archive/documentation/Cocoa/Conceptual/PasteboardGuide106/Articles/pbCopying.html
---
 CopyMailto/AppDelegate.h           |  1 +
 CopyMailto/AppDelegate.m           |  9 +++++++++
 CopyMailto/Base.lproj/MainMenu.xib | 14 ++++++++++++++
 3 files changed, 24 insertions(+)
diff --git a/CopyMailto/AppDelegate.h b/CopyMailto/AppDelegate.h
index 321d100..7ba86b3 100644
--- a/CopyMailto/AppDelegate.h
+++ b/CopyMailto/AppDelegate.h
@@ -15,5 +15,6 @@
 
 - (void)handleURLEvent:(NSAppleEventDescriptor *)event
     withReplyEvent: (NSAppleEventDescriptor *)replyEvent;
+- (IBAction)copyEmailToClipboard:(id)sender;
 
 @end
diff --git a/CopyMailto/AppDelegate.m b/CopyMailto/AppDelegate.m
index 6f3477d..5eb04c5 100644
--- a/CopyMailto/AppDelegate.m
+++ b/CopyMailto/AppDelegate.m
@@ -33,4 +33,13 @@ const NSUInteger MAILTO_INDEX = 7;
     [_email_address setStringValue:[url substringFromIndex:MAILTO_INDEX]];
 }
 
+- (IBAction)copyEmailToClipboard:(id)sender
+{
+    NSPasteboard *pasteboard = [NSPasteboard generalPasteboard];
+    [pasteboard clearContents];
+    [pasteboard writeObjects:
+        [NSArray arrayWithObject:
+            [_email_address stringValue]]];
+}
+
 @end
diff --git a/CopyMailto/Base.lproj/MainMenu.xib b/CopyMailto/Base.lproj/MainMenu.xib
index e3f79a2..ce6197b 100644
--- a/CopyMailto/Base.lproj/MainMenu.xib
+++ b/CopyMailto/Base.lproj/MainMenu.xib
@@ -108,6 +108,20 @@ Gw
                             
                         
                     
+                    
                 
             
             
-- 
cgit v1.2.3