aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--CopyMailto.xcodeproj/project.pbxproj6
-rw-r--r--CopyMailto/Base.lproj/MainMenu.xib8
-rw-r--r--CopyMailto/QuitButton.h16
-rw-r--r--CopyMailto/QuitButton.m22
4 files changed, 45 insertions, 7 deletions
diff --git a/CopyMailto.xcodeproj/project.pbxproj b/CopyMailto.xcodeproj/project.pbxproj
index 26d3983..1861805 100644
--- a/CopyMailto.xcodeproj/project.pbxproj
+++ b/CopyMailto.xcodeproj/project.pbxproj
@@ -12,6 +12,7 @@
D1F1710121402BB200BD08A0 /* MainMenu.xib in Resources */ = {isa = PBXBuildFile; fileRef = D1F170FF21402BB200BD08A0 /* MainMenu.xib */; };
D1F1710421402BB300BD08A0 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = D1F1710321402BB300BD08A0 /* main.m */; };
D1F1710D21403F7B00BD08A0 /* DefaultURLHandler.m in Sources */ = {isa = PBXBuildFile; fileRef = D1F1710C21403F7B00BD08A0 /* DefaultURLHandler.m */; };
+ D1F17110214071D600BD08A0 /* QuitButton.m in Sources */ = {isa = PBXBuildFile; fileRef = D1F1710F214071D600BD08A0 /* QuitButton.m */; };
/* End PBXBuildFile section */
/* Begin PBXFileReference section */
@@ -25,6 +26,8 @@
D1F1710521402BB400BD08A0 /* CopyMailto.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = CopyMailto.entitlements; sourceTree = "<group>"; };
D1F1710B21403F7B00BD08A0 /* DefaultURLHandler.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = DefaultURLHandler.h; sourceTree = "<group>"; };
D1F1710C21403F7B00BD08A0 /* DefaultURLHandler.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = DefaultURLHandler.m; sourceTree = "<group>"; };
+ D1F1710E214071D600BD08A0 /* QuitButton.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = QuitButton.h; sourceTree = "<group>"; };
+ D1F1710F214071D600BD08A0 /* QuitButton.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = QuitButton.m; sourceTree = "<group>"; };
/* End PBXFileReference section */
/* Begin PBXFrameworksBuildPhase section */
@@ -59,6 +62,8 @@
children = (
D1F170FA21402BB000BD08A0 /* AppDelegate.h */,
D1F170FB21402BB100BD08A0 /* AppDelegate.m */,
+ D1F1710E214071D600BD08A0 /* QuitButton.h */,
+ D1F1710F214071D600BD08A0 /* QuitButton.m */,
D1F170FD21402BB100BD08A0 /* Assets.xcassets */,
D1F170FF21402BB200BD08A0 /* MainMenu.xib */,
D1F1710221402BB300BD08A0 /* Info.plist */,
@@ -147,6 +152,7 @@
files = (
D1F1710421402BB300BD08A0 /* main.m in Sources */,
D1F1710D21403F7B00BD08A0 /* DefaultURLHandler.m in Sources */,
+ D1F17110214071D600BD08A0 /* QuitButton.m in Sources */,
D1F170FC21402BB100BD08A0 /* AppDelegate.m in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
diff --git a/CopyMailto/Base.lproj/MainMenu.xib b/CopyMailto/Base.lproj/MainMenu.xib
index 9fd9f26..8b9ca42 100644
--- a/CopyMailto/Base.lproj/MainMenu.xib
+++ b/CopyMailto/Base.lproj/MainMenu.xib
@@ -107,19 +107,13 @@ DQ
<action selector="copyEmailToClipboard:" target="Voe-Tx-rLC" id="uX1-7A-IwJ"/>
</connections>
</button>
- <button verticalHuggingPriority="750" misplaced="YES" id="dF9-KQ-ymU">
+ <button verticalHuggingPriority="750" misplaced="YES" id="dF9-KQ-ymU" customClass="QuitButton">
<rect key="frame" x="328" y="13" width="66" height="32"/>
<autoresizingMask key="autoresizingMask" flexibleMinX="YES" flexibleMaxY="YES"/>
<buttonCell key="cell" type="push" title="Quit" bezelStyle="rounded" alignment="center" borderStyle="border" imageScaling="proportionallyDown" inset="2" id="aJz-qw-lxS">
<behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
<font key="font" metaFont="system"/>
- <string key="keyEquivalent" base64-UTF8="YES">
-Gw
-</string>
</buttonCell>
- <connections>
- <action selector="terminate:" target="-1" id="M3t-iK-CjQ"/>
- </connections>
</button>
</subviews>
</view>
diff --git a/CopyMailto/QuitButton.h b/CopyMailto/QuitButton.h
new file mode 100644
index 0000000..73c2e9d
--- /dev/null
+++ b/CopyMailto/QuitButton.h
@@ -0,0 +1,16 @@
+//
+// QuitButton.h
+// CopyMailto
+//
+// Created by tw on 9/5/18.
+// Copyright © 2018 tw. All rights reserved.
+//
+
+#import <Cocoa/Cocoa.h>
+#import <Carbon/Carbon.h>
+
+@interface QuitButton : NSButton
+
+- (void)keyDown:(NSEvent *)theEvent;
+
+@end
diff --git a/CopyMailto/QuitButton.m b/CopyMailto/QuitButton.m
new file mode 100644
index 0000000..8b8bb52
--- /dev/null
+++ b/CopyMailto/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