summaryrefslogtreecommitdiffstats
path: root/DDHotKeyAppDelegate.m
diff options
context:
space:
mode:
Diffstat (limited to 'DDHotKeyAppDelegate.m')
-rw-r--r--DDHotKeyAppDelegate.m92
1 files changed, 72 insertions, 20 deletions
diff --git a/DDHotKeyAppDelegate.m b/DDHotKeyAppDelegate.m
index a091fc6..888bf32 100644
--- a/DDHotKeyAppDelegate.m
+++ b/DDHotKeyAppDelegate.m
@@ -11,35 +11,87 @@
@implementation DDHotKeyAppDelegate
-@synthesize window;
+@synthesize window, output;
- (void)applicationDidFinishLaunching:(NSNotification *)aNotification {
// Insert code here to initialize your application
-
- DDHotKeyCenter * center = [[DDHotKeyCenter alloc] init];
-
- [center registerHotKeyWithTarget:self action:@selector(hotkeyWithEvent:) object:nil keyCode:9 modifierFlags:NSControlKeyMask];
- [center registerHotKeyWithTarget:self action:@selector(hotkeyWithEvent:object:) object:@"foo!" keyCode:9 modifierFlags:(NSControlKeyMask | NSAlternateKeyMask)];
-
- int theAnswer = 42;
- [center registerHotKeyWithBlock:^(NSEvent *hkEvent) {
- NSLog(@"Firing block hotkey");
- NSLog(@"Hotkey event: %@", hkEvent);
- NSLog(@"the answer is: %d", theAnswer);
- } keyCode:9 modifierFlags:(NSControlKeyMask | NSAlternateKeyMask | NSCommandKeyMask)];
-
- [center release];
+}
+
+- (void) addOutput:(NSString *)newOutput {
+ NSString * current = [output string];
+ [output setString:[current stringByAppendingFormat:@"%@\n", newOutput]];
+ [output scrollRangeToVisible:NSMakeRange([[output string] length], 0)];
}
- (void) hotkeyWithEvent:(NSEvent *)hkEvent {
- NSLog(@"Firing -[%@ %@]", NSStringFromClass([self class]), NSStringFromSelector(_cmd));
- NSLog(@"Hotkey event: %@", hkEvent);
+ [self addOutput:[NSString stringWithFormat:@"Firing -[%@ %@]", NSStringFromClass([self class]), NSStringFromSelector(_cmd)]];
+ [self addOutput:[NSString stringWithFormat:@"Hotkey event: %@", hkEvent]];
}
- (void) hotkeyWithEvent:(NSEvent *)hkEvent object:(id)anObject {
- NSLog(@"Firing -[%@ %@]", NSStringFromClass([self class]), NSStringFromSelector(_cmd));
- NSLog(@"Hotkey event: %@", hkEvent);
- NSLog(@"Object: %@", anObject);
+ [self addOutput:[NSString stringWithFormat:@"Firing -[%@ %@]", NSStringFromClass([self class]), NSStringFromSelector(_cmd)]];
+ [self addOutput:[NSString stringWithFormat:@"Hotkey event: %@", hkEvent]];
+ [self addOutput:[NSString stringWithFormat:@"Object: %@", anObject]];
+}
+
+- (IBAction) registerExample1:(id)sender {
+ [self addOutput:@"Attempting to register hotkey for example 1"];
+ DDHotKeyCenter * c = [[DDHotKeyCenter alloc] init];
+ if (![c registerHotKeyWithTarget:self action:@selector(hotkeyWithEvent:) object:nil keyCode:9 modifierFlags:NSControlKeyMask]) {
+ [self addOutput:@"Unable to register hotkey for example 1"];
+ } else {
+ [self addOutput:@"Registered hotkey for example 1"];
+ }
+ [c release];
+}
+
+- (IBAction) registerExample2:(id)sender {
+ [self addOutput:@"Attempting to register hotkey for example 2"];
+ DDHotKeyCenter * c = [[DDHotKeyCenter alloc] init];
+ if (![c registerHotKeyWithTarget:self action:@selector(hotkeyWithEvent:object:) object:@"hello, world!" keyCode:9 modifierFlags:(NSControlKeyMask | NSAlternateKeyMask)]) {
+ [self addOutput:@"Unable to register hotkey for example 2"];
+ } else {
+ [self addOutput:@"Registered hotkey for example 2"];
+ }
+ [c release];
+}
+
+- (IBAction) registerExample3:(id)sender {
+ [self addOutput:@"Attempting to register hotkey for example 3"];
+ DDHotKeyCenter * c = [[DDHotKeyCenter alloc] init];
+ int theAnswer = 42;
+ DDHotKeyTask task = ^(NSEvent *hkEvent) {
+ [self addOutput:@"Firing block hotkey"];
+ [self addOutput:[NSString stringWithFormat:@"Hotkey event: %@", hkEvent]];
+ [self addOutput:[NSString stringWithFormat:@"the answer is: %d", theAnswer]];
+ };
+ if (![c registerHotKeyWithBlock:task keyCode:9 modifierFlags:(NSControlKeyMask | NSAlternateKeyMask | NSCommandKeyMask)]) {
+ [self addOutput:@"Unable to register hotkey for example 3"];
+ } else {
+ [self addOutput:@"Registered hotkey for example 3"];
+ }
+ [c release];
+}
+
+- (IBAction) unregisterExample1:(id)sender {
+ DDHotKeyCenter * c = [[DDHotKeyCenter alloc] init];
+ [c unregisterHotKeyWithKeyCode:9 modifierFlags:NSControlKeyMask];
+ [self addOutput:@"Unregistered hotkey for example 1"];
+ [c release];
+}
+
+- (IBAction) unregisterExample2:(id)sender {
+ DDHotKeyCenter * c = [[DDHotKeyCenter alloc] init];
+ [c unregisterHotKeyWithKeyCode:9 modifierFlags:(NSControlKeyMask | NSAlternateKeyMask)];
+ [self addOutput:@"Unregistered hotkey for example 2"];
+ [c release];
+}
+
+- (IBAction) unregisterExample3:(id)sender {
+ DDHotKeyCenter * c = [[DDHotKeyCenter alloc] init];
+ [c unregisterHotKeyWithKeyCode:9 modifierFlags:(NSControlKeyMask | NSAlternateKeyMask | NSCommandKeyMask)];
+ [self addOutput:@"Unregistered hotkey for example 3"];
+ [c release];
}
@end