From d35983a3ace2d869aa478d107f475ca835b66e50 Mon Sep 17 00:00:00 2001 From: Teddy Wing Date: Thu, 6 Sep 2018 00:10:03 +0200 Subject: Rename the project directory "CopyMailto" -> "Copy Mailto" --- Copy Mailto/AppDelegate.h | 20 ++++ Copy Mailto/AppDelegate.m | 42 +++++++ .../AppIcon.appiconset/Contents.json | 58 ++++++++++ Copy Mailto/Base.lproj/MainMenu.xib | 125 +++++++++++++++++++++ Copy Mailto/CopyMailto.entitlements | 5 + Copy Mailto/DefaultURLHandler.h | 15 +++ Copy Mailto/DefaultURLHandler.m | 24 ++++ Copy Mailto/Info.plist | 43 +++++++ Copy Mailto/QuitButton.h | 16 +++ Copy Mailto/QuitButton.m | 22 ++++ Copy Mailto/main.m | 19 ++++ CopyMailto/AppDelegate.h | 20 ---- CopyMailto/AppDelegate.m | 42 ------- .../AppIcon.appiconset/Contents.json | 58 ---------- CopyMailto/Base.lproj/MainMenu.xib | 125 --------------------- CopyMailto/CopyMailto.entitlements | 5 - CopyMailto/DefaultURLHandler.h | 15 --- CopyMailto/DefaultURLHandler.m | 24 ---- CopyMailto/Info.plist | 43 ------- CopyMailto/QuitButton.h | 16 --- CopyMailto/QuitButton.m | 22 ---- CopyMailto/main.m | 19 ---- 22 files changed, 389 insertions(+), 389 deletions(-) create mode 100644 Copy Mailto/AppDelegate.h create mode 100644 Copy Mailto/AppDelegate.m create mode 100644 Copy Mailto/Assets.xcassets/AppIcon.appiconset/Contents.json create mode 100644 Copy Mailto/Base.lproj/MainMenu.xib create mode 100644 Copy Mailto/CopyMailto.entitlements create mode 100644 Copy Mailto/DefaultURLHandler.h create mode 100644 Copy Mailto/DefaultURLHandler.m create mode 100644 Copy Mailto/Info.plist create mode 100644 Copy Mailto/QuitButton.h create mode 100644 Copy Mailto/QuitButton.m create mode 100644 Copy Mailto/main.m delete mode 100644 CopyMailto/AppDelegate.h delete mode 100644 CopyMailto/AppDelegate.m delete mode 100644 CopyMailto/Assets.xcassets/AppIcon.appiconset/Contents.json delete mode 100644 CopyMailto/Base.lproj/MainMenu.xib delete mode 100644 CopyMailto/CopyMailto.entitlements delete mode 100644 CopyMailto/DefaultURLHandler.h delete mode 100644 CopyMailto/DefaultURLHandler.m delete mode 100644 CopyMailto/Info.plist delete mode 100644 CopyMailto/QuitButton.h delete mode 100644 CopyMailto/QuitButton.m delete mode 100644 CopyMailto/main.m diff --git a/Copy Mailto/AppDelegate.h b/Copy Mailto/AppDelegate.h new file mode 100644 index 0000000..7ba86b3 --- /dev/null +++ b/Copy Mailto/AppDelegate.h @@ -0,0 +1,20 @@ +// +// AppDelegate.h +// CopyMailto +// +// Created by tw on 9/5/18. +// Copyright © 2018 tw. All rights reserved. +// + +#import + +@interface AppDelegate : NSObject { + IBOutlet NSWindow *_window; + IBOutlet NSTextField *_email_address; +} + +- (void)handleURLEvent:(NSAppleEventDescriptor *)event + withReplyEvent: (NSAppleEventDescriptor *)replyEvent; +- (IBAction)copyEmailToClipboard:(id)sender; + +@end 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 diff --git a/Copy Mailto/Assets.xcassets/AppIcon.appiconset/Contents.json b/Copy Mailto/Assets.xcassets/AppIcon.appiconset/Contents.json new file mode 100644 index 0000000..2db2b1c --- /dev/null +++ b/Copy Mailto/Assets.xcassets/AppIcon.appiconset/Contents.json @@ -0,0 +1,58 @@ +{ + "images" : [ + { + "idiom" : "mac", + "size" : "16x16", + "scale" : "1x" + }, + { + "idiom" : "mac", + "size" : "16x16", + "scale" : "2x" + }, + { + "idiom" : "mac", + "size" : "32x32", + "scale" : "1x" + }, + { + "idiom" : "mac", + "size" : "32x32", + "scale" : "2x" + }, + { + "idiom" : "mac", + "size" : "128x128", + "scale" : "1x" + }, + { + "idiom" : "mac", + "size" : "128x128", + "scale" : "2x" + }, + { + "idiom" : "mac", + "size" : "256x256", + "scale" : "1x" + }, + { + "idiom" : "mac", + "size" : "256x256", + "scale" : "2x" + }, + { + "idiom" : "mac", + "size" : "512x512", + "scale" : "1x" + }, + { + "idiom" : "mac", + "size" : "512x512", + "scale" : "2x" + } + ], + "info" : { + "version" : 1, + "author" : "xcode" + } +} \ No newline at end of file diff --git a/Copy Mailto/Base.lproj/MainMenu.xib b/Copy Mailto/Base.lproj/MainMenu.xib new file mode 100644 index 0000000..263596f --- /dev/null +++ b/Copy Mailto/Base.lproj/MainMenu.xib @@ -0,0 +1,125 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Copy Mailto/CopyMailto.entitlements b/Copy Mailto/CopyMailto.entitlements new file mode 100644 index 0000000..0c67376 --- /dev/null +++ b/Copy Mailto/CopyMailto.entitlements @@ -0,0 +1,5 @@ + + + + + diff --git a/Copy Mailto/DefaultURLHandler.h b/Copy Mailto/DefaultURLHandler.h new file mode 100644 index 0000000..dc09ffc --- /dev/null +++ b/Copy Mailto/DefaultURLHandler.h @@ -0,0 +1,15 @@ +// +// DefaultURLHandler.h +// CopyMailto +// +// Created by tw on 9/5/18. +// Copyright © 2018 tw. All rights reserved. +// + +#import + +@interface DefaultURLHandler : NSObject + ++ (OSStatus)setDefaultURLHandler; + +@end diff --git a/Copy Mailto/DefaultURLHandler.m b/Copy Mailto/DefaultURLHandler.m new file mode 100644 index 0000000..424a0ee --- /dev/null +++ b/Copy Mailto/DefaultURLHandler.m @@ -0,0 +1,24 @@ +// +// DefaultURLHandler.m +// CopyMailto +// +// Created by tw on 9/5/18. +// Copyright © 2018 tw. All rights reserved. +// + +#import "DefaultURLHandler.h" + +@implementation DefaultURLHandler + ++ (OSStatus)setDefaultURLHandler { + CFStringRef scheme = (CFStringRef)@"mailto"; + CFStringRef bundle_identifier = (__bridge CFStringRef)[[NSBundle mainBundle] bundleIdentifier]; + + OSStatus status = LSSetDefaultHandlerForURLScheme(scheme, bundle_identifier); + + CFRelease(scheme); + + return status; +} + +@end diff --git a/Copy Mailto/Info.plist b/Copy Mailto/Info.plist new file mode 100644 index 0000000..9e3f4b1 --- /dev/null +++ b/Copy Mailto/Info.plist @@ -0,0 +1,43 @@ + + + + + CFBundleDevelopmentRegion + $(DEVELOPMENT_LANGUAGE) + CFBundleExecutable + $(EXECUTABLE_NAME) + CFBundleIconFile + + CFBundleIdentifier + $(PRODUCT_BUNDLE_IDENTIFIER) + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + $(PRODUCT_NAME) + CFBundlePackageType + APPL + CFBundleShortVersionString + 1.0 + CFBundleVersion + 1 + LSMinimumSystemVersion + $(MACOSX_DEPLOYMENT_TARGET) + NSHumanReadableCopyright + Copyright © 2018 tw. All rights reserved. + NSMainNibFile + MainMenu + NSPrincipalClass + NSApplication + CFBundleURLTypes + + + CFBundleURLName + com.teddywing.CopyMailto + CFBundleURLSchemes + + mailto + + + + + diff --git a/Copy Mailto/QuitButton.h b/Copy Mailto/QuitButton.h new file mode 100644 index 0000000..73c2e9d --- /dev/null +++ b/Copy Mailto/QuitButton.h @@ -0,0 +1,16 @@ +// +// QuitButton.h +// CopyMailto +// +// Created by tw on 9/5/18. +// Copyright © 2018 tw. All rights reserved. +// + +#import +#import + +@interface QuitButton : NSButton + +- (void)keyDown:(NSEvent *)theEvent; + +@end diff --git a/Copy Mailto/QuitButton.m b/Copy Mailto/QuitButton.m new file mode 100644 index 0000000..8b8bb52 --- /dev/null +++ b/Copy Mailto/QuitButton.m @@ -0,0 +1,22 @@ +// +// QuitButton.m +// CopyMailto +// +// Created by tw on 9/5/18. +// Copyright © 2018 tw. All rights reserved. +// + +#import "QuitButton.h" + +@implementation QuitButton + +// Quit the application on "q" or "Escape" +- (void)keyDown:(NSEvent *)theEvent +{ + if ([[theEvent characters] isEqualToString:@"q"] || + [theEvent keyCode] == kVK_Escape) { + [NSApp terminate:self]; + } +} + +@end diff --git a/Copy Mailto/main.m b/Copy Mailto/main.m new file mode 100644 index 0000000..e61f04e --- /dev/null +++ b/Copy Mailto/main.m @@ -0,0 +1,19 @@ +// +// main.m +// CopyMailto +// +// Created by tw on 9/5/18. +// Copyright © 2018 tw. All rights reserved. +// + +#import + +#import "DefaultURLHandler.h" + +int main(int argc, const char * argv[]) { + if (argc == 2 && strcmp(argv[1], "--set-url-handler") == 0) { + return [DefaultURLHandler setDefaultURLHandler]; + } + + return NSApplicationMain(argc, argv); +} diff --git a/CopyMailto/AppDelegate.h b/CopyMailto/AppDelegate.h deleted file mode 100644 index 7ba86b3..0000000 --- a/CopyMailto/AppDelegate.h +++ /dev/null @@ -1,20 +0,0 @@ -// -// AppDelegate.h -// CopyMailto -// -// Created by tw on 9/5/18. -// Copyright © 2018 tw. All rights reserved. -// - -#import - -@interface AppDelegate : NSObject { - IBOutlet NSWindow *_window; - IBOutlet NSTextField *_email_address; -} - -- (void)handleURLEvent:(NSAppleEventDescriptor *)event - withReplyEvent: (NSAppleEventDescriptor *)replyEvent; -- (IBAction)copyEmailToClipboard:(id)sender; - -@end diff --git a/CopyMailto/AppDelegate.m b/CopyMailto/AppDelegate.m deleted file mode 100644 index 752b716..0000000 --- a/CopyMailto/AppDelegate.m +++ /dev/null @@ -1,42 +0,0 @@ -// -// 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 diff --git a/CopyMailto/Assets.xcassets/AppIcon.appiconset/Contents.json b/CopyMailto/Assets.xcassets/AppIcon.appiconset/Contents.json deleted file mode 100644 index 2db2b1c..0000000 --- a/CopyMailto/Assets.xcassets/AppIcon.appiconset/Contents.json +++ /dev/null @@ -1,58 +0,0 @@ -{ - "images" : [ - { - "idiom" : "mac", - "size" : "16x16", - "scale" : "1x" - }, - { - "idiom" : "mac", - "size" : "16x16", - "scale" : "2x" - }, - { - "idiom" : "mac", - "size" : "32x32", - "scale" : "1x" - }, - { - "idiom" : "mac", - "size" : "32x32", - "scale" : "2x" - }, - { - "idiom" : "mac", - "size" : "128x128", - "scale" : "1x" - }, - { - "idiom" : "mac", - "size" : "128x128", - "scale" : "2x" - }, - { - "idiom" : "mac", - "size" : "256x256", - "scale" : "1x" - }, - { - "idiom" : "mac", - "size" : "256x256", - "scale" : "2x" - }, - { - "idiom" : "mac", - "size" : "512x512", - "scale" : "1x" - }, - { - "idiom" : "mac", - "size" : "512x512", - "scale" : "2x" - } - ], - "info" : { - "version" : 1, - "author" : "xcode" - } -} \ No newline at end of file diff --git a/CopyMailto/Base.lproj/MainMenu.xib b/CopyMailto/Base.lproj/MainMenu.xib deleted file mode 100644 index 263596f..0000000 --- a/CopyMailto/Base.lproj/MainMenu.xib +++ /dev/null @@ -1,125 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/CopyMailto/CopyMailto.entitlements b/CopyMailto/CopyMailto.entitlements deleted file mode 100644 index 0c67376..0000000 --- a/CopyMailto/CopyMailto.entitlements +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/CopyMailto/DefaultURLHandler.h b/CopyMailto/DefaultURLHandler.h deleted file mode 100644 index dc09ffc..0000000 --- a/CopyMailto/DefaultURLHandler.h +++ /dev/null @@ -1,15 +0,0 @@ -// -// DefaultURLHandler.h -// CopyMailto -// -// Created by tw on 9/5/18. -// Copyright © 2018 tw. All rights reserved. -// - -#import - -@interface DefaultURLHandler : NSObject - -+ (OSStatus)setDefaultURLHandler; - -@end diff --git a/CopyMailto/DefaultURLHandler.m b/CopyMailto/DefaultURLHandler.m deleted file mode 100644 index 424a0ee..0000000 --- a/CopyMailto/DefaultURLHandler.m +++ /dev/null @@ -1,24 +0,0 @@ -// -// DefaultURLHandler.m -// CopyMailto -// -// Created by tw on 9/5/18. -// Copyright © 2018 tw. All rights reserved. -// - -#import "DefaultURLHandler.h" - -@implementation DefaultURLHandler - -+ (OSStatus)setDefaultURLHandler { - CFStringRef scheme = (CFStringRef)@"mailto"; - CFStringRef bundle_identifier = (__bridge CFStringRef)[[NSBundle mainBundle] bundleIdentifier]; - - OSStatus status = LSSetDefaultHandlerForURLScheme(scheme, bundle_identifier); - - CFRelease(scheme); - - return status; -} - -@end diff --git a/CopyMailto/Info.plist b/CopyMailto/Info.plist deleted file mode 100644 index 9e3f4b1..0000000 --- a/CopyMailto/Info.plist +++ /dev/null @@ -1,43 +0,0 @@ - - - - - CFBundleDevelopmentRegion - $(DEVELOPMENT_LANGUAGE) - CFBundleExecutable - $(EXECUTABLE_NAME) - CFBundleIconFile - - CFBundleIdentifier - $(PRODUCT_BUNDLE_IDENTIFIER) - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - $(PRODUCT_NAME) - CFBundlePackageType - APPL - CFBundleShortVersionString - 1.0 - CFBundleVersion - 1 - LSMinimumSystemVersion - $(MACOSX_DEPLOYMENT_TARGET) - NSHumanReadableCopyright - Copyright © 2018 tw. All rights reserved. - NSMainNibFile - MainMenu - NSPrincipalClass - NSApplication - CFBundleURLTypes - - - CFBundleURLName - com.teddywing.CopyMailto - CFBundleURLSchemes - - mailto - - - - - diff --git a/CopyMailto/QuitButton.h b/CopyMailto/QuitButton.h deleted file mode 100644 index 73c2e9d..0000000 --- a/CopyMailto/QuitButton.h +++ /dev/null @@ -1,16 +0,0 @@ -// -// QuitButton.h -// CopyMailto -// -// Created by tw on 9/5/18. -// Copyright © 2018 tw. All rights reserved. -// - -#import -#import - -@interface QuitButton : NSButton - -- (void)keyDown:(NSEvent *)theEvent; - -@end diff --git a/CopyMailto/QuitButton.m b/CopyMailto/QuitButton.m deleted file mode 100644 index 8b8bb52..0000000 --- a/CopyMailto/QuitButton.m +++ /dev/null @@ -1,22 +0,0 @@ -// -// QuitButton.m -// CopyMailto -// -// Created by tw on 9/5/18. -// Copyright © 2018 tw. All rights reserved. -// - -#import "QuitButton.h" - -@implementation QuitButton - -// Quit the application on "q" or "Escape" -- (void)keyDown:(NSEvent *)theEvent -{ - if ([[theEvent characters] isEqualToString:@"q"] || - [theEvent keyCode] == kVK_Escape) { - [NSApp terminate:self]; - } -} - -@end diff --git a/CopyMailto/main.m b/CopyMailto/main.m deleted file mode 100644 index e61f04e..0000000 --- a/CopyMailto/main.m +++ /dev/null @@ -1,19 +0,0 @@ -// -// main.m -// CopyMailto -// -// Created by tw on 9/5/18. -// Copyright © 2018 tw. All rights reserved. -// - -#import - -#import "DefaultURLHandler.h" - -int main(int argc, const char * argv[]) { - if (argc == 2 && strcmp(argv[1], "--set-url-handler") == 0) { - return [DefaultURLHandler setDefaultURLHandler]; - } - - return NSApplicationMain(argc, argv); -} -- cgit v1.2.3