From 96fbecd1c85eab2e8810c5a5b1fefd095b8bc696 Mon Sep 17 00:00:00 2001 From: hi im zvaehn Date: Thu, 16 Apr 2015 21:06:03 +0200 Subject: [PATCH 1/4] Implemented option to toggle the visibility of the seconds and a flashing time seperator. --- PreferencesWindowController.h | 4 + PreferencesWindowController.m | 4 + PreferencesWindowController.xib | 180 ++++++++++++++++++++++++++++---- Stopwatch.h | 1 + Stopwatch.m | 31 +++++- defaults.plist | 4 + 6 files changed, 202 insertions(+), 22 deletions(-) diff --git a/PreferencesWindowController.h b/PreferencesWindowController.h index c15d760..7f78362 100644 --- a/PreferencesWindowController.h +++ b/PreferencesWindowController.h @@ -15,6 +15,8 @@ SRRecorderControl *finishShortcutRecorder; NSButton *pauseOnSleepButton; NSButton *pauseOnScreensaverButton; + NSButton *hideSeconds; + NSButton *flashTimeSeperator; } @property (nonatomic, retain) IBOutlet SRRecorderControl *startPauseShortcutRecorder; @@ -22,5 +24,7 @@ @property (nonatomic, retain) IBOutlet SRRecorderControl *finishShortcutRecorder; @property (nonatomic, retain) IBOutlet NSButton *pauseOnSleepButton; @property (nonatomic, retain) IBOutlet NSButton *pauseOnScreensaverButton; +@property (nonatomic, retain) IBOutlet NSButton *hideSeconds; +@property (nonatomic, retain) IBOutlet NSButton *flashTimeSeperator; @end diff --git a/PreferencesWindowController.m b/PreferencesWindowController.m index afccce8..8ac549e 100644 --- a/PreferencesWindowController.m +++ b/PreferencesWindowController.m @@ -19,6 +19,8 @@ @implementation PreferencesWindowController @synthesize finishShortcutRecorder; @synthesize pauseOnSleepButton; @synthesize pauseOnScreensaverButton; +@synthesize hideSeconds; +@synthesize flashTimeSeperator; - (id)initWithWindow:(NSWindow *)window { @@ -42,6 +44,8 @@ - (void)windowDidLoad [self.pauseOnSleepButton bind:NSValueBinding toObject:defaults withKeyPath:@"values.pauseOnSleep" options:nil]; [self.pauseOnScreensaverButton bind:NSValueBinding toObject:defaults withKeyPath:@"values.pauseOnScreensaver" options:nil]; + [self.hideSeconds bind:NSValueBinding toObject:defaults withKeyPath:@"values.hideSeconds" options:nil]; + [self.flashTimeSeperator bind:NSValueBinding toObject:defaults withKeyPath:@"values.flashTimeSeperator" options:nil]; [self.startPauseShortcutRecorder clearButtonRect]; diff --git a/PreferencesWindowController.xib b/PreferencesWindowController.xib index 485d86c..2a2b945 100644 --- a/PreferencesWindowController.xib +++ b/PreferencesWindowController.xib @@ -2,10 +2,10 @@ 101000 - 14C1510 + 14D131 6751 - 1344.72 - 757.30 + 1347.57 + 758.70 com.apple.InterfaceBuilder.CocoaPlugin 6751 @@ -40,7 +40,7 @@ 19 2 - {{566, 207}, {318, 179}} + {{566, 207}, {318, 219}} -1535638528 Thyme Preferences NSPanel @@ -53,7 +53,7 @@ 268 - {{123, 135}, {183, 24}} + {{123, 175}, {183, 24}} @@ -63,7 +63,7 @@ 268 - {{123, 71}, {183, 24}} + {{123, 111}, {183, 24}} @@ -73,7 +73,7 @@ 268 - {{29, 139}, {89, 17}} + {{29, 179}, {89, 17}} @@ -115,7 +115,7 @@ 268 - {{35, 74}, {82, 18}} + {{35, 114}, {82, 18}} @@ -137,7 +137,7 @@ 268 - {{123, 103}, {183, 24}} + {{123, 143}, {183, 24}} @@ -147,7 +147,7 @@ 268 - {{36, 106}, {82, 18}} + {{36, 146}, {82, 18}} @@ -169,7 +169,7 @@ 268 - {{18, 38}, {290, 18}} + {{18, 78}, {290, 18}} @@ -201,10 +201,10 @@ 268 - {{18, 18}, {290, 18}} + {{18, 58}, {290, 18}} - + _NS:9 YES @@ -225,14 +225,67 @@ NO + + + 268 + {{18, 18}, {290, 18}} + + + _NS:9 + YES + + 67108864 + 268435456 + Flash the time seperator + + _NS:9 + + 1211912448 + 2 + + + + + 200 + 25 + + NO + + + + 268 + {{18, 38}, {290, 18}} + + + + _NS:9 + YES + + 67108864 + 268435456 + Display the time without seconds + + _NS:9 + + 1211912448 + 2 + + + + + 200 + 25 + + NO + - {318, 179} + {318, 219} _NS:21 - {{0, 0}, {1440, 877}} + {{0, 0}, {1920, 1057}} {10000000000000, 10000000000000} YES @@ -287,6 +340,22 @@ 129 + + + hideSeconds + + + + 146 + + + + flashTimeSeperator + + + + 157 + delegate @@ -342,6 +411,8 @@ + + @@ -425,6 +496,32 @@ + + 130 + + + + + + + + 131 + + + + + 147 + + + + + + + + 148 + + + @@ -438,11 +535,15 @@ com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin - {461, 421.5} + {440, 434.5} com.apple.InterfaceBuilder.CocoaPlugin @@ -456,7 +557,7 @@ - 129 + 157 @@ -465,6 +566,7 @@ NSWindowController SRRecorderControl + NSButton NSButton NSButton SRRecorderControl @@ -475,6 +577,10 @@ finishShortcutRecorder SRRecorderControl + + hideSeconds + NSButton + pauseOnScreensaverButton NSButton @@ -500,6 +606,7 @@ SRRecorderControl NSView + YES delegate NSObject @@ -511,9 +618,27 @@ NSObject + + + allowsDeleteToClearShortcutAndEndRecording + BOOL + + + allowsEmptyModifierFlags + BOOL + + + allowsEscapeToCancelRecording + BOOL + + + drawsASCIIEquivalentOfShortcut + BOOL + + IBProjectSource - ../ShortcutRecorder/SRRecorderControl.h + ../ShortcutRecorder/Library/SRRecorderControl.h @@ -652,6 +777,7 @@ SRRecorderControl NSView + YES delegate NSObject @@ -663,6 +789,24 @@ NSObject + + + allowsDeleteToClearShortcutAndEndRecording + BOOL + + + allowsEmptyModifierFlags + BOOL + + + allowsEscapeToCancelRecording + BOOL + + + drawsASCIIEquivalentOfShortcut + BOOL + + IBFrameworkSource ShortcutRecorder.framework/Headers/SRRecorderControl.h diff --git a/Stopwatch.h b/Stopwatch.h index 799f5a5..471ed36 100644 --- a/Stopwatch.h +++ b/Stopwatch.h @@ -24,6 +24,7 @@ NSTimer* timer; NSDate* reference; NSTimeInterval accum; + BOOL seperatorIsActive; } @property (nonatomic, assign) id delegate; diff --git a/Stopwatch.m b/Stopwatch.m index 16e6600..34bc2fe 100644 --- a/Stopwatch.m +++ b/Stopwatch.m @@ -12,6 +12,7 @@ @interface Stopwatch () @property (nonatomic, retain) NSTimer* timer; @property (nonatomic, retain) NSDate* reference; @property (nonatomic) NSTimeInterval accum; +@property (nonatomic) BOOL seperatorIsActive; - (void) tick; @end @@ -21,12 +22,14 @@ @implementation Stopwatch @synthesize timer; @synthesize reference; @synthesize accum; +@synthesize seperatorIsActive; - (id)init { if (self = [super init]) { self.timer = nil; self.reference = [NSDate date]; self.accum = 0; + self.seperatorIsActive = TRUE; } return self; @@ -41,15 +44,33 @@ - (id)initWithDelegate:(id)aDelegate { } - (NSString*) description { + NSString *seperator = @":"; + long seconds = (long) floor([self value]); long hours = seconds / 3600; long minutes = (seconds / 60) % 60; seconds = seconds % 60; - if (hours > 0) { - return [NSString stringWithFormat:@"%02ld:%02ld:%02ld", hours, minutes, seconds]; - } else { - return [NSString stringWithFormat:@"%02ld:%02ld", minutes, seconds]; + NSLog(@"%hhd", [[NSUserDefaults standardUserDefaults] boolForKey:@"flashTimeSeperator"]); + + // Toggling seperator + if(self.seperatorIsActive || ![[NSUserDefaults standardUserDefaults] boolForKey:@"flashTimeSeperator"]) { + seperator = @":"; + self.seperatorIsActive = FALSE; + } + else { + seperator = @" "; + self.seperatorIsActive = TRUE; + } + + if([[NSUserDefaults standardUserDefaults] boolForKey:@"hideSeconds"]) { + return [NSString stringWithFormat:@"%02ld%@%02ld", hours, seperator, minutes]; + } + else if (hours > 0) { + return [NSString stringWithFormat:@"%02ld%@%02ld%@%02ld", hours, seperator, minutes, seperator, seconds]; + } + else { + return [NSString stringWithFormat:@"%02ld%@%02ld", minutes, seperator, seconds]; } } @@ -101,6 +122,8 @@ - (void) pause { if (self.delegate) { [self.delegate didPause:self]; } + + } - (void) reset:(NSTimeInterval) value { diff --git a/defaults.plist b/defaults.plist index 893cf4e..18409b3 100644 --- a/defaults.plist +++ b/defaults.plist @@ -6,5 +6,9 @@ pauseOnSleep + hideSeconds + + flashTimeSeperator + From eb7ab0ef9e478a61e03b7ee6fdd4bdd8753c2b78 Mon Sep 17 00:00:00 2001 From: hi im zvaehn Date: Thu, 16 Apr 2015 21:50:57 +0200 Subject: [PATCH 2/4] Implemented some options: 'flash time seperator', 'Hide timer seconds', 'hide Growl Notifications' --- PreferencesWindowController.h | 6 + PreferencesWindowController.m | 4 + PreferencesWindowController.xib | 719 +++++++++++++++++++++----------- Stopwatch.h | 2 +- Stopwatch.m | 7 +- ThymeAppDelegate.m | 16 +- defaults.plist | 4 + 7 files changed, 504 insertions(+), 254 deletions(-) diff --git a/PreferencesWindowController.h b/PreferencesWindowController.h index 7f78362..38f4dcb 100644 --- a/PreferencesWindowController.h +++ b/PreferencesWindowController.h @@ -13,18 +13,24 @@ SRRecorderControl *startPauseShortcutRecorder; SRRecorderControl *restartShortcutRecorder; SRRecorderControl *finishShortcutRecorder; + + NSButton *startOnStartup; NSButton *pauseOnSleepButton; NSButton *pauseOnScreensaverButton; NSButton *hideSeconds; NSButton *flashTimeSeperator; + NSButton *showNotifications; } @property (nonatomic, retain) IBOutlet SRRecorderControl *startPauseShortcutRecorder; @property (nonatomic, retain) IBOutlet SRRecorderControl *restartShortcutRecorder; @property (nonatomic, retain) IBOutlet SRRecorderControl *finishShortcutRecorder; + +@property (nonatomic, retain) IBOutlet NSButton *startOnStartup; @property (nonatomic, retain) IBOutlet NSButton *pauseOnSleepButton; @property (nonatomic, retain) IBOutlet NSButton *pauseOnScreensaverButton; @property (nonatomic, retain) IBOutlet NSButton *hideSeconds; @property (nonatomic, retain) IBOutlet NSButton *flashTimeSeperator; +@property (nonatomic, retain) IBOutlet NSButton *showNotifications; @end diff --git a/PreferencesWindowController.m b/PreferencesWindowController.m index 8ac549e..b9e59b4 100644 --- a/PreferencesWindowController.m +++ b/PreferencesWindowController.m @@ -17,10 +17,12 @@ @implementation PreferencesWindowController @synthesize startPauseShortcutRecorder; @synthesize restartShortcutRecorder; @synthesize finishShortcutRecorder; +@synthesize startOnStartup; @synthesize pauseOnSleepButton; @synthesize pauseOnScreensaverButton; @synthesize hideSeconds; @synthesize flashTimeSeperator; +@synthesize showNotifications; - (id)initWithWindow:(NSWindow *)window { @@ -42,10 +44,12 @@ - (void)windowDidLoad [self.restartShortcutRecorder bind:NSValueBinding toObject:defaults withKeyPath:@"values.restart" options:nil]; [self.finishShortcutRecorder bind:NSValueBinding toObject:defaults withKeyPath:@"values.finish" options:nil]; + [self.startOnStartup bind:NSValueBinding toObject:defaults withKeyPath:@"values.startOnStartup" options:nil]; [self.pauseOnSleepButton bind:NSValueBinding toObject:defaults withKeyPath:@"values.pauseOnSleep" options:nil]; [self.pauseOnScreensaverButton bind:NSValueBinding toObject:defaults withKeyPath:@"values.pauseOnScreensaver" options:nil]; [self.hideSeconds bind:NSValueBinding toObject:defaults withKeyPath:@"values.hideSeconds" options:nil]; [self.flashTimeSeperator bind:NSValueBinding toObject:defaults withKeyPath:@"values.flashTimeSeperator" options:nil]; + [self.showNotifications bind:NSValueBinding toObject:defaults withKeyPath:@"values.showNotifications" options:nil]; [self.startPauseShortcutRecorder clearButtonRect]; diff --git a/PreferencesWindowController.xib b/PreferencesWindowController.xib index 2a2b945..d45d9bc 100644 --- a/PreferencesWindowController.xib +++ b/PreferencesWindowController.xib @@ -11,6 +11,7 @@ 6751 + NSBox NSButton NSButtonCell NSCustomObject @@ -40,7 +41,7 @@ 19 2 - {{566, 207}, {318, 219}} + {{566, 207}, {557, 339}} -1535638528 Thyme Preferences NSPanel @@ -50,239 +51,379 @@ 256 - + - 268 - {{123, 175}, {183, 24}} - - - - _NS:9 - SRRecorderControl - - - - 268 - {{123, 111}, {183, 24}} + 12 + + + + 274 + + + + 268 + {{171, 148}, {183, 24}} + + + + _NS:9 + SRRecorderControl + + + + 268 + {{171, 84}, {183, 24}} + + + + _NS:9 + SRRecorderControl + + + + 268 + {{77, 152}, {89, 17}} + + + + _NS:1535 + YES + + 68157504 + 71304192 + Start / Pause: + + YES + 13 + 1044 + + _NS:1535 + + + 6 + System + controlColor + + 3 + MC42NjY2NjY2NjY3AA + + + + 6 + System + controlTextColor + + 3 + MAA + + + + NO + 1 + + + + 268 + {{83, 87}, {82, 18}} + + + + _NS:1535 + YES + + 68157504 + 71304192 + Finish: + + _NS:1535 + + + + + NO + 1 + + + + 268 + {{171, 116}, {183, 24}} + + + + _NS:9 + SRRecorderControl + + + + 268 + {{84, 119}, {82, 18}} + + + + _NS:1535 + YES + + 68157504 + 71304192 + Restart: + + _NS:1535 + + + + + NO + 1 + + + + 268 + {{153, 32}, {290, 18}} + + + + _NS:9 + YES + + 67108864 + 268435456 + Pause during sleep + + _NS:9 + + 1211912448 + 2 + + NSImage + NSSwitch + + + NSSwitch + + + + 200 + 25 + + NO + + + + 268 + {{153, 12}, {290, 18}} + + + + _NS:9 + YES + + 67108864 + 268435456 + Pause during screensaver / screen lock + + _NS:9 + + 1211912448 + 2 + + + + + 200 + 25 + + NO + + + + 268 + {{153, 52}, {290, 18}} + + + + _NS:9 + YES + + 67108864 + 268435456 + Start timer on app start + + _NS:9 + + 1211912448 + 2 + + + + + 200 + 25 + + NO + + + {{1, 1}, {521, 182}} + + + + _NS:11 + + + {{17, 118}, {523, 201}} - + _NS:9 - SRRecorderControl - - - - 268 - {{29, 179}, {89, 17}} - - - - _NS:1535 - YES - - 68157504 - 71304192 - Start / Pause: - - YES - 13 - 1044 - - _NS:1535 - - + {0, 0} + + 67108864 + 0 + Behavior + + 6 System - controlColor + textBackgroundColor 3 - MC42NjY2NjY2NjY3AA + MQA - + 6 System - controlTextColor - - 3 - MAA - + labelColor + - NO - 1 - - - - 268 - {{35, 114}, {82, 18}} - - - - _NS:1535 - YES - - 68157504 - 71304192 - Finish: - - _NS:1535 - - - - - NO - 1 - - - - 268 - {{123, 143}, {183, 24}} - - - - _NS:9 - SRRecorderControl + + 1 + 0 + 2 + NO - + - 268 - {{36, 146}, {82, 18}} - - - - _NS:1535 - YES - - 68157504 - 71304192 - Restart: - - _NS:1535 - - - - - NO - 1 - - - - 268 - {{18, 78}, {290, 18}} - - - - _NS:9 - YES - - 67108864 - 268435456 - Pause during sleep - - _NS:9 - - 1211912448 - 2 - - NSImage - NSSwitch + 12 + + + + 274 + + + + 268 + {{152, 33}, {290, 18}} + + + + _NS:9 + YES + + 67108864 + 268435456 + Flash the time seperator + + _NS:9 + + 1211912448 + 2 + + + + + 200 + 25 + + NO + + + + 268 + {{152, 13}, {290, 18}} + + + + _NS:9 + YES + + 67108864 + 268435456 + Show Growl Notifications + + _NS:9 + + 1211912448 + 2 + + + + + 200 + 25 + + NO + + + + 268 + {{152, 53}, {290, 18}} + + + + _NS:9 + YES + + 67108864 + 268435456 + Display the time without seconds + + _NS:9 + + 1211912448 + 2 + + + + + 200 + 25 + + NO + + + {{1, 1}, {521, 79}} + + + + _NS:11 - - NSSwitch - - - - 200 - 25 - - NO - - - - 268 - {{18, 58}, {290, 18}} - - - - _NS:9 - YES - - 67108864 - 268435456 - Pause during screensaver / screen lock - - _NS:9 - - 1211912448 - 2 - - - - - 200 - 25 - - NO - - - - 268 - {{18, 18}, {290, 18}} - - - _NS:9 - YES - - 67108864 - 268435456 - Flash the time seperator - - _NS:9 - - 1211912448 - 2 - - - - - 200 - 25 - - NO - - - - 268 - {{18, 38}, {290, 18}} + + {{17, 16}, {523, 98}} - + _NS:9 - YES - + {0, 0} + 67108864 - 268435456 - Display the time without seconds + 0 + Appearance - _NS:9 - - 1211912448 - 2 - - - - - 200 - 25 + + - NO + + 1 + 0 + 2 + NO - {318, 219} + {557, 339} - + _NS:21 {{0, 0}, {1920, 1057}} @@ -302,19 +443,19 @@ - finishShortcutRecorder + startPauseShortcutRecorder - + - 98 + 99 - startPauseShortcutRecorder + finishShortcutRecorder - + - 99 + 98 @@ -340,6 +481,22 @@ 129 + + + startOnStartup + + + + 160 + + + + flashTimeSeperator + + + + 157 + hideSeconds @@ -350,11 +507,11 @@ - flashTimeSeperator + showNotifications - + - 157 + 173 @@ -402,24 +559,47 @@ 6 + + + + + + + + 171 + + + - - - + + + + + + 172 + + + + - + 9 - + + + + 93 + + 28 @@ -427,7 +607,7 @@ - + 29 @@ -440,22 +620,17 @@ - + 62 - - 93 - - - 111 - + 112 @@ -463,7 +638,7 @@ - + 113 @@ -476,7 +651,7 @@ - + 118 @@ -489,7 +664,7 @@ - + 128 @@ -497,30 +672,56 @@ - 130 - + 158 + - + - + - 131 - - + 159 + + 147 - + - + - + 148 - - + + + + + 161 + + + + + + + + 162 + + + + + 130 + + + + + + + + 131 + + @@ -539,11 +740,19 @@ com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin - {440, 434.5} + {363.5, 431.5} com.apple.InterfaceBuilder.CocoaPlugin @@ -557,7 +766,7 @@ - 157 + 173 @@ -566,10 +775,12 @@ NSWindowController SRRecorderControl + NSButton NSButton NSButton NSButton SRRecorderControl + NSButton SRRecorderControl @@ -577,6 +788,10 @@ finishShortcutRecorder SRRecorderControl + + flashTimeSeperator + NSButton + hideSeconds NSButton @@ -593,6 +808,10 @@ restartShortcutRecorder SRRecorderControl + + startOnStartup + NSButton + startPauseShortcutRecorder SRRecorderControl @@ -659,6 +878,14 @@ AppKit.framework/Headers/NSApplication.h + + NSBox + NSView + + IBFrameworkSource + AppKit.framework/Headers/NSBox.h + + NSButton NSControl diff --git a/Stopwatch.h b/Stopwatch.h index 471ed36..34925d0 100644 --- a/Stopwatch.h +++ b/Stopwatch.h @@ -20,7 +20,7 @@ @interface Stopwatch : NSObject { id delegate; -@private + @private NSTimer* timer; NSDate* reference; NSTimeInterval accum; diff --git a/Stopwatch.m b/Stopwatch.m index 34bc2fe..75c042d 100644 --- a/Stopwatch.m +++ b/Stopwatch.m @@ -51,8 +51,6 @@ - (NSString*) description { long minutes = (seconds / 60) % 60; seconds = seconds % 60; - NSLog(@"%hhd", [[NSUserDefaults standardUserDefaults] boolForKey:@"flashTimeSeperator"]); - // Toggling seperator if(self.seperatorIsActive || ![[NSUserDefaults standardUserDefaults] boolForKey:@"flashTimeSeperator"]) { seperator = @":"; @@ -119,11 +117,12 @@ - (void) pause { [self.timer invalidate]; self.timer = nil; + // Force the seperator to show + self.seperatorIsActive = TRUE; + if (self.delegate) { [self.delegate didPause:self]; } - - } - (void) reset:(NSTimeInterval) value { diff --git a/ThymeAppDelegate.m b/ThymeAppDelegate.m index 145151a..a662840 100644 --- a/ThymeAppDelegate.m +++ b/ThymeAppDelegate.m @@ -309,17 +309,23 @@ - (void) didChange:(id)stopwatch { - (void)notifyStart { - [GrowlApplicationBridge notifyWithTitle:@"Thyme" description:@"Started" notificationName:@"start" iconData:nil priority:0 isSticky:NO clickContext:nil]; + if([[NSUserDefaults standardUserDefaults] boolForKey:@"showNotifications"]) { + [GrowlApplicationBridge notifyWithTitle:@"Thyme" description:@"Started" notificationName:@"start" iconData:nil priority:0 isSticky:NO clickContext:nil]; + } } - (void)notifyPauseWithDescription:(NSString*)description { - [GrowlApplicationBridge notifyWithTitle:@"Thyme" description:[@"Paused at " stringByAppendingString:description] notificationName:@"pause" iconData:nil priority:0 isSticky:NO clickContext:nil]; + if([[NSUserDefaults standardUserDefaults] boolForKey:@"showNotifications"]) { + [GrowlApplicationBridge notifyWithTitle:@"Thyme" description:[@"Paused at " stringByAppendingString:description] notificationName:@"pause" iconData:nil priority:0 isSticky:NO clickContext:nil]; + } } - (void)notifyStopWithDescription:(NSString*)description { - [GrowlApplicationBridge notifyWithTitle:@"Thyme" description:[@"Stopped at " stringByAppendingString:description] notificationName:@"stop" iconData:nil priority:0 isSticky:NO clickContext:nil]; + if([[NSUserDefaults standardUserDefaults] boolForKey:@"showNotifications"]) { + [GrowlApplicationBridge notifyWithTitle:@"Thyme" description:[@"Stopped at " stringByAppendingString:description] notificationName:@"stop" iconData:nil priority:0 isSticky:NO clickContext:nil]; + } } #pragma mark NSUserDefaultsDidChangeNotification @@ -507,6 +513,10 @@ - (void)applicationDidFinishLaunching:(NSNotification *)aNotification // Start controller [self resetWithNotification:NO]; + + if([[NSUserDefaults standardUserDefaults] boolForKey:@"startOnStartup"]) { + [self startTimer]; + } } /** diff --git a/defaults.plist b/defaults.plist index 18409b3..12eedb1 100644 --- a/defaults.plist +++ b/defaults.plist @@ -10,5 +10,9 @@ flashTimeSeperator + startTimerOnStartup + + showNotifications + From 8746d6c030e1885982d01803b879e6be36c4b4da Mon Sep 17 00:00:00 2001 From: hi im zvaehn Date: Thu, 16 Apr 2015 22:00:29 +0200 Subject: [PATCH 3/4] Added 'zvaehn' to contributors --- Credits.rtf | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Credits.rtf b/Credits.rtf index 7e7d2da..19c5c88 100644 --- a/Credits.rtf +++ b/Credits.rtf @@ -1,4 +1,4 @@ -{\rtf1\ansi\ansicpg1252\cocoartf1344\cocoasubrtf720 +{\rtf1\ansi\ansicpg1252\cocoartf1347\cocoasubrtf570 {\fonttbl\f0\fswiss\fcharset0 Helvetica;} {\colortbl;\red255\green255\blue255;} {\*\listtable{\list\listtemplateid1\listhybrid{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace360\levelindent0{\*\levelmarker \{disc\}}{\leveltext\leveltemplateid1\'01\uc0\u8226 ;}{\levelnumbers;}\fi-360\li720\lin720 }{\listname ;}\listid1}} @@ -15,4 +15,4 @@ \ls1\ilvl0\cf0 {\listtext \'95 }{\field{\*\fldinst{HYPERLINK "https://github.com/dimonzozo"}}{\fldrslt Dmitriy}}\ {\listtext \'95 }{\field{\*\fldinst{HYPERLINK "https://github.com/jaysonlane"}}{\fldrslt Jason Lane}}\ {\listtext \'95 }{\field{\*\fldinst{HYPERLINK "https://github.com/tilden"}}{\fldrslt Dan Tilden}}\ -} \ No newline at end of file +{\listtext \'95 }{\field{\*\fldinst{HYPERLINK "http://github.com/zvaehn"}}{\fldrslt Sven Schiffer}}} \ No newline at end of file From 17f13ccc833a11ed2c1e4ab5ebdcc767ca14fc0d Mon Sep 17 00:00:00 2001 From: hi im zvaehn Date: Sat, 25 Apr 2015 21:13:25 +0200 Subject: [PATCH 4/4] fixed separator spelling --- PreferencesWindowController.h | 4 +- PreferencesWindowController.m | 4 +- PreferencesWindowController.xib | 218 ++-- ShortcutRecorder.xcodeproj/project.pbxproj | 1174 ++++++++++++++++++++ Stopwatch.h | 2 +- Stopwatch.m | 16 +- ThymeAppDelegate.m | 4 +- 7 files changed, 1301 insertions(+), 121 deletions(-) create mode 100755 ShortcutRecorder.xcodeproj/project.pbxproj diff --git a/PreferencesWindowController.h b/PreferencesWindowController.h index 38f4dcb..e6d165c 100644 --- a/PreferencesWindowController.h +++ b/PreferencesWindowController.h @@ -18,7 +18,7 @@ NSButton *pauseOnSleepButton; NSButton *pauseOnScreensaverButton; NSButton *hideSeconds; - NSButton *flashTimeSeperator; + NSButton *flashTimeSeparator; NSButton *showNotifications; } @@ -30,7 +30,7 @@ @property (nonatomic, retain) IBOutlet NSButton *pauseOnSleepButton; @property (nonatomic, retain) IBOutlet NSButton *pauseOnScreensaverButton; @property (nonatomic, retain) IBOutlet NSButton *hideSeconds; -@property (nonatomic, retain) IBOutlet NSButton *flashTimeSeperator; @property (nonatomic, retain) IBOutlet NSButton *showNotifications; +@property (nonatomic, retain) IBOutlet NSButton *flashTimeSeparator; @end diff --git a/PreferencesWindowController.m b/PreferencesWindowController.m index b9e59b4..faa59d6 100644 --- a/PreferencesWindowController.m +++ b/PreferencesWindowController.m @@ -21,7 +21,7 @@ @implementation PreferencesWindowController @synthesize pauseOnSleepButton; @synthesize pauseOnScreensaverButton; @synthesize hideSeconds; -@synthesize flashTimeSeperator; +@synthesize flashTimeSeparator; @synthesize showNotifications; - (id)initWithWindow:(NSWindow *)window @@ -48,7 +48,7 @@ - (void)windowDidLoad [self.pauseOnSleepButton bind:NSValueBinding toObject:defaults withKeyPath:@"values.pauseOnSleep" options:nil]; [self.pauseOnScreensaverButton bind:NSValueBinding toObject:defaults withKeyPath:@"values.pauseOnScreensaver" options:nil]; [self.hideSeconds bind:NSValueBinding toObject:defaults withKeyPath:@"values.hideSeconds" options:nil]; - [self.flashTimeSeperator bind:NSValueBinding toObject:defaults withKeyPath:@"values.flashTimeSeperator" options:nil]; + [self.flashTimeSeparator bind:NSValueBinding toObject:defaults withKeyPath:@"values.flashTimeSeparator" options:nil]; [self.showNotifications bind:NSValueBinding toObject:defaults withKeyPath:@"values.showNotifications" options:nil]; [self.startPauseShortcutRecorder clearButtonRect]; diff --git a/PreferencesWindowController.xib b/PreferencesWindowController.xib index d45d9bc..5316dee 100644 --- a/PreferencesWindowController.xib +++ b/PreferencesWindowController.xib @@ -2,7 +2,7 @@ 101000 - 14D131 + 14D136 6751 1347.57 758.70 @@ -39,7 +39,7 @@ NSApplication - 19 + 3 2 {{566, 207}, {557, 339}} -1535638528 @@ -51,39 +51,39 @@ 256 - + 12 - - + + 274 - + 268 {{171, 148}, {183, 24}} - + _NS:9 SRRecorderControl - + 268 {{171, 84}, {183, 24}} - + - + _NS:9 SRRecorderControl - + 268 {{77, 152}, {89, 17}} - + _NS:1535 @@ -112,7 +112,7 @@ 6 System controlTextColor - + 3 MAA @@ -122,10 +122,10 @@ 1 - + 268 {{83, 87}, {82, 18}} - + _NS:1535 @@ -144,20 +144,20 @@ 1 - + 268 {{171, 116}, {183, 24}} - + _NS:9 SRRecorderControl - + 268 {{84, 119}, {82, 18}} - + _NS:1535 @@ -176,10 +176,10 @@ 1 - + 268 {{153, 32}, {290, 18}} - + _NS:9 @@ -208,12 +208,12 @@ NO - + 268 {{153, 12}, {290, 18}} - + - + _NS:9 YES @@ -234,22 +234,22 @@ NO - - + + 268 {{153, 52}, {290, 18}} - + _NS:9 YES - + 67108864 268435456 Start timer on app start _NS:9 - + 1211912448 2 @@ -263,16 +263,16 @@ {{1, 1}, {521, 182}} - + - + _NS:11 {{17, 118}, {523, 201}} - + _NS:9 {0, 0} @@ -280,7 +280,7 @@ 0 Behavior - + 6 System textBackgroundColor @@ -289,43 +289,43 @@ MQA - + 6 System labelColor - + - + 1 0 2 NO - + 12 - - + + 274 - - + + 268 {{152, 33}, {290, 18}} - + - + _NS:9 YES - + 67108864 268435456 - Flash the time seperator + Flash the time separator _NS:9 - + 1211912448 2 @@ -337,22 +337,21 @@ NO - - + + 268 {{152, 13}, {290, 18}} - + - _NS:9 YES - + 67108864 268435456 Show Growl Notifications _NS:9 - + 1211912448 2 @@ -365,12 +364,12 @@ NO - + 268 {{152, 53}, {290, 18}} - + - + _NS:9 YES @@ -393,16 +392,16 @@ {{1, 1}, {521, 79}} - + - + _NS:11 {{17, 16}, {523, 98}} - + _NS:9 {0, 0} @@ -410,10 +409,10 @@ 0 Appearance - - + + - + 1 0 2 @@ -423,7 +422,7 @@ {557, 339} - + _NS:21 {{0, 0}, {1920, 1057}} @@ -485,18 +484,10 @@ startOnStartup - + 160 - - - flashTimeSeperator - - - - 157 - hideSeconds @@ -509,10 +500,18 @@ showNotifications - + 173 + + + flashTimeSeparator + + + + 176 + delegate @@ -560,14 +559,14 @@ 6 - - + + 171 - + @@ -577,16 +576,16 @@ - + 172 - + - - + + @@ -594,12 +593,12 @@ 9 - + 93 - + 28 @@ -607,7 +606,7 @@ - + 29 @@ -620,7 +619,7 @@ - + 62 @@ -630,7 +629,7 @@ 111 - + 112 @@ -638,7 +637,7 @@ - + 113 @@ -651,7 +650,7 @@ - + 118 @@ -664,7 +663,7 @@ - + 128 @@ -673,42 +672,42 @@ 158 - + - + - + 159 - - + + 147 - + - + - + 148 - - + + 161 - + - + - + 162 - - + + 130 @@ -716,7 +715,7 @@ - + 131 @@ -766,7 +765,7 @@ - 173 + 176 @@ -775,11 +774,12 @@ NSWindowController SRRecorderControl - NSButton + NSButton NSButton NSButton NSButton SRRecorderControl + NSButton NSButton SRRecorderControl @@ -788,8 +788,8 @@ finishShortcutRecorder SRRecorderControl - - flashTimeSeperator + + flashTimeSeparator NSButton @@ -808,6 +808,10 @@ restartShortcutRecorder SRRecorderControl + + showNotifications + NSButton + startOnStartup NSButton diff --git a/ShortcutRecorder.xcodeproj/project.pbxproj b/ShortcutRecorder.xcodeproj/project.pbxproj new file mode 100755 index 0000000..7f717fd --- /dev/null +++ b/ShortcutRecorder.xcodeproj/project.pbxproj @@ -0,0 +1,1174 @@ +// !$*UTF8*$! +{ + archiveVersion = 1; + classes = { + }; + objectVersion = 46; + objects = { + +/* Begin PBXBuildFile section */ + 0D39CBD91803EA6C0001F249 /* ShortcutRecorder.framework in Copy Frameworks */ = {isa = PBXBuildFile; fileRef = 939837800DA42965007F53F3 /* ShortcutRecorder.framework */; }; + 0D39CBDA1803EA6E0001F249 /* PTHotKey.framework in Copy Frameworks */ = {isa = PBXBuildFile; fileRef = E273122E1349EC9000A84433 /* PTHotKey.framework */; }; + 0D6B2469180304DE00CE1142 /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E2741AE01673C90B00A139BD /* Cocoa.framework */; }; + 0D6B24B4180304FA00CE1142 /* Credits.rtf in Resources */ = {isa = PBXBuildFile; fileRef = 0D6B249B180304FA00CE1142 /* Credits.rtf */; }; + 0D6B24B5180304FA00CE1142 /* IKCodeAutoLayoutWindowController.xib in Resources */ = {isa = PBXBuildFile; fileRef = 0D6B249D180304FA00CE1142 /* IKCodeAutoLayoutWindowController.xib */; }; + 0D6B24B6180304FA00CE1142 /* IKIBAutoLayoutWindowController.xib in Resources */ = {isa = PBXBuildFile; fileRef = 0D6B249F180304FA00CE1142 /* IKIBAutoLayoutWindowController.xib */; }; + 0D6B24B7180304FA00CE1142 /* IKIBAutoresizingMasksWindowController.xib in Resources */ = {isa = PBXBuildFile; fileRef = 0D6B24A1180304FA00CE1142 /* IKIBAutoresizingMasksWindowController.xib */; }; + 0D6B24B8180304FA00CE1142 /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 0D6B24A3180304FA00CE1142 /* InfoPlist.strings */; }; + 0D6B24B9180304FA00CE1142 /* MainMenu.xib in Resources */ = {isa = PBXBuildFile; fileRef = 0D6B24A5180304FA00CE1142 /* MainMenu.xib */; }; + 0D6B24BA180304FA00CE1142 /* IKAppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 0D6B24A8180304FA00CE1142 /* IKAppDelegate.m */; }; + 0D6B24BB180304FA00CE1142 /* IKCodeAutoLayoutWindowController.m in Sources */ = {isa = PBXBuildFile; fileRef = 0D6B24AA180304FA00CE1142 /* IKCodeAutoLayoutWindowController.m */; }; + 0D6B24BC180304FA00CE1142 /* IKDemoWindowController.m in Sources */ = {isa = PBXBuildFile; fileRef = 0D6B24AC180304FA00CE1142 /* IKDemoWindowController.m */; }; + 0D6B24BD180304FA00CE1142 /* IKIBAutoLayoutWindowController.m in Sources */ = {isa = PBXBuildFile; fileRef = 0D6B24AE180304FA00CE1142 /* IKIBAutoLayoutWindowController.m */; }; + 0D6B24BE180304FA00CE1142 /* IKIBAutoresizingMasksWindowController.m in Sources */ = {isa = PBXBuildFile; fileRef = 0D6B24B0180304FA00CE1142 /* IKIBAutoresizingMasksWindowController.m */; }; + 0D6B24C0180304FA00CE1142 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 0D6B24B2180304FA00CE1142 /* main.m */; }; + 0D6B24C11803053800CE1142 /* ShortcutRecorder.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 939837800DA42965007F53F3 /* ShortcutRecorder.framework */; }; + 0D6B24C31803057100CE1142 /* PTHotKey.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E273122E1349EC9000A84433 /* PTHotKey.framework */; }; + 939837950DA429EC007F53F3 /* SRRecorderControl.m in Sources */ = {isa = PBXBuildFile; fileRef = 0B8E29C109CDB9360085E9ED /* SRRecorderControl.m */; }; + 939837980DA429EC007F53F3 /* SRKeyCodeTransformer.m in Sources */ = {isa = PBXBuildFile; fileRef = 74C3670D0A246B4900B69171 /* SRKeyCodeTransformer.m */; }; + 939837990DA429EC007F53F3 /* SRValidator.m in Sources */ = {isa = PBXBuildFile; fileRef = 74C3670F0A246B4900B69171 /* SRValidator.m */; }; + 9398379A0DA429EC007F53F3 /* SRCommon.m in Sources */ = {isa = PBXBuildFile; fileRef = 74C367110A246B4900B69171 /* SRCommon.m */; }; + 939839390DA4350B007F53F3 /* ShortcutRecorder.h in Headers */ = {isa = PBXBuildFile; fileRef = 939837B50DA42DFB007F53F3 /* ShortcutRecorder.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 9398393B0DA4350B007F53F3 /* SRRecorderControl.h in Headers */ = {isa = PBXBuildFile; fileRef = 0B8E29C009CDB9360085E9ED /* SRRecorderControl.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 9398393E0DA4350B007F53F3 /* SRKeyCodeTransformer.h in Headers */ = {isa = PBXBuildFile; fileRef = 74C3670C0A246B4900B69171 /* SRKeyCodeTransformer.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 9398393F0DA4350B007F53F3 /* SRValidator.h in Headers */ = {isa = PBXBuildFile; fileRef = 74C3670E0A246B4900B69171 /* SRValidator.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 939839400DA4350B007F53F3 /* SRCommon.h in Headers */ = {isa = PBXBuildFile; fileRef = 74C367100A246B4900B69171 /* SRCommon.h */; settings = {ATTRIBUTES = (Public, ); }; }; + BA547C271A5FD45B00C45C31 /* shortcut-recorder-yosemite-bezel-blue-highlighted-left.png in Resources */ = {isa = PBXBuildFile; fileRef = BA547C011A5FD45B00C45C31 /* shortcut-recorder-yosemite-bezel-blue-highlighted-left.png */; }; + BA547C281A5FD45B00C45C31 /* shortcut-recorder-yosemite-bezel-blue-highlighted-left@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = BA547C021A5FD45B00C45C31 /* shortcut-recorder-yosemite-bezel-blue-highlighted-left@2x.png */; }; + BA547C291A5FD45B00C45C31 /* shortcut-recorder-yosemite-bezel-blue-highlighted-middle.png in Resources */ = {isa = PBXBuildFile; fileRef = BA547C031A5FD45B00C45C31 /* shortcut-recorder-yosemite-bezel-blue-highlighted-middle.png */; }; + BA547C2A1A5FD45B00C45C31 /* shortcut-recorder-yosemite-bezel-blue-highlighted-middle@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = BA547C041A5FD45B00C45C31 /* shortcut-recorder-yosemite-bezel-blue-highlighted-middle@2x.png */; }; + BA547C2B1A5FD45B00C45C31 /* shortcut-recorder-yosemite-bezel-blue-highlighted-right.png in Resources */ = {isa = PBXBuildFile; fileRef = BA547C051A5FD45B00C45C31 /* shortcut-recorder-yosemite-bezel-blue-highlighted-right.png */; }; + BA547C2C1A5FD45B00C45C31 /* shortcut-recorder-yosemite-bezel-blue-highlighted-right@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = BA547C061A5FD45B00C45C31 /* shortcut-recorder-yosemite-bezel-blue-highlighted-right@2x.png */; }; + BA547C2D1A5FD45B00C45C31 /* shortcut-recorder-yosemite-bezel-disabled-left.png in Resources */ = {isa = PBXBuildFile; fileRef = BA547C071A5FD45B00C45C31 /* shortcut-recorder-yosemite-bezel-disabled-left.png */; }; + BA547C2E1A5FD45B00C45C31 /* shortcut-recorder-yosemite-bezel-disabled-left@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = BA547C081A5FD45B00C45C31 /* shortcut-recorder-yosemite-bezel-disabled-left@2x.png */; }; + BA547C2F1A5FD45B00C45C31 /* shortcut-recorder-yosemite-bezel-disabled-middle.png in Resources */ = {isa = PBXBuildFile; fileRef = BA547C091A5FD45B00C45C31 /* shortcut-recorder-yosemite-bezel-disabled-middle.png */; }; + BA547C301A5FD45B00C45C31 /* shortcut-recorder-yosemite-bezel-disabled-middle@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = BA547C0A1A5FD45B00C45C31 /* shortcut-recorder-yosemite-bezel-disabled-middle@2x.png */; }; + BA547C311A5FD45B00C45C31 /* shortcut-recorder-yosemite-bezel-disabled-right.png in Resources */ = {isa = PBXBuildFile; fileRef = BA547C0B1A5FD45B00C45C31 /* shortcut-recorder-yosemite-bezel-disabled-right.png */; }; + BA547C321A5FD45B00C45C31 /* shortcut-recorder-yosemite-bezel-disabled-right@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = BA547C0C1A5FD45B00C45C31 /* shortcut-recorder-yosemite-bezel-disabled-right@2x.png */; }; + BA547C331A5FD45B00C45C31 /* shortcut-recorder-yosemite-bezel-editing-left.png in Resources */ = {isa = PBXBuildFile; fileRef = BA547C0D1A5FD45B00C45C31 /* shortcut-recorder-yosemite-bezel-editing-left.png */; }; + BA547C341A5FD45B00C45C31 /* shortcut-recorder-yosemite-bezel-editing-left@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = BA547C0E1A5FD45B00C45C31 /* shortcut-recorder-yosemite-bezel-editing-left@2x.png */; }; + BA547C351A5FD45B00C45C31 /* shortcut-recorder-yosemite-bezel-editing-middle.png in Resources */ = {isa = PBXBuildFile; fileRef = BA547C0F1A5FD45B00C45C31 /* shortcut-recorder-yosemite-bezel-editing-middle.png */; }; + BA547C361A5FD45B00C45C31 /* shortcut-recorder-yosemite-bezel-editing-middle@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = BA547C101A5FD45B00C45C31 /* shortcut-recorder-yosemite-bezel-editing-middle@2x.png */; }; + BA547C371A5FD45B00C45C31 /* shortcut-recorder-yosemite-bezel-editing-right.png in Resources */ = {isa = PBXBuildFile; fileRef = BA547C111A5FD45B00C45C31 /* shortcut-recorder-yosemite-bezel-editing-right.png */; }; + BA547C381A5FD45B00C45C31 /* shortcut-recorder-yosemite-bezel-editing-right@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = BA547C121A5FD45B00C45C31 /* shortcut-recorder-yosemite-bezel-editing-right@2x.png */; }; + BA547C391A5FD45B00C45C31 /* shortcut-recorder-yosemite-bezel-graphite-highlight-mask-left.png in Resources */ = {isa = PBXBuildFile; fileRef = BA547C131A5FD45B00C45C31 /* shortcut-recorder-yosemite-bezel-graphite-highlight-mask-left.png */; }; + BA547C3A1A5FD45B00C45C31 /* shortcut-recorder-yosemite-bezel-graphite-highlight-mask-left@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = BA547C141A5FD45B00C45C31 /* shortcut-recorder-yosemite-bezel-graphite-highlight-mask-left@2x.png */; }; + BA547C3B1A5FD45B00C45C31 /* shortcut-recorder-yosemite-bezel-graphite-highlight-mask-middle.png in Resources */ = {isa = PBXBuildFile; fileRef = BA547C151A5FD45B00C45C31 /* shortcut-recorder-yosemite-bezel-graphite-highlight-mask-middle.png */; }; + BA547C3C1A5FD45B00C45C31 /* shortcut-recorder-yosemite-bezel-graphite-highlight-mask-middle@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = BA547C161A5FD45B00C45C31 /* shortcut-recorder-yosemite-bezel-graphite-highlight-mask-middle@2x.png */; }; + BA547C3D1A5FD45B00C45C31 /* shortcut-recorder-yosemite-bezel-graphite-highlight-mask-right.png in Resources */ = {isa = PBXBuildFile; fileRef = BA547C171A5FD45B00C45C31 /* shortcut-recorder-yosemite-bezel-graphite-highlight-mask-right.png */; }; + BA547C3E1A5FD45B00C45C31 /* shortcut-recorder-yosemite-bezel-graphite-highlight-mask-right@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = BA547C181A5FD45B00C45C31 /* shortcut-recorder-yosemite-bezel-graphite-highlight-mask-right@2x.png */; }; + BA547C3F1A5FD45B00C45C31 /* shortcut-recorder-yosemite-bezel-left.png in Resources */ = {isa = PBXBuildFile; fileRef = BA547C191A5FD45B00C45C31 /* shortcut-recorder-yosemite-bezel-left.png */; }; + BA547C401A5FD45B00C45C31 /* shortcut-recorder-yosemite-bezel-left@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = BA547C1A1A5FD45B00C45C31 /* shortcut-recorder-yosemite-bezel-left@2x.png */; }; + BA547C411A5FD45B00C45C31 /* shortcut-recorder-yosemite-bezel-middle.png in Resources */ = {isa = PBXBuildFile; fileRef = BA547C1B1A5FD45B00C45C31 /* shortcut-recorder-yosemite-bezel-middle.png */; }; + BA547C421A5FD45B00C45C31 /* shortcut-recorder-yosemite-bezel-middle@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = BA547C1C1A5FD45B00C45C31 /* shortcut-recorder-yosemite-bezel-middle@2x.png */; }; + BA547C431A5FD45B00C45C31 /* shortcut-recorder-yosemite-bezel-right.png in Resources */ = {isa = PBXBuildFile; fileRef = BA547C1D1A5FD45B00C45C31 /* shortcut-recorder-yosemite-bezel-right.png */; }; + BA547C441A5FD45B00C45C31 /* shortcut-recorder-yosemite-bezel-right@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = BA547C1E1A5FD45B00C45C31 /* shortcut-recorder-yosemite-bezel-right@2x.png */; }; + BA547C451A5FD45B00C45C31 /* shortcut-recorder-yosemite-clear-highlighted.png in Resources */ = {isa = PBXBuildFile; fileRef = BA547C1F1A5FD45B00C45C31 /* shortcut-recorder-yosemite-clear-highlighted.png */; }; + BA547C461A5FD45B00C45C31 /* shortcut-recorder-yosemite-clear-highlighted@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = BA547C201A5FD45B00C45C31 /* shortcut-recorder-yosemite-clear-highlighted@2x.png */; }; + BA547C471A5FD45B00C45C31 /* shortcut-recorder-yosemite-clear.png in Resources */ = {isa = PBXBuildFile; fileRef = BA547C211A5FD45B00C45C31 /* shortcut-recorder-yosemite-clear.png */; }; + BA547C481A5FD45B00C45C31 /* shortcut-recorder-yosemite-clear@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = BA547C221A5FD45B00C45C31 /* shortcut-recorder-yosemite-clear@2x.png */; }; + BA547C491A5FD45B00C45C31 /* shortcut-recorder-yosemite-snapback-highlighted.png in Resources */ = {isa = PBXBuildFile; fileRef = BA547C231A5FD45B00C45C31 /* shortcut-recorder-yosemite-snapback-highlighted.png */; }; + BA547C4A1A5FD45B00C45C31 /* shortcut-recorder-yosemite-snapback-highlighted@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = BA547C241A5FD45B00C45C31 /* shortcut-recorder-yosemite-snapback-highlighted@2x.png */; }; + BA547C4B1A5FD45B00C45C31 /* shortcut-recorder-yosemite-snapback.png in Resources */ = {isa = PBXBuildFile; fileRef = BA547C251A5FD45B00C45C31 /* shortcut-recorder-yosemite-snapback.png */; }; + BA547C4C1A5FD45B00C45C31 /* shortcut-recorder-yosemite-snapback@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = BA547C261A5FD45B00C45C31 /* shortcut-recorder-yosemite-snapback@2x.png */; }; + E20A897917F3322300502E33 /* shortcut-recorder-bezel-disabled-left.png in Resources */ = {isa = PBXBuildFile; fileRef = E20A897317F3322300502E33 /* shortcut-recorder-bezel-disabled-left.png */; }; + E20A897A17F3322300502E33 /* shortcut-recorder-bezel-disabled-left@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = E20A897417F3322300502E33 /* shortcut-recorder-bezel-disabled-left@2x.png */; }; + E20A897B17F3322300502E33 /* shortcut-recorder-bezel-disabled-middle.png in Resources */ = {isa = PBXBuildFile; fileRef = E20A897517F3322300502E33 /* shortcut-recorder-bezel-disabled-middle.png */; }; + E20A897C17F3322300502E33 /* shortcut-recorder-bezel-disabled-middle@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = E20A897617F3322300502E33 /* shortcut-recorder-bezel-disabled-middle@2x.png */; }; + E20A897D17F3322300502E33 /* shortcut-recorder-bezel-disabled-right.png in Resources */ = {isa = PBXBuildFile; fileRef = E20A897717F3322300502E33 /* shortcut-recorder-bezel-disabled-right.png */; }; + E20A897E17F3322300502E33 /* shortcut-recorder-bezel-disabled-right@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = E20A897817F3322300502E33 /* shortcut-recorder-bezel-disabled-right@2x.png */; }; + E225E4671679E30E00A00529 /* shortcut-recorder-bezel-blue-highlighted-left.png in Resources */ = {isa = PBXBuildFile; fileRef = E225E4471679E30E00A00529 /* shortcut-recorder-bezel-blue-highlighted-left.png */; }; + E225E4681679E30E00A00529 /* shortcut-recorder-bezel-blue-highlighted-left@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = E225E4481679E30E00A00529 /* shortcut-recorder-bezel-blue-highlighted-left@2x.png */; }; + E225E4691679E30E00A00529 /* shortcut-recorder-bezel-blue-highlighted-middle.png in Resources */ = {isa = PBXBuildFile; fileRef = E225E4491679E30E00A00529 /* shortcut-recorder-bezel-blue-highlighted-middle.png */; }; + E225E46A1679E30E00A00529 /* shortcut-recorder-bezel-blue-highlighted-middle@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = E225E44A1679E30E00A00529 /* shortcut-recorder-bezel-blue-highlighted-middle@2x.png */; }; + E225E46B1679E30E00A00529 /* shortcut-recorder-bezel-blue-highlighted-right.png in Resources */ = {isa = PBXBuildFile; fileRef = E225E44B1679E30E00A00529 /* shortcut-recorder-bezel-blue-highlighted-right.png */; }; + E225E46C1679E30E00A00529 /* shortcut-recorder-bezel-blue-highlighted-right@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = E225E44C1679E30E00A00529 /* shortcut-recorder-bezel-blue-highlighted-right@2x.png */; }; + E225E46D1679E30E00A00529 /* shortcut-recorder-bezel-editing-left.png in Resources */ = {isa = PBXBuildFile; fileRef = E225E44D1679E30E00A00529 /* shortcut-recorder-bezel-editing-left.png */; }; + E225E46E1679E30E00A00529 /* shortcut-recorder-bezel-editing-left@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = E225E44E1679E30E00A00529 /* shortcut-recorder-bezel-editing-left@2x.png */; }; + E225E46F1679E30E00A00529 /* shortcut-recorder-bezel-editing-middle.png in Resources */ = {isa = PBXBuildFile; fileRef = E225E44F1679E30E00A00529 /* shortcut-recorder-bezel-editing-middle.png */; }; + E225E4701679E30E00A00529 /* shortcut-recorder-bezel-editing-middle@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = E225E4501679E30E00A00529 /* shortcut-recorder-bezel-editing-middle@2x.png */; }; + E225E4711679E30E00A00529 /* shortcut-recorder-bezel-editing-right.png in Resources */ = {isa = PBXBuildFile; fileRef = E225E4511679E30E00A00529 /* shortcut-recorder-bezel-editing-right.png */; }; + E225E4721679E30E00A00529 /* shortcut-recorder-bezel-editing-right@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = E225E4521679E30E00A00529 /* shortcut-recorder-bezel-editing-right@2x.png */; }; + E225E4731679E30E00A00529 /* shortcut-recorder-bezel-graphite-highlight-mask-left.png in Resources */ = {isa = PBXBuildFile; fileRef = E225E4531679E30E00A00529 /* shortcut-recorder-bezel-graphite-highlight-mask-left.png */; }; + E225E4741679E30E00A00529 /* shortcut-recorder-bezel-graphite-highlight-mask-left@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = E225E4541679E30E00A00529 /* shortcut-recorder-bezel-graphite-highlight-mask-left@2x.png */; }; + E225E4751679E30E00A00529 /* shortcut-recorder-bezel-graphite-highlight-mask-middle.png in Resources */ = {isa = PBXBuildFile; fileRef = E225E4551679E30E00A00529 /* shortcut-recorder-bezel-graphite-highlight-mask-middle.png */; }; + E225E4761679E30E00A00529 /* shortcut-recorder-bezel-graphite-highlight-mask-middle@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = E225E4561679E30E00A00529 /* shortcut-recorder-bezel-graphite-highlight-mask-middle@2x.png */; }; + E225E4771679E30E00A00529 /* shortcut-recorder-bezel-graphite-highlight-mask-right.png in Resources */ = {isa = PBXBuildFile; fileRef = E225E4571679E30E00A00529 /* shortcut-recorder-bezel-graphite-highlight-mask-right.png */; }; + E225E4781679E30E00A00529 /* shortcut-recorder-bezel-graphite-highlight-mask-right@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = E225E4581679E30E00A00529 /* shortcut-recorder-bezel-graphite-highlight-mask-right@2x.png */; }; + E225E4791679E30E00A00529 /* shortcut-recorder-bezel-left.png in Resources */ = {isa = PBXBuildFile; fileRef = E225E4591679E30E00A00529 /* shortcut-recorder-bezel-left.png */; }; + E225E47A1679E30E00A00529 /* shortcut-recorder-bezel-left@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = E225E45A1679E30E00A00529 /* shortcut-recorder-bezel-left@2x.png */; }; + E225E47B1679E30E00A00529 /* shortcut-recorder-bezel-middle.png in Resources */ = {isa = PBXBuildFile; fileRef = E225E45B1679E30E00A00529 /* shortcut-recorder-bezel-middle.png */; }; + E225E47C1679E30E00A00529 /* shortcut-recorder-bezel-middle@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = E225E45C1679E30E00A00529 /* shortcut-recorder-bezel-middle@2x.png */; }; + E225E47D1679E30E00A00529 /* shortcut-recorder-bezel-right.png in Resources */ = {isa = PBXBuildFile; fileRef = E225E45D1679E30E00A00529 /* shortcut-recorder-bezel-right.png */; }; + E225E47E1679E30E00A00529 /* shortcut-recorder-bezel-right@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = E225E45E1679E30E00A00529 /* shortcut-recorder-bezel-right@2x.png */; }; + E225E47F1679E30E00A00529 /* shortcut-recorder-clear-highlighted.png in Resources */ = {isa = PBXBuildFile; fileRef = E225E45F1679E30E00A00529 /* shortcut-recorder-clear-highlighted.png */; }; + E225E4801679E30E00A00529 /* shortcut-recorder-clear-highlighted@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = E225E4601679E30E00A00529 /* shortcut-recorder-clear-highlighted@2x.png */; }; + E225E4811679E30E00A00529 /* shortcut-recorder-clear.png in Resources */ = {isa = PBXBuildFile; fileRef = E225E4611679E30E00A00529 /* shortcut-recorder-clear.png */; }; + E225E4821679E30E00A00529 /* shortcut-recorder-clear@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = E225E4621679E30E00A00529 /* shortcut-recorder-clear@2x.png */; }; + E225E4831679E30E00A00529 /* shortcut-recorder-snapback-highlighted.png in Resources */ = {isa = PBXBuildFile; fileRef = E225E4631679E30E00A00529 /* shortcut-recorder-snapback-highlighted.png */; }; + E225E4841679E30E00A00529 /* shortcut-recorder-snapback-highlighted@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = E225E4641679E30E00A00529 /* shortcut-recorder-snapback-highlighted@2x.png */; }; + E225E4851679E30E00A00529 /* shortcut-recorder-snapback.png in Resources */ = {isa = PBXBuildFile; fileRef = E225E4651679E30E00A00529 /* shortcut-recorder-snapback.png */; }; + E225E4861679E30E00A00529 /* shortcut-recorder-snapback@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = E225E4661679E30E00A00529 /* shortcut-recorder-snapback@2x.png */; }; + E273123A1349EDB500A84433 /* PTHotKey.h in Headers */ = {isa = PBXBuildFile; fileRef = 0B8E2A0309CDBADE0085E9ED /* PTHotKey.h */; settings = {ATTRIBUTES = (Public, ); }; }; + E273123B1349EDB500A84433 /* PTHotKeyCenter.h in Headers */ = {isa = PBXBuildFile; fileRef = 0B8E2A0509CDBADE0085E9ED /* PTHotKeyCenter.h */; settings = {ATTRIBUTES = (Public, ); }; }; + E273123C1349EDB500A84433 /* PTKeyCodeTranslator.h in Headers */ = {isa = PBXBuildFile; fileRef = A1125B75104C8AF3005C6F7B /* PTKeyCodeTranslator.h */; settings = {ATTRIBUTES = (Public, ); }; }; + E273123D1349EDB500A84433 /* PTKeyCombo.h in Headers */ = {isa = PBXBuildFile; fileRef = 0B8E2A0709CDBADE0085E9ED /* PTKeyCombo.h */; settings = {ATTRIBUTES = (Public, ); }; }; + E27312401349EDCA00A84433 /* PTHotKey.m in Sources */ = {isa = PBXBuildFile; fileRef = 0B8E2A0409CDBADE0085E9ED /* PTHotKey.m */; }; + E27312411349EDCA00A84433 /* PTHotKeyCenter.m in Sources */ = {isa = PBXBuildFile; fileRef = 0B8E2A0609CDBADE0085E9ED /* PTHotKeyCenter.m */; }; + E27312421349EDCA00A84433 /* PTKeyCodeTranslator.m in Sources */ = {isa = PBXBuildFile; fileRef = A1125B76104C8AF3005C6F7B /* PTKeyCodeTranslator.m */; }; + E27312431349EDCA00A84433 /* PTKeyCombo.m in Sources */ = {isa = PBXBuildFile; fileRef = 0B8E2A0809CDBADE0085E9ED /* PTKeyCombo.m */; }; + E273124C1349EE6500A84433 /* Carbon.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E273124B1349EE6500A84433 /* Carbon.framework */; }; + E2741AC51673C79F00A139BD /* ShortcutRecorder.strings in Resources */ = {isa = PBXBuildFile; fileRef = E2741AC31673C79F00A139BD /* ShortcutRecorder.strings */; }; + E2741ADF1673C83800A139BD /* LICENSE.txt in Resources */ = {isa = PBXBuildFile; fileRef = E2741ADE1673C83800A139BD /* LICENSE.txt */; }; + E2741AE11673C90B00A139BD /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E2741AE01673C90B00A139BD /* Cocoa.framework */; }; + E2741AE61673C94E00A139BD /* Carbon.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E273124B1349EE6500A84433 /* Carbon.framework */; }; + E28113AD167B8A9D001E118E /* SRModifierFlagsTransformer.h in Headers */ = {isa = PBXBuildFile; fileRef = E28113AB167B8A9D001E118E /* SRModifierFlagsTransformer.h */; settings = {ATTRIBUTES = (Public, ); }; }; + E28113AE167B8A9D001E118E /* SRModifierFlagsTransformer.m in Sources */ = {isa = PBXBuildFile; fileRef = E28113AC167B8A9D001E118E /* SRModifierFlagsTransformer.m */; }; + E2BE924D16ABEFE400827E8C /* SRKeyEquivalentTransformer.h in Headers */ = {isa = PBXBuildFile; fileRef = E2BE924B16ABEFE400827E8C /* SRKeyEquivalentTransformer.h */; settings = {ATTRIBUTES = (Public, ); }; }; + E2BE924E16ABEFE400827E8C /* SRKeyEquivalentTransformer.m in Sources */ = {isa = PBXBuildFile; fileRef = E2BE924C16ABEFE400827E8C /* SRKeyEquivalentTransformer.m */; }; + E2BE925216ABF84200827E8C /* SRKeyEquivalentModifierMaskTransformer.h in Headers */ = {isa = PBXBuildFile; fileRef = E2BE925016ABF84100827E8C /* SRKeyEquivalentModifierMaskTransformer.h */; settings = {ATTRIBUTES = (Public, ); }; }; + E2BE925316ABF84200827E8C /* SRKeyEquivalentModifierMaskTransformer.m in Sources */ = {isa = PBXBuildFile; fileRef = E2BE925116ABF84200827E8C /* SRKeyEquivalentModifierMaskTransformer.m */; }; + E2BE927C16AC052000827E8C /* PTHotKey+ShortcutRecorder.h in Headers */ = {isa = PBXBuildFile; fileRef = E279508E131A7498008AE1DA /* PTHotKey+ShortcutRecorder.h */; settings = {ATTRIBUTES = (Public, ); }; }; + E2BE927D16AC052600827E8C /* PTHotKey+ShortcutRecorder.m in Sources */ = {isa = PBXBuildFile; fileRef = E279508F131A7498008AE1DA /* PTHotKey+ShortcutRecorder.m */; }; +/* End PBXBuildFile section */ + +/* Begin PBXCopyFilesBuildPhase section */ + 0D39CBD81803EA5F0001F249 /* Copy Frameworks */ = { + isa = PBXCopyFilesBuildPhase; + buildActionMask = 2147483647; + dstPath = ""; + dstSubfolderSpec = 10; + files = ( + 0D39CBD91803EA6C0001F249 /* ShortcutRecorder.framework in Copy Frameworks */, + 0D39CBDA1803EA6E0001F249 /* PTHotKey.framework in Copy Frameworks */, + ); + name = "Copy Frameworks"; + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXCopyFilesBuildPhase section */ + +/* Begin PBXFileReference section */ + 0B8E29C009CDB9360085E9ED /* SRRecorderControl.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = SRRecorderControl.h; path = Library/SRRecorderControl.h; sourceTree = ""; }; + 0B8E29C109CDB9360085E9ED /* SRRecorderControl.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = SRRecorderControl.m; path = Library/SRRecorderControl.m; sourceTree = ""; }; + 0B8E2A0309CDBADE0085E9ED /* PTHotKey.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PTHotKey.h; sourceTree = ""; }; + 0B8E2A0409CDBADE0085E9ED /* PTHotKey.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = PTHotKey.m; sourceTree = ""; }; + 0B8E2A0509CDBADE0085E9ED /* PTHotKeyCenter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PTHotKeyCenter.h; sourceTree = ""; }; + 0B8E2A0609CDBADE0085E9ED /* PTHotKeyCenter.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = PTHotKeyCenter.m; sourceTree = ""; }; + 0B8E2A0709CDBADE0085E9ED /* PTKeyCombo.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PTKeyCombo.h; sourceTree = ""; }; + 0B8E2A0809CDBADE0085E9ED /* PTKeyCombo.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = PTKeyCombo.m; sourceTree = ""; }; + 0D6B2468180304DE00CE1142 /* Demo.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Demo.app; sourceTree = BUILT_PRODUCTS_DIR; }; + 0D6B246B180304DE00CE1142 /* AppKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AppKit.framework; path = System/Library/Frameworks/AppKit.framework; sourceTree = SDKROOT; }; + 0D6B246C180304DE00CE1142 /* CoreData.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreData.framework; path = System/Library/Frameworks/CoreData.framework; sourceTree = SDKROOT; }; + 0D6B246D180304DE00CE1142 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = System/Library/Frameworks/Foundation.framework; sourceTree = SDKROOT; }; + 0D6B2487180304DE00CE1142 /* XCTest.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = XCTest.framework; path = Library/Frameworks/XCTest.framework; sourceTree = DEVELOPER_DIR; }; + 0D6B249C180304FA00CE1142 /* en */ = {isa = PBXFileReference; lastKnownFileType = text.rtf; name = en; path = en.lproj/Credits.rtf; sourceTree = ""; }; + 0D6B249E180304FA00CE1142 /* en */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = en; path = en.lproj/IKCodeAutoLayoutWindowController.xib; sourceTree = ""; }; + 0D6B24A0180304FA00CE1142 /* en */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = en; path = en.lproj/IKIBAutoLayoutWindowController.xib; sourceTree = ""; }; + 0D6B24A2180304FA00CE1142 /* en */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = en; path = en.lproj/IKIBAutoresizingMasksWindowController.xib; sourceTree = ""; }; + 0D6B24A4180304FA00CE1142 /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/InfoPlist.strings; sourceTree = ""; }; + 0D6B24A6180304FA00CE1142 /* en */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = en; path = en.lproj/MainMenu.xib; sourceTree = ""; }; + 0D6B24A7180304FA00CE1142 /* IKAppDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IKAppDelegate.h; sourceTree = ""; }; + 0D6B24A8180304FA00CE1142 /* IKAppDelegate.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = IKAppDelegate.m; sourceTree = ""; }; + 0D6B24A9180304FA00CE1142 /* IKCodeAutoLayoutWindowController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IKCodeAutoLayoutWindowController.h; sourceTree = ""; }; + 0D6B24AA180304FA00CE1142 /* IKCodeAutoLayoutWindowController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = IKCodeAutoLayoutWindowController.m; sourceTree = ""; }; + 0D6B24AB180304FA00CE1142 /* IKDemoWindowController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IKDemoWindowController.h; sourceTree = ""; }; + 0D6B24AC180304FA00CE1142 /* IKDemoWindowController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = IKDemoWindowController.m; sourceTree = ""; }; + 0D6B24AD180304FA00CE1142 /* IKIBAutoLayoutWindowController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IKIBAutoLayoutWindowController.h; sourceTree = ""; }; + 0D6B24AE180304FA00CE1142 /* IKIBAutoLayoutWindowController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = IKIBAutoLayoutWindowController.m; sourceTree = ""; }; + 0D6B24AF180304FA00CE1142 /* IKIBAutoresizingMasksWindowController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IKIBAutoresizingMasksWindowController.h; sourceTree = ""; }; + 0D6B24B0180304FA00CE1142 /* IKIBAutoresizingMasksWindowController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = IKIBAutoresizingMasksWindowController.m; sourceTree = ""; }; + 0D6B24B1180304FA00CE1142 /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; + 0D6B24B2180304FA00CE1142 /* main.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = ""; }; + 0D6B24B3180304FA00CE1142 /* Prefix.pch */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Prefix.pch; sourceTree = ""; }; + 32CA4F630368D1EE00C91783 /* Prefix.pch */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = Prefix.pch; path = Library/Prefix.pch; sourceTree = ""; }; + 74C3670C0A246B4900B69171 /* SRKeyCodeTransformer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = SRKeyCodeTransformer.h; path = Library/SRKeyCodeTransformer.h; sourceTree = ""; }; + 74C3670D0A246B4900B69171 /* SRKeyCodeTransformer.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = SRKeyCodeTransformer.m; path = Library/SRKeyCodeTransformer.m; sourceTree = ""; }; + 74C3670E0A246B4900B69171 /* SRValidator.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = SRValidator.h; path = Library/SRValidator.h; sourceTree = ""; }; + 74C3670F0A246B4900B69171 /* SRValidator.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = SRValidator.m; path = Library/SRValidator.m; sourceTree = ""; }; + 74C367100A246B4900B69171 /* SRCommon.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = SRCommon.h; path = Library/SRCommon.h; sourceTree = ""; }; + 74C367110A246B4900B69171 /* SRCommon.m */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.objc; name = SRCommon.m; path = Library/SRCommon.m; sourceTree = ""; }; + 939837800DA42965007F53F3 /* ShortcutRecorder.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = ShortcutRecorder.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 939837B50DA42DFB007F53F3 /* ShortcutRecorder.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ShortcutRecorder.h; path = Library/ShortcutRecorder.h; sourceTree = SOURCE_ROOT; }; + A1125B75104C8AF3005C6F7B /* PTKeyCodeTranslator.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PTKeyCodeTranslator.h; sourceTree = ""; }; + A1125B76104C8AF3005C6F7B /* PTKeyCodeTranslator.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = PTKeyCodeTranslator.m; sourceTree = ""; }; + BA547C011A5FD45B00C45C31 /* shortcut-recorder-yosemite-bezel-blue-highlighted-left.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "shortcut-recorder-yosemite-bezel-blue-highlighted-left.png"; sourceTree = ""; }; + BA547C021A5FD45B00C45C31 /* shortcut-recorder-yosemite-bezel-blue-highlighted-left@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "shortcut-recorder-yosemite-bezel-blue-highlighted-left@2x.png"; sourceTree = ""; }; + BA547C031A5FD45B00C45C31 /* shortcut-recorder-yosemite-bezel-blue-highlighted-middle.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "shortcut-recorder-yosemite-bezel-blue-highlighted-middle.png"; sourceTree = ""; }; + BA547C041A5FD45B00C45C31 /* shortcut-recorder-yosemite-bezel-blue-highlighted-middle@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "shortcut-recorder-yosemite-bezel-blue-highlighted-middle@2x.png"; sourceTree = ""; }; + BA547C051A5FD45B00C45C31 /* shortcut-recorder-yosemite-bezel-blue-highlighted-right.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "shortcut-recorder-yosemite-bezel-blue-highlighted-right.png"; sourceTree = ""; }; + BA547C061A5FD45B00C45C31 /* shortcut-recorder-yosemite-bezel-blue-highlighted-right@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "shortcut-recorder-yosemite-bezel-blue-highlighted-right@2x.png"; sourceTree = ""; }; + BA547C071A5FD45B00C45C31 /* shortcut-recorder-yosemite-bezel-disabled-left.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "shortcut-recorder-yosemite-bezel-disabled-left.png"; sourceTree = ""; }; + BA547C081A5FD45B00C45C31 /* shortcut-recorder-yosemite-bezel-disabled-left@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "shortcut-recorder-yosemite-bezel-disabled-left@2x.png"; sourceTree = ""; }; + BA547C091A5FD45B00C45C31 /* shortcut-recorder-yosemite-bezel-disabled-middle.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "shortcut-recorder-yosemite-bezel-disabled-middle.png"; sourceTree = ""; }; + BA547C0A1A5FD45B00C45C31 /* shortcut-recorder-yosemite-bezel-disabled-middle@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "shortcut-recorder-yosemite-bezel-disabled-middle@2x.png"; sourceTree = ""; }; + BA547C0B1A5FD45B00C45C31 /* shortcut-recorder-yosemite-bezel-disabled-right.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "shortcut-recorder-yosemite-bezel-disabled-right.png"; sourceTree = ""; }; + BA547C0C1A5FD45B00C45C31 /* shortcut-recorder-yosemite-bezel-disabled-right@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "shortcut-recorder-yosemite-bezel-disabled-right@2x.png"; sourceTree = ""; }; + BA547C0D1A5FD45B00C45C31 /* shortcut-recorder-yosemite-bezel-editing-left.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "shortcut-recorder-yosemite-bezel-editing-left.png"; sourceTree = ""; }; + BA547C0E1A5FD45B00C45C31 /* shortcut-recorder-yosemite-bezel-editing-left@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "shortcut-recorder-yosemite-bezel-editing-left@2x.png"; sourceTree = ""; }; + BA547C0F1A5FD45B00C45C31 /* shortcut-recorder-yosemite-bezel-editing-middle.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "shortcut-recorder-yosemite-bezel-editing-middle.png"; sourceTree = ""; }; + BA547C101A5FD45B00C45C31 /* shortcut-recorder-yosemite-bezel-editing-middle@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "shortcut-recorder-yosemite-bezel-editing-middle@2x.png"; sourceTree = ""; }; + BA547C111A5FD45B00C45C31 /* shortcut-recorder-yosemite-bezel-editing-right.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "shortcut-recorder-yosemite-bezel-editing-right.png"; sourceTree = ""; }; + BA547C121A5FD45B00C45C31 /* shortcut-recorder-yosemite-bezel-editing-right@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "shortcut-recorder-yosemite-bezel-editing-right@2x.png"; sourceTree = ""; }; + BA547C131A5FD45B00C45C31 /* shortcut-recorder-yosemite-bezel-graphite-highlight-mask-left.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "shortcut-recorder-yosemite-bezel-graphite-highlight-mask-left.png"; sourceTree = ""; }; + BA547C141A5FD45B00C45C31 /* shortcut-recorder-yosemite-bezel-graphite-highlight-mask-left@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "shortcut-recorder-yosemite-bezel-graphite-highlight-mask-left@2x.png"; sourceTree = ""; }; + BA547C151A5FD45B00C45C31 /* shortcut-recorder-yosemite-bezel-graphite-highlight-mask-middle.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "shortcut-recorder-yosemite-bezel-graphite-highlight-mask-middle.png"; sourceTree = ""; }; + BA547C161A5FD45B00C45C31 /* shortcut-recorder-yosemite-bezel-graphite-highlight-mask-middle@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "shortcut-recorder-yosemite-bezel-graphite-highlight-mask-middle@2x.png"; sourceTree = ""; }; + BA547C171A5FD45B00C45C31 /* shortcut-recorder-yosemite-bezel-graphite-highlight-mask-right.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "shortcut-recorder-yosemite-bezel-graphite-highlight-mask-right.png"; sourceTree = ""; }; + BA547C181A5FD45B00C45C31 /* shortcut-recorder-yosemite-bezel-graphite-highlight-mask-right@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "shortcut-recorder-yosemite-bezel-graphite-highlight-mask-right@2x.png"; sourceTree = ""; }; + BA547C191A5FD45B00C45C31 /* shortcut-recorder-yosemite-bezel-left.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "shortcut-recorder-yosemite-bezel-left.png"; sourceTree = ""; }; + BA547C1A1A5FD45B00C45C31 /* shortcut-recorder-yosemite-bezel-left@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "shortcut-recorder-yosemite-bezel-left@2x.png"; sourceTree = ""; }; + BA547C1B1A5FD45B00C45C31 /* shortcut-recorder-yosemite-bezel-middle.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "shortcut-recorder-yosemite-bezel-middle.png"; sourceTree = ""; }; + BA547C1C1A5FD45B00C45C31 /* shortcut-recorder-yosemite-bezel-middle@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "shortcut-recorder-yosemite-bezel-middle@2x.png"; sourceTree = ""; }; + BA547C1D1A5FD45B00C45C31 /* shortcut-recorder-yosemite-bezel-right.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "shortcut-recorder-yosemite-bezel-right.png"; sourceTree = ""; }; + BA547C1E1A5FD45B00C45C31 /* shortcut-recorder-yosemite-bezel-right@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "shortcut-recorder-yosemite-bezel-right@2x.png"; sourceTree = ""; }; + BA547C1F1A5FD45B00C45C31 /* shortcut-recorder-yosemite-clear-highlighted.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "shortcut-recorder-yosemite-clear-highlighted.png"; sourceTree = ""; }; + BA547C201A5FD45B00C45C31 /* shortcut-recorder-yosemite-clear-highlighted@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "shortcut-recorder-yosemite-clear-highlighted@2x.png"; sourceTree = ""; }; + BA547C211A5FD45B00C45C31 /* shortcut-recorder-yosemite-clear.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "shortcut-recorder-yosemite-clear.png"; sourceTree = ""; }; + BA547C221A5FD45B00C45C31 /* shortcut-recorder-yosemite-clear@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "shortcut-recorder-yosemite-clear@2x.png"; sourceTree = ""; }; + BA547C231A5FD45B00C45C31 /* shortcut-recorder-yosemite-snapback-highlighted.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "shortcut-recorder-yosemite-snapback-highlighted.png"; sourceTree = ""; }; + BA547C241A5FD45B00C45C31 /* shortcut-recorder-yosemite-snapback-highlighted@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "shortcut-recorder-yosemite-snapback-highlighted@2x.png"; sourceTree = ""; }; + BA547C251A5FD45B00C45C31 /* shortcut-recorder-yosemite-snapback.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "shortcut-recorder-yosemite-snapback.png"; sourceTree = ""; }; + BA547C261A5FD45B00C45C31 /* shortcut-recorder-yosemite-snapback@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "shortcut-recorder-yosemite-snapback@2x.png"; sourceTree = ""; }; + E20A897317F3322300502E33 /* shortcut-recorder-bezel-disabled-left.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "shortcut-recorder-bezel-disabled-left.png"; sourceTree = ""; }; + E20A897417F3322300502E33 /* shortcut-recorder-bezel-disabled-left@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "shortcut-recorder-bezel-disabled-left@2x.png"; sourceTree = ""; }; + E20A897517F3322300502E33 /* shortcut-recorder-bezel-disabled-middle.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "shortcut-recorder-bezel-disabled-middle.png"; sourceTree = ""; }; + E20A897617F3322300502E33 /* shortcut-recorder-bezel-disabled-middle@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "shortcut-recorder-bezel-disabled-middle@2x.png"; sourceTree = ""; }; + E20A897717F3322300502E33 /* shortcut-recorder-bezel-disabled-right.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "shortcut-recorder-bezel-disabled-right.png"; sourceTree = ""; }; + E20A897817F3322300502E33 /* shortcut-recorder-bezel-disabled-right@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "shortcut-recorder-bezel-disabled-right@2x.png"; sourceTree = ""; }; + E225E4471679E30E00A00529 /* shortcut-recorder-bezel-blue-highlighted-left.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "shortcut-recorder-bezel-blue-highlighted-left.png"; sourceTree = ""; }; + E225E4481679E30E00A00529 /* shortcut-recorder-bezel-blue-highlighted-left@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "shortcut-recorder-bezel-blue-highlighted-left@2x.png"; sourceTree = ""; }; + E225E4491679E30E00A00529 /* shortcut-recorder-bezel-blue-highlighted-middle.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "shortcut-recorder-bezel-blue-highlighted-middle.png"; sourceTree = ""; }; + E225E44A1679E30E00A00529 /* shortcut-recorder-bezel-blue-highlighted-middle@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "shortcut-recorder-bezel-blue-highlighted-middle@2x.png"; sourceTree = ""; }; + E225E44B1679E30E00A00529 /* shortcut-recorder-bezel-blue-highlighted-right.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "shortcut-recorder-bezel-blue-highlighted-right.png"; sourceTree = ""; }; + E225E44C1679E30E00A00529 /* shortcut-recorder-bezel-blue-highlighted-right@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "shortcut-recorder-bezel-blue-highlighted-right@2x.png"; sourceTree = ""; }; + E225E44D1679E30E00A00529 /* shortcut-recorder-bezel-editing-left.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "shortcut-recorder-bezel-editing-left.png"; sourceTree = ""; }; + E225E44E1679E30E00A00529 /* shortcut-recorder-bezel-editing-left@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "shortcut-recorder-bezel-editing-left@2x.png"; sourceTree = ""; }; + E225E44F1679E30E00A00529 /* shortcut-recorder-bezel-editing-middle.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "shortcut-recorder-bezel-editing-middle.png"; sourceTree = ""; }; + E225E4501679E30E00A00529 /* shortcut-recorder-bezel-editing-middle@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "shortcut-recorder-bezel-editing-middle@2x.png"; sourceTree = ""; }; + E225E4511679E30E00A00529 /* shortcut-recorder-bezel-editing-right.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "shortcut-recorder-bezel-editing-right.png"; sourceTree = ""; }; + E225E4521679E30E00A00529 /* shortcut-recorder-bezel-editing-right@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "shortcut-recorder-bezel-editing-right@2x.png"; sourceTree = ""; }; + E225E4531679E30E00A00529 /* shortcut-recorder-bezel-graphite-highlight-mask-left.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "shortcut-recorder-bezel-graphite-highlight-mask-left.png"; sourceTree = ""; }; + E225E4541679E30E00A00529 /* shortcut-recorder-bezel-graphite-highlight-mask-left@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "shortcut-recorder-bezel-graphite-highlight-mask-left@2x.png"; sourceTree = ""; }; + E225E4551679E30E00A00529 /* shortcut-recorder-bezel-graphite-highlight-mask-middle.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "shortcut-recorder-bezel-graphite-highlight-mask-middle.png"; sourceTree = ""; }; + E225E4561679E30E00A00529 /* shortcut-recorder-bezel-graphite-highlight-mask-middle@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "shortcut-recorder-bezel-graphite-highlight-mask-middle@2x.png"; sourceTree = ""; }; + E225E4571679E30E00A00529 /* shortcut-recorder-bezel-graphite-highlight-mask-right.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "shortcut-recorder-bezel-graphite-highlight-mask-right.png"; sourceTree = ""; }; + E225E4581679E30E00A00529 /* shortcut-recorder-bezel-graphite-highlight-mask-right@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "shortcut-recorder-bezel-graphite-highlight-mask-right@2x.png"; sourceTree = ""; }; + E225E4591679E30E00A00529 /* shortcut-recorder-bezel-left.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "shortcut-recorder-bezel-left.png"; sourceTree = ""; }; + E225E45A1679E30E00A00529 /* shortcut-recorder-bezel-left@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "shortcut-recorder-bezel-left@2x.png"; sourceTree = ""; }; + E225E45B1679E30E00A00529 /* shortcut-recorder-bezel-middle.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "shortcut-recorder-bezel-middle.png"; sourceTree = ""; }; + E225E45C1679E30E00A00529 /* shortcut-recorder-bezel-middle@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "shortcut-recorder-bezel-middle@2x.png"; sourceTree = ""; }; + E225E45D1679E30E00A00529 /* shortcut-recorder-bezel-right.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "shortcut-recorder-bezel-right.png"; sourceTree = ""; }; + E225E45E1679E30E00A00529 /* shortcut-recorder-bezel-right@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "shortcut-recorder-bezel-right@2x.png"; sourceTree = ""; }; + E225E45F1679E30E00A00529 /* shortcut-recorder-clear-highlighted.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "shortcut-recorder-clear-highlighted.png"; sourceTree = ""; }; + E225E4601679E30E00A00529 /* shortcut-recorder-clear-highlighted@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "shortcut-recorder-clear-highlighted@2x.png"; sourceTree = ""; }; + E225E4611679E30E00A00529 /* shortcut-recorder-clear.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "shortcut-recorder-clear.png"; sourceTree = ""; }; + E225E4621679E30E00A00529 /* shortcut-recorder-clear@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "shortcut-recorder-clear@2x.png"; sourceTree = ""; }; + E225E4631679E30E00A00529 /* shortcut-recorder-snapback-highlighted.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "shortcut-recorder-snapback-highlighted.png"; sourceTree = ""; }; + E225E4641679E30E00A00529 /* shortcut-recorder-snapback-highlighted@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "shortcut-recorder-snapback-highlighted@2x.png"; sourceTree = ""; }; + E225E4651679E30E00A00529 /* shortcut-recorder-snapback.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "shortcut-recorder-snapback.png"; sourceTree = ""; }; + E225E4661679E30E00A00529 /* shortcut-recorder-snapback@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "shortcut-recorder-snapback@2x.png"; sourceTree = ""; }; + E273122E1349EC9000A84433 /* PTHotKey.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = PTHotKey.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + E273122F1349EC9000A84433 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; name = Info.plist; path = PTHotKey/Info.plist; sourceTree = SOURCE_ROOT; }; + E273124B1349EE6500A84433 /* Carbon.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Carbon.framework; path = System/Library/Frameworks/Carbon.framework; sourceTree = SDKROOT; }; + E2741AC41673C79F00A139BD /* en */ = {isa = PBXFileReference; fileEncoding = 10; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/ShortcutRecorder.strings; sourceTree = ""; }; + E2741AC61673C7A400A139BD /* de */ = {isa = PBXFileReference; fileEncoding = 10; lastKnownFileType = text.plist.strings; name = de; path = de.lproj/ShortcutRecorder.strings; sourceTree = ""; }; + E2741AC71673C7A600A139BD /* el */ = {isa = PBXFileReference; fileEncoding = 10; lastKnownFileType = text.plist.strings; name = el; path = el.lproj/ShortcutRecorder.strings; sourceTree = ""; }; + E2741AC81673C7A800A139BD /* fr */ = {isa = PBXFileReference; fileEncoding = 10; lastKnownFileType = text.plist.strings; name = fr; path = fr.lproj/ShortcutRecorder.strings; sourceTree = ""; }; + E2741AC91673C7AA00A139BD /* it */ = {isa = PBXFileReference; fileEncoding = 10; lastKnownFileType = text.plist.strings; name = it; path = it.lproj/ShortcutRecorder.strings; sourceTree = ""; }; + E2741ACA1673C7AC00A139BD /* ja */ = {isa = PBXFileReference; fileEncoding = 10; lastKnownFileType = text.plist.strings; name = ja; path = ja.lproj/ShortcutRecorder.strings; sourceTree = ""; }; + E2741ACB1673C7AD00A139BD /* ko */ = {isa = PBXFileReference; fileEncoding = 10; lastKnownFileType = text.plist.strings; name = ko; path = ko.lproj/ShortcutRecorder.strings; sourceTree = ""; }; + E2741ACC1673C7AF00A139BD /* nb */ = {isa = PBXFileReference; fileEncoding = 10; lastKnownFileType = text.plist.strings; name = nb; path = nb.lproj/ShortcutRecorder.strings; sourceTree = ""; }; + E2741ACD1673C7B200A139BD /* nl */ = {isa = PBXFileReference; fileEncoding = 10; lastKnownFileType = text.plist.strings; name = nl; path = nl.lproj/ShortcutRecorder.strings; sourceTree = ""; }; + E2741ACE1673C7B300A139BD /* pl */ = {isa = PBXFileReference; fileEncoding = 10; lastKnownFileType = text.plist.strings; name = pl; path = pl.lproj/ShortcutRecorder.strings; sourceTree = ""; }; + E2741ACF1673C7B500A139BD /* pt-BR */ = {isa = PBXFileReference; fileEncoding = 10; lastKnownFileType = text.plist.strings; name = "pt-BR"; path = "pt-BR.lproj/ShortcutRecorder.strings"; sourceTree = ""; }; + E2741AD01673C7B600A139BD /* ro */ = {isa = PBXFileReference; fileEncoding = 10; lastKnownFileType = text.plist.strings; name = ro; path = ro.lproj/ShortcutRecorder.strings; sourceTree = ""; }; + E2741AD11673C7B800A139BD /* ru */ = {isa = PBXFileReference; fileEncoding = 10; lastKnownFileType = text.plist.strings; name = ru; path = ru.lproj/ShortcutRecorder.strings; sourceTree = ""; }; + E2741AD21673C7BB00A139BD /* sk */ = {isa = PBXFileReference; fileEncoding = 10; lastKnownFileType = text.plist.strings; name = sk; path = sk.lproj/ShortcutRecorder.strings; sourceTree = ""; }; + E2741AD31673C7BC00A139BD /* sv */ = {isa = PBXFileReference; fileEncoding = 10; lastKnownFileType = text.plist.strings; name = sv; path = sv.lproj/ShortcutRecorder.strings; sourceTree = ""; }; + E2741AD41673C7BD00A139BD /* th */ = {isa = PBXFileReference; fileEncoding = 10; lastKnownFileType = text.plist.strings; name = th; path = th.lproj/ShortcutRecorder.strings; sourceTree = ""; }; + E2741AD51673C7BF00A139BD /* zh-Hans */ = {isa = PBXFileReference; fileEncoding = 10; lastKnownFileType = text.plist.strings; name = "zh-Hans"; path = "zh-Hans.lproj/ShortcutRecorder.strings"; sourceTree = ""; }; + E2741AD61673C7C000A139BD /* es */ = {isa = PBXFileReference; fileEncoding = 10; lastKnownFileType = text.plist.strings; name = es; path = es.lproj/ShortcutRecorder.strings; sourceTree = ""; }; + E2741AD71673C7C200A139BD /* es-MX */ = {isa = PBXFileReference; fileEncoding = 10; lastKnownFileType = text.plist.strings; name = "es-MX"; path = "es-MX.lproj/ShortcutRecorder.strings"; sourceTree = ""; }; + E2741AD81673C7C300A139BD /* ca */ = {isa = PBXFileReference; fileEncoding = 10; lastKnownFileType = text.plist.strings; name = ca; path = ca.lproj/ShortcutRecorder.strings; sourceTree = ""; }; + E2741AD91673C7C600A139BD /* cs */ = {isa = PBXFileReference; fileEncoding = 10; lastKnownFileType = text.plist.strings; name = cs; path = cs.lproj/ShortcutRecorder.strings; sourceTree = ""; }; + E2741ADA1673C7C800A139BD /* pt */ = {isa = PBXFileReference; fileEncoding = 10; lastKnownFileType = text.plist.strings; name = pt; path = pt.lproj/ShortcutRecorder.strings; sourceTree = ""; }; + E2741ADB1673C7CA00A139BD /* zh-Hant */ = {isa = PBXFileReference; fileEncoding = 10; lastKnownFileType = text.plist.strings; name = "zh-Hant"; path = "zh-Hant.lproj/ShortcutRecorder.strings"; sourceTree = ""; }; + E2741ADE1673C83800A139BD /* LICENSE.txt */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = LICENSE.txt; sourceTree = ""; }; + E2741AE01673C90B00A139BD /* Cocoa.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Cocoa.framework; path = System/Library/Frameworks/Cocoa.framework; sourceTree = SDKROOT; }; + E2741AE81673CCBA00A139BD /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = Info.plist; path = Library/Info.plist; sourceTree = ""; }; + E279508E131A7498008AE1DA /* PTHotKey+ShortcutRecorder.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "PTHotKey+ShortcutRecorder.h"; sourceTree = ""; }; + E279508F131A7498008AE1DA /* PTHotKey+ShortcutRecorder.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "PTHotKey+ShortcutRecorder.m"; sourceTree = ""; }; + E28113AB167B8A9D001E118E /* SRModifierFlagsTransformer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = SRModifierFlagsTransformer.h; path = Library/SRModifierFlagsTransformer.h; sourceTree = ""; }; + E28113AC167B8A9D001E118E /* SRModifierFlagsTransformer.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = SRModifierFlagsTransformer.m; path = Library/SRModifierFlagsTransformer.m; sourceTree = ""; }; + E2BE924B16ABEFE400827E8C /* SRKeyEquivalentTransformer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = SRKeyEquivalentTransformer.h; path = Library/SRKeyEquivalentTransformer.h; sourceTree = ""; }; + E2BE924C16ABEFE400827E8C /* SRKeyEquivalentTransformer.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = SRKeyEquivalentTransformer.m; path = Library/SRKeyEquivalentTransformer.m; sourceTree = ""; }; + E2BE925016ABF84100827E8C /* SRKeyEquivalentModifierMaskTransformer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = SRKeyEquivalentModifierMaskTransformer.h; path = Library/SRKeyEquivalentModifierMaskTransformer.h; sourceTree = ""; }; + E2BE925116ABF84200827E8C /* SRKeyEquivalentModifierMaskTransformer.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = SRKeyEquivalentModifierMaskTransformer.m; path = Library/SRKeyEquivalentModifierMaskTransformer.m; sourceTree = ""; }; +/* End PBXFileReference section */ + +/* Begin PBXFrameworksBuildPhase section */ + 0D6B2465180304DE00CE1142 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + 0D6B24C31803057100CE1142 /* PTHotKey.framework in Frameworks */, + 0D6B24C11803053800CE1142 /* ShortcutRecorder.framework in Frameworks */, + 0D6B2469180304DE00CE1142 /* Cocoa.framework in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 9398377E0DA42965007F53F3 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + E2741AE61673C94E00A139BD /* Carbon.framework in Frameworks */, + E2741AE11673C90B00A139BD /* Cocoa.framework in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + E273122C1349EC9000A84433 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + E273124C1349EE6500A84433 /* Carbon.framework in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXFrameworksBuildPhase section */ + +/* Begin PBXGroup section */ + 080E96DDFE201D6D7F000001 /* ShortcutRecorder */ = { + isa = PBXGroup; + children = ( + 29B97317FDCFA39411CA2CEA /* Resources */, + BA10595B1689CEB000A3DDF5 /* Supporting Files */, + 939837B50DA42DFB007F53F3 /* ShortcutRecorder.h */, + 74C3670C0A246B4900B69171 /* SRKeyCodeTransformer.h */, + 74C3670D0A246B4900B69171 /* SRKeyCodeTransformer.m */, + E28113AB167B8A9D001E118E /* SRModifierFlagsTransformer.h */, + E28113AC167B8A9D001E118E /* SRModifierFlagsTransformer.m */, + E2BE924B16ABEFE400827E8C /* SRKeyEquivalentTransformer.h */, + E2BE924C16ABEFE400827E8C /* SRKeyEquivalentTransformer.m */, + E2BE925016ABF84100827E8C /* SRKeyEquivalentModifierMaskTransformer.h */, + E2BE925116ABF84200827E8C /* SRKeyEquivalentModifierMaskTransformer.m */, + 0B8E29C009CDB9360085E9ED /* SRRecorderControl.h */, + 0B8E29C109CDB9360085E9ED /* SRRecorderControl.m */, + 74C3670E0A246B4900B69171 /* SRValidator.h */, + 74C3670F0A246B4900B69171 /* SRValidator.m */, + 74C367100A246B4900B69171 /* SRCommon.h */, + 74C367110A246B4900B69171 /* SRCommon.m */, + ); + name = ShortcutRecorder; + sourceTree = ""; + }; + 0D6B246A180304DE00CE1142 /* Other Frameworks */ = { + isa = PBXGroup; + children = ( + 0D6B246B180304DE00CE1142 /* AppKit.framework */, + 0D6B246C180304DE00CE1142 /* CoreData.framework */, + 0D6B246D180304DE00CE1142 /* Foundation.framework */, + ); + name = "Other Frameworks"; + sourceTree = ""; + }; + 0D6B249A180304FA00CE1142 /* Demo */ = { + isa = PBXGroup; + children = ( + 0D6B24C4180305A300CE1142 /* Resources */, + 0D6B24C5180305AA00CE1142 /* Supporting Files */, + 0D6B24A7180304FA00CE1142 /* IKAppDelegate.h */, + 0D6B24A8180304FA00CE1142 /* IKAppDelegate.m */, + 0D6B24A9180304FA00CE1142 /* IKCodeAutoLayoutWindowController.h */, + 0D6B24AA180304FA00CE1142 /* IKCodeAutoLayoutWindowController.m */, + 0D6B24AB180304FA00CE1142 /* IKDemoWindowController.h */, + 0D6B24AC180304FA00CE1142 /* IKDemoWindowController.m */, + 0D6B24AD180304FA00CE1142 /* IKIBAutoLayoutWindowController.h */, + 0D6B24AE180304FA00CE1142 /* IKIBAutoLayoutWindowController.m */, + 0D6B24AF180304FA00CE1142 /* IKIBAutoresizingMasksWindowController.h */, + 0D6B24B0180304FA00CE1142 /* IKIBAutoresizingMasksWindowController.m */, + ); + path = Demo; + sourceTree = ""; + }; + 0D6B24C4180305A300CE1142 /* Resources */ = { + isa = PBXGroup; + children = ( + 0D6B249B180304FA00CE1142 /* Credits.rtf */, + 0D6B249D180304FA00CE1142 /* IKCodeAutoLayoutWindowController.xib */, + 0D6B249F180304FA00CE1142 /* IKIBAutoLayoutWindowController.xib */, + 0D6B24A1180304FA00CE1142 /* IKIBAutoresizingMasksWindowController.xib */, + 0D6B24A3180304FA00CE1142 /* InfoPlist.strings */, + 0D6B24A5180304FA00CE1142 /* MainMenu.xib */, + ); + name = Resources; + sourceTree = ""; + }; + 0D6B24C5180305AA00CE1142 /* Supporting Files */ = { + isa = PBXGroup; + children = ( + 0D6B24B1180304FA00CE1142 /* Info.plist */, + 0D6B24B2180304FA00CE1142 /* main.m */, + 0D6B24B3180304FA00CE1142 /* Prefix.pch */, + ); + name = "Supporting Files"; + sourceTree = ""; + }; + 0DB3F54B1802EE0B00576055 /* Frameworks */ = { + isa = PBXGroup; + children = ( + E2741AE01673C90B00A139BD /* Cocoa.framework */, + E273124B1349EE6500A84433 /* Carbon.framework */, + 0D6B2487180304DE00CE1142 /* XCTest.framework */, + 0D6B246A180304DE00CE1142 /* Other Frameworks */, + ); + name = Frameworks; + sourceTree = ""; + }; + 19C28FACFE9D520D11CA2CBB /* Products */ = { + isa = PBXGroup; + children = ( + 939837800DA42965007F53F3 /* ShortcutRecorder.framework */, + E273122E1349EC9000A84433 /* PTHotKey.framework */, + 0D6B2468180304DE00CE1142 /* Demo.app */, + ); + name = Products; + sourceTree = ""; + }; + 29B97314FDCFA39411CA2CEA /* ShortcutRecorder */ = { + isa = PBXGroup; + children = ( + E2741AE71673CC3D00A139BD /* PTHotKey */, + 080E96DDFE201D6D7F000001 /* ShortcutRecorder */, + 0D6B249A180304FA00CE1142 /* Demo */, + 0DB3F54B1802EE0B00576055 /* Frameworks */, + 19C28FACFE9D520D11CA2CBB /* Products */, + ); + name = ShortcutRecorder; + sourceTree = ""; + }; + 29B97317FDCFA39411CA2CEA /* Resources */ = { + isa = PBXGroup; + children = ( + BA547C011A5FD45B00C45C31 /* shortcut-recorder-yosemite-bezel-blue-highlighted-left.png */, + BA547C021A5FD45B00C45C31 /* shortcut-recorder-yosemite-bezel-blue-highlighted-left@2x.png */, + BA547C031A5FD45B00C45C31 /* shortcut-recorder-yosemite-bezel-blue-highlighted-middle.png */, + BA547C041A5FD45B00C45C31 /* shortcut-recorder-yosemite-bezel-blue-highlighted-middle@2x.png */, + BA547C051A5FD45B00C45C31 /* shortcut-recorder-yosemite-bezel-blue-highlighted-right.png */, + BA547C061A5FD45B00C45C31 /* shortcut-recorder-yosemite-bezel-blue-highlighted-right@2x.png */, + BA547C071A5FD45B00C45C31 /* shortcut-recorder-yosemite-bezel-disabled-left.png */, + BA547C081A5FD45B00C45C31 /* shortcut-recorder-yosemite-bezel-disabled-left@2x.png */, + BA547C091A5FD45B00C45C31 /* shortcut-recorder-yosemite-bezel-disabled-middle.png */, + BA547C0A1A5FD45B00C45C31 /* shortcut-recorder-yosemite-bezel-disabled-middle@2x.png */, + BA547C0B1A5FD45B00C45C31 /* shortcut-recorder-yosemite-bezel-disabled-right.png */, + BA547C0C1A5FD45B00C45C31 /* shortcut-recorder-yosemite-bezel-disabled-right@2x.png */, + BA547C0D1A5FD45B00C45C31 /* shortcut-recorder-yosemite-bezel-editing-left.png */, + BA547C0E1A5FD45B00C45C31 /* shortcut-recorder-yosemite-bezel-editing-left@2x.png */, + BA547C0F1A5FD45B00C45C31 /* shortcut-recorder-yosemite-bezel-editing-middle.png */, + BA547C101A5FD45B00C45C31 /* shortcut-recorder-yosemite-bezel-editing-middle@2x.png */, + BA547C111A5FD45B00C45C31 /* shortcut-recorder-yosemite-bezel-editing-right.png */, + BA547C121A5FD45B00C45C31 /* shortcut-recorder-yosemite-bezel-editing-right@2x.png */, + BA547C131A5FD45B00C45C31 /* shortcut-recorder-yosemite-bezel-graphite-highlight-mask-left.png */, + BA547C141A5FD45B00C45C31 /* shortcut-recorder-yosemite-bezel-graphite-highlight-mask-left@2x.png */, + BA547C151A5FD45B00C45C31 /* shortcut-recorder-yosemite-bezel-graphite-highlight-mask-middle.png */, + BA547C161A5FD45B00C45C31 /* shortcut-recorder-yosemite-bezel-graphite-highlight-mask-middle@2x.png */, + BA547C171A5FD45B00C45C31 /* shortcut-recorder-yosemite-bezel-graphite-highlight-mask-right.png */, + BA547C181A5FD45B00C45C31 /* shortcut-recorder-yosemite-bezel-graphite-highlight-mask-right@2x.png */, + BA547C191A5FD45B00C45C31 /* shortcut-recorder-yosemite-bezel-left.png */, + BA547C1A1A5FD45B00C45C31 /* shortcut-recorder-yosemite-bezel-left@2x.png */, + BA547C1B1A5FD45B00C45C31 /* shortcut-recorder-yosemite-bezel-middle.png */, + BA547C1C1A5FD45B00C45C31 /* shortcut-recorder-yosemite-bezel-middle@2x.png */, + BA547C1D1A5FD45B00C45C31 /* shortcut-recorder-yosemite-bezel-right.png */, + BA547C1E1A5FD45B00C45C31 /* shortcut-recorder-yosemite-bezel-right@2x.png */, + BA547C1F1A5FD45B00C45C31 /* shortcut-recorder-yosemite-clear-highlighted.png */, + BA547C201A5FD45B00C45C31 /* shortcut-recorder-yosemite-clear-highlighted@2x.png */, + BA547C211A5FD45B00C45C31 /* shortcut-recorder-yosemite-clear.png */, + BA547C221A5FD45B00C45C31 /* shortcut-recorder-yosemite-clear@2x.png */, + BA547C231A5FD45B00C45C31 /* shortcut-recorder-yosemite-snapback-highlighted.png */, + BA547C241A5FD45B00C45C31 /* shortcut-recorder-yosemite-snapback-highlighted@2x.png */, + BA547C251A5FD45B00C45C31 /* shortcut-recorder-yosemite-snapback.png */, + BA547C261A5FD45B00C45C31 /* shortcut-recorder-yosemite-snapback@2x.png */, + E20A897317F3322300502E33 /* shortcut-recorder-bezel-disabled-left.png */, + E20A897417F3322300502E33 /* shortcut-recorder-bezel-disabled-left@2x.png */, + E20A897517F3322300502E33 /* shortcut-recorder-bezel-disabled-middle.png */, + E20A897617F3322300502E33 /* shortcut-recorder-bezel-disabled-middle@2x.png */, + E20A897717F3322300502E33 /* shortcut-recorder-bezel-disabled-right.png */, + E20A897817F3322300502E33 /* shortcut-recorder-bezel-disabled-right@2x.png */, + E225E4471679E30E00A00529 /* shortcut-recorder-bezel-blue-highlighted-left.png */, + E225E4481679E30E00A00529 /* shortcut-recorder-bezel-blue-highlighted-left@2x.png */, + E225E4491679E30E00A00529 /* shortcut-recorder-bezel-blue-highlighted-middle.png */, + E225E44A1679E30E00A00529 /* shortcut-recorder-bezel-blue-highlighted-middle@2x.png */, + E225E44B1679E30E00A00529 /* shortcut-recorder-bezel-blue-highlighted-right.png */, + E225E44C1679E30E00A00529 /* shortcut-recorder-bezel-blue-highlighted-right@2x.png */, + E225E44D1679E30E00A00529 /* shortcut-recorder-bezel-editing-left.png */, + E225E44E1679E30E00A00529 /* shortcut-recorder-bezel-editing-left@2x.png */, + E225E44F1679E30E00A00529 /* shortcut-recorder-bezel-editing-middle.png */, + E225E4501679E30E00A00529 /* shortcut-recorder-bezel-editing-middle@2x.png */, + E225E4511679E30E00A00529 /* shortcut-recorder-bezel-editing-right.png */, + E225E4521679E30E00A00529 /* shortcut-recorder-bezel-editing-right@2x.png */, + E225E4531679E30E00A00529 /* shortcut-recorder-bezel-graphite-highlight-mask-left.png */, + E225E4541679E30E00A00529 /* shortcut-recorder-bezel-graphite-highlight-mask-left@2x.png */, + E225E4551679E30E00A00529 /* shortcut-recorder-bezel-graphite-highlight-mask-middle.png */, + E225E4561679E30E00A00529 /* shortcut-recorder-bezel-graphite-highlight-mask-middle@2x.png */, + E225E4571679E30E00A00529 /* shortcut-recorder-bezel-graphite-highlight-mask-right.png */, + E225E4581679E30E00A00529 /* shortcut-recorder-bezel-graphite-highlight-mask-right@2x.png */, + E225E4591679E30E00A00529 /* shortcut-recorder-bezel-left.png */, + E225E45A1679E30E00A00529 /* shortcut-recorder-bezel-left@2x.png */, + E225E45B1679E30E00A00529 /* shortcut-recorder-bezel-middle.png */, + E225E45C1679E30E00A00529 /* shortcut-recorder-bezel-middle@2x.png */, + E225E45D1679E30E00A00529 /* shortcut-recorder-bezel-right.png */, + E225E45E1679E30E00A00529 /* shortcut-recorder-bezel-right@2x.png */, + E225E45F1679E30E00A00529 /* shortcut-recorder-clear-highlighted.png */, + E225E4601679E30E00A00529 /* shortcut-recorder-clear-highlighted@2x.png */, + E225E4611679E30E00A00529 /* shortcut-recorder-clear.png */, + E225E4621679E30E00A00529 /* shortcut-recorder-clear@2x.png */, + E225E4631679E30E00A00529 /* shortcut-recorder-snapback-highlighted.png */, + E225E4641679E30E00A00529 /* shortcut-recorder-snapback-highlighted@2x.png */, + E225E4651679E30E00A00529 /* shortcut-recorder-snapback.png */, + E225E4661679E30E00A00529 /* shortcut-recorder-snapback@2x.png */, + E2741ADE1673C83800A139BD /* LICENSE.txt */, + E2741AC31673C79F00A139BD /* ShortcutRecorder.strings */, + ); + path = Resources; + sourceTree = SOURCE_ROOT; + }; + BA10595B1689CEB000A3DDF5 /* Supporting Files */ = { + isa = PBXGroup; + children = ( + 32CA4F630368D1EE00C91783 /* Prefix.pch */, + E2741AE81673CCBA00A139BD /* Info.plist */, + ); + name = "Supporting Files"; + sourceTree = ""; + }; + BA10595C1689CEBF00A3DDF5 /* Supporting Files */ = { + isa = PBXGroup; + children = ( + E273122F1349EC9000A84433 /* Info.plist */, + ); + name = "Supporting Files"; + sourceTree = ""; + }; + E2741AE71673CC3D00A139BD /* PTHotKey */ = { + isa = PBXGroup; + children = ( + BA10595C1689CEBF00A3DDF5 /* Supporting Files */, + 0B8E2A0309CDBADE0085E9ED /* PTHotKey.h */, + 0B8E2A0409CDBADE0085E9ED /* PTHotKey.m */, + 0B8E2A0509CDBADE0085E9ED /* PTHotKeyCenter.h */, + 0B8E2A0609CDBADE0085E9ED /* PTHotKeyCenter.m */, + A1125B75104C8AF3005C6F7B /* PTKeyCodeTranslator.h */, + A1125B76104C8AF3005C6F7B /* PTKeyCodeTranslator.m */, + 0B8E2A0709CDBADE0085E9ED /* PTKeyCombo.h */, + 0B8E2A0809CDBADE0085E9ED /* PTKeyCombo.m */, + E279508E131A7498008AE1DA /* PTHotKey+ShortcutRecorder.h */, + E279508F131A7498008AE1DA /* PTHotKey+ShortcutRecorder.m */, + ); + path = PTHotKey; + sourceTree = SOURCE_ROOT; + }; +/* End PBXGroup section */ + +/* Begin PBXHeadersBuildPhase section */ + 9398394A0DA4351C007F53F3 /* Headers */ = { + isa = PBXHeadersBuildPhase; + buildActionMask = 2147483647; + files = ( + 939839390DA4350B007F53F3 /* ShortcutRecorder.h in Headers */, + 9398393B0DA4350B007F53F3 /* SRRecorderControl.h in Headers */, + E28113AD167B8A9D001E118E /* SRModifierFlagsTransformer.h in Headers */, + E2BE924D16ABEFE400827E8C /* SRKeyEquivalentTransformer.h in Headers */, + E2BE925216ABF84200827E8C /* SRKeyEquivalentModifierMaskTransformer.h in Headers */, + 9398393E0DA4350B007F53F3 /* SRKeyCodeTransformer.h in Headers */, + 9398393F0DA4350B007F53F3 /* SRValidator.h in Headers */, + 939839400DA4350B007F53F3 /* SRCommon.h in Headers */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + E27312291349EC9000A84433 /* Headers */ = { + isa = PBXHeadersBuildPhase; + buildActionMask = 2147483647; + files = ( + E273123A1349EDB500A84433 /* PTHotKey.h in Headers */, + E273123B1349EDB500A84433 /* PTHotKeyCenter.h in Headers */, + E273123C1349EDB500A84433 /* PTKeyCodeTranslator.h in Headers */, + E273123D1349EDB500A84433 /* PTKeyCombo.h in Headers */, + E2BE927C16AC052000827E8C /* PTHotKey+ShortcutRecorder.h in Headers */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXHeadersBuildPhase section */ + +/* Begin PBXNativeTarget section */ + 0D6B2467180304DE00CE1142 /* Demo */ = { + isa = PBXNativeTarget; + buildConfigurationList = 0D6B2498180304DF00CE1142 /* Build configuration list for PBXNativeTarget "Demo" */; + buildPhases = ( + 0D6B2464180304DE00CE1142 /* Sources */, + 0D6B2465180304DE00CE1142 /* Frameworks */, + 0D6B2466180304DE00CE1142 /* Resources */, + 0D39CBD81803EA5F0001F249 /* Copy Frameworks */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = Demo; + productName = Demo; + productReference = 0D6B2468180304DE00CE1142 /* Demo.app */; + productType = "com.apple.product-type.application"; + }; + 9398377F0DA42965007F53F3 /* ShortcutRecorder.framework */ = { + isa = PBXNativeTarget; + buildConfigurationList = 939837840DA42965007F53F3 /* Build configuration list for PBXNativeTarget "ShortcutRecorder.framework" */; + buildPhases = ( + E2BADF0A134F13CD00F65E14 /* Resources */, + 9398377D0DA42965007F53F3 /* Sources */, + 9398377E0DA42965007F53F3 /* Frameworks */, + 9398394A0DA4351C007F53F3 /* Headers */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = ShortcutRecorder.framework; + productName = ShortcutRecorder.framework; + productReference = 939837800DA42965007F53F3 /* ShortcutRecorder.framework */; + productType = "com.apple.product-type.framework"; + }; + E273122D1349EC9000A84433 /* PTHotKey.framework */ = { + isa = PBXNativeTarget; + buildConfigurationList = E27312381349EC9000A84433 /* Build configuration list for PBXNativeTarget "PTHotKey.framework" */; + buildPhases = ( + E273122B1349EC9000A84433 /* Sources */, + E273122C1349EC9000A84433 /* Frameworks */, + E27312291349EC9000A84433 /* Headers */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = PTHotKey.framework; + productName = PTHotKey; + productReference = E273122E1349EC9000A84433 /* PTHotKey.framework */; + productType = "com.apple.product-type.framework"; + }; +/* End PBXNativeTarget section */ + +/* Begin PBXProject section */ + 29B97313FDCFA39411CA2CEA /* Project object */ = { + isa = PBXProject; + attributes = { + LastUpgradeCheck = 0610; + }; + buildConfigurationList = C01FCF4E08A954540054247B /* Build configuration list for PBXProject "ShortcutRecorder" */; + compatibilityVersion = "Xcode 3.2"; + developmentRegion = English; + hasScannedForEncodings = 1; + knownRegions = ( + English, + Japanese, + French, + German, + sv, + Dutch, + ru, + de, + el, + en, + fr, + it, + ja, + ko, + nb, + nl, + pl, + "pt-BR", + ro, + sk, + th, + "zh-Hans", + es, + "es-MX", + ca, + cs, + pt, + "zh-Hant", + Base, + ); + mainGroup = 29B97314FDCFA39411CA2CEA /* ShortcutRecorder */; + projectDirPath = ""; + projectRoot = ""; + targets = ( + 9398377F0DA42965007F53F3 /* ShortcutRecorder.framework */, + E273122D1349EC9000A84433 /* PTHotKey.framework */, + 0D6B2467180304DE00CE1142 /* Demo */, + ); + }; +/* End PBXProject section */ + +/* Begin PBXResourcesBuildPhase section */ + 0D6B2466180304DE00CE1142 /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 0D6B24B7180304FA00CE1142 /* IKIBAutoresizingMasksWindowController.xib in Resources */, + 0D6B24B4180304FA00CE1142 /* Credits.rtf in Resources */, + 0D6B24B6180304FA00CE1142 /* IKIBAutoLayoutWindowController.xib in Resources */, + 0D6B24B5180304FA00CE1142 /* IKCodeAutoLayoutWindowController.xib in Resources */, + 0D6B24B8180304FA00CE1142 /* InfoPlist.strings in Resources */, + 0D6B24B9180304FA00CE1142 /* MainMenu.xib in Resources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + E2BADF0A134F13CD00F65E14 /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + BA547C3C1A5FD45B00C45C31 /* shortcut-recorder-yosemite-bezel-graphite-highlight-mask-middle@2x.png in Resources */, + E20A897E17F3322300502E33 /* shortcut-recorder-bezel-disabled-right@2x.png in Resources */, + BA547C371A5FD45B00C45C31 /* shortcut-recorder-yosemite-bezel-editing-right.png in Resources */, + E2741AC51673C79F00A139BD /* ShortcutRecorder.strings in Resources */, + BA547C351A5FD45B00C45C31 /* shortcut-recorder-yosemite-bezel-editing-middle.png in Resources */, + E2741ADF1673C83800A139BD /* LICENSE.txt in Resources */, + BA547C3E1A5FD45B00C45C31 /* shortcut-recorder-yosemite-bezel-graphite-highlight-mask-right@2x.png in Resources */, + BA547C481A5FD45B00C45C31 /* shortcut-recorder-yosemite-clear@2x.png in Resources */, + E20A897C17F3322300502E33 /* shortcut-recorder-bezel-disabled-middle@2x.png in Resources */, + E225E4671679E30E00A00529 /* shortcut-recorder-bezel-blue-highlighted-left.png in Resources */, + BA547C441A5FD45B00C45C31 /* shortcut-recorder-yosemite-bezel-right@2x.png in Resources */, + E225E4681679E30E00A00529 /* shortcut-recorder-bezel-blue-highlighted-left@2x.png in Resources */, + BA547C291A5FD45B00C45C31 /* shortcut-recorder-yosemite-bezel-blue-highlighted-middle.png in Resources */, + BA547C451A5FD45B00C45C31 /* shortcut-recorder-yosemite-clear-highlighted.png in Resources */, + BA547C3B1A5FD45B00C45C31 /* shortcut-recorder-yosemite-bezel-graphite-highlight-mask-middle.png in Resources */, + E225E4691679E30E00A00529 /* shortcut-recorder-bezel-blue-highlighted-middle.png in Resources */, + E225E46A1679E30E00A00529 /* shortcut-recorder-bezel-blue-highlighted-middle@2x.png in Resources */, + E225E46B1679E30E00A00529 /* shortcut-recorder-bezel-blue-highlighted-right.png in Resources */, + E20A897B17F3322300502E33 /* shortcut-recorder-bezel-disabled-middle.png in Resources */, + E225E46C1679E30E00A00529 /* shortcut-recorder-bezel-blue-highlighted-right@2x.png in Resources */, + E225E46D1679E30E00A00529 /* shortcut-recorder-bezel-editing-left.png in Resources */, + E225E46E1679E30E00A00529 /* shortcut-recorder-bezel-editing-left@2x.png in Resources */, + E225E46F1679E30E00A00529 /* shortcut-recorder-bezel-editing-middle.png in Resources */, + E225E4701679E30E00A00529 /* shortcut-recorder-bezel-editing-middle@2x.png in Resources */, + BA547C421A5FD45B00C45C31 /* shortcut-recorder-yosemite-bezel-middle@2x.png in Resources */, + E225E4711679E30E00A00529 /* shortcut-recorder-bezel-editing-right.png in Resources */, + BA547C361A5FD45B00C45C31 /* shortcut-recorder-yosemite-bezel-editing-middle@2x.png in Resources */, + BA547C321A5FD45B00C45C31 /* shortcut-recorder-yosemite-bezel-disabled-right@2x.png in Resources */, + BA547C4A1A5FD45B00C45C31 /* shortcut-recorder-yosemite-snapback-highlighted@2x.png in Resources */, + E225E4721679E30E00A00529 /* shortcut-recorder-bezel-editing-right@2x.png in Resources */, + E225E4731679E30E00A00529 /* shortcut-recorder-bezel-graphite-highlight-mask-left.png in Resources */, + BA547C2F1A5FD45B00C45C31 /* shortcut-recorder-yosemite-bezel-disabled-middle.png in Resources */, + E225E4741679E30E00A00529 /* shortcut-recorder-bezel-graphite-highlight-mask-left@2x.png in Resources */, + E225E4751679E30E00A00529 /* shortcut-recorder-bezel-graphite-highlight-mask-middle.png in Resources */, + E225E4761679E30E00A00529 /* shortcut-recorder-bezel-graphite-highlight-mask-middle@2x.png in Resources */, + BA547C341A5FD45B00C45C31 /* shortcut-recorder-yosemite-bezel-editing-left@2x.png in Resources */, + E225E4771679E30E00A00529 /* shortcut-recorder-bezel-graphite-highlight-mask-right.png in Resources */, + BA547C431A5FD45B00C45C31 /* shortcut-recorder-yosemite-bezel-right.png in Resources */, + BA547C2B1A5FD45B00C45C31 /* shortcut-recorder-yosemite-bezel-blue-highlighted-right.png in Resources */, + BA547C461A5FD45B00C45C31 /* shortcut-recorder-yosemite-clear-highlighted@2x.png in Resources */, + BA547C381A5FD45B00C45C31 /* shortcut-recorder-yosemite-bezel-editing-right@2x.png in Resources */, + E225E4781679E30E00A00529 /* shortcut-recorder-bezel-graphite-highlight-mask-right@2x.png in Resources */, + BA547C281A5FD45B00C45C31 /* shortcut-recorder-yosemite-bezel-blue-highlighted-left@2x.png in Resources */, + BA547C301A5FD45B00C45C31 /* shortcut-recorder-yosemite-bezel-disabled-middle@2x.png in Resources */, + BA547C3D1A5FD45B00C45C31 /* shortcut-recorder-yosemite-bezel-graphite-highlight-mask-right.png in Resources */, + E225E4791679E30E00A00529 /* shortcut-recorder-bezel-left.png in Resources */, + E225E47A1679E30E00A00529 /* shortcut-recorder-bezel-left@2x.png in Resources */, + BA547C391A5FD45B00C45C31 /* shortcut-recorder-yosemite-bezel-graphite-highlight-mask-left.png in Resources */, + BA547C471A5FD45B00C45C31 /* shortcut-recorder-yosemite-clear.png in Resources */, + E225E47B1679E30E00A00529 /* shortcut-recorder-bezel-middle.png in Resources */, + BA547C2C1A5FD45B00C45C31 /* shortcut-recorder-yosemite-bezel-blue-highlighted-right@2x.png in Resources */, + E225E47C1679E30E00A00529 /* shortcut-recorder-bezel-middle@2x.png in Resources */, + BA547C2A1A5FD45B00C45C31 /* shortcut-recorder-yosemite-bezel-blue-highlighted-middle@2x.png in Resources */, + E225E47D1679E30E00A00529 /* shortcut-recorder-bezel-right.png in Resources */, + BA547C3A1A5FD45B00C45C31 /* shortcut-recorder-yosemite-bezel-graphite-highlight-mask-left@2x.png in Resources */, + E225E47E1679E30E00A00529 /* shortcut-recorder-bezel-right@2x.png in Resources */, + BA547C271A5FD45B00C45C31 /* shortcut-recorder-yosemite-bezel-blue-highlighted-left.png in Resources */, + BA547C311A5FD45B00C45C31 /* shortcut-recorder-yosemite-bezel-disabled-right.png in Resources */, + E225E47F1679E30E00A00529 /* shortcut-recorder-clear-highlighted.png in Resources */, + E225E4801679E30E00A00529 /* shortcut-recorder-clear-highlighted@2x.png in Resources */, + E20A897A17F3322300502E33 /* shortcut-recorder-bezel-disabled-left@2x.png in Resources */, + BA547C3F1A5FD45B00C45C31 /* shortcut-recorder-yosemite-bezel-left.png in Resources */, + BA547C331A5FD45B00C45C31 /* shortcut-recorder-yosemite-bezel-editing-left.png in Resources */, + BA547C401A5FD45B00C45C31 /* shortcut-recorder-yosemite-bezel-left@2x.png in Resources */, + E20A897D17F3322300502E33 /* shortcut-recorder-bezel-disabled-right.png in Resources */, + E225E4811679E30E00A00529 /* shortcut-recorder-clear.png in Resources */, + BA547C2D1A5FD45B00C45C31 /* shortcut-recorder-yosemite-bezel-disabled-left.png in Resources */, + BA547C491A5FD45B00C45C31 /* shortcut-recorder-yosemite-snapback-highlighted.png in Resources */, + BA547C2E1A5FD45B00C45C31 /* shortcut-recorder-yosemite-bezel-disabled-left@2x.png in Resources */, + E225E4821679E30E00A00529 /* shortcut-recorder-clear@2x.png in Resources */, + E225E4831679E30E00A00529 /* shortcut-recorder-snapback-highlighted.png in Resources */, + E225E4841679E30E00A00529 /* shortcut-recorder-snapback-highlighted@2x.png in Resources */, + E225E4851679E30E00A00529 /* shortcut-recorder-snapback.png in Resources */, + E225E4861679E30E00A00529 /* shortcut-recorder-snapback@2x.png in Resources */, + BA547C4C1A5FD45B00C45C31 /* shortcut-recorder-yosemite-snapback@2x.png in Resources */, + BA547C411A5FD45B00C45C31 /* shortcut-recorder-yosemite-bezel-middle.png in Resources */, + BA547C4B1A5FD45B00C45C31 /* shortcut-recorder-yosemite-snapback.png in Resources */, + E20A897917F3322300502E33 /* shortcut-recorder-bezel-disabled-left.png in Resources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXResourcesBuildPhase section */ + +/* Begin PBXSourcesBuildPhase section */ + 0D6B2464180304DE00CE1142 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 0D6B24BC180304FA00CE1142 /* IKDemoWindowController.m in Sources */, + 0D6B24BA180304FA00CE1142 /* IKAppDelegate.m in Sources */, + 0D6B24BE180304FA00CE1142 /* IKIBAutoresizingMasksWindowController.m in Sources */, + 0D6B24BD180304FA00CE1142 /* IKIBAutoLayoutWindowController.m in Sources */, + 0D6B24C0180304FA00CE1142 /* main.m in Sources */, + 0D6B24BB180304FA00CE1142 /* IKCodeAutoLayoutWindowController.m in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 9398377D0DA42965007F53F3 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 939837950DA429EC007F53F3 /* SRRecorderControl.m in Sources */, + 939837980DA429EC007F53F3 /* SRKeyCodeTransformer.m in Sources */, + 939837990DA429EC007F53F3 /* SRValidator.m in Sources */, + 9398379A0DA429EC007F53F3 /* SRCommon.m in Sources */, + E28113AE167B8A9D001E118E /* SRModifierFlagsTransformer.m in Sources */, + E2BE924E16ABEFE400827E8C /* SRKeyEquivalentTransformer.m in Sources */, + E2BE925316ABF84200827E8C /* SRKeyEquivalentModifierMaskTransformer.m in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + E273122B1349EC9000A84433 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + E27312401349EDCA00A84433 /* PTHotKey.m in Sources */, + E27312411349EDCA00A84433 /* PTHotKeyCenter.m in Sources */, + E27312421349EDCA00A84433 /* PTKeyCodeTranslator.m in Sources */, + E27312431349EDCA00A84433 /* PTKeyCombo.m in Sources */, + E2BE927D16AC052600827E8C /* PTHotKey+ShortcutRecorder.m in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXSourcesBuildPhase section */ + +/* Begin PBXVariantGroup section */ + 0D6B249B180304FA00CE1142 /* Credits.rtf */ = { + isa = PBXVariantGroup; + children = ( + 0D6B249C180304FA00CE1142 /* en */, + ); + name = Credits.rtf; + sourceTree = ""; + }; + 0D6B249D180304FA00CE1142 /* IKCodeAutoLayoutWindowController.xib */ = { + isa = PBXVariantGroup; + children = ( + 0D6B249E180304FA00CE1142 /* en */, + ); + name = IKCodeAutoLayoutWindowController.xib; + sourceTree = ""; + }; + 0D6B249F180304FA00CE1142 /* IKIBAutoLayoutWindowController.xib */ = { + isa = PBXVariantGroup; + children = ( + 0D6B24A0180304FA00CE1142 /* en */, + ); + name = IKIBAutoLayoutWindowController.xib; + sourceTree = ""; + }; + 0D6B24A1180304FA00CE1142 /* IKIBAutoresizingMasksWindowController.xib */ = { + isa = PBXVariantGroup; + children = ( + 0D6B24A2180304FA00CE1142 /* en */, + ); + name = IKIBAutoresizingMasksWindowController.xib; + sourceTree = ""; + }; + 0D6B24A3180304FA00CE1142 /* InfoPlist.strings */ = { + isa = PBXVariantGroup; + children = ( + 0D6B24A4180304FA00CE1142 /* en */, + ); + name = InfoPlist.strings; + sourceTree = ""; + }; + 0D6B24A5180304FA00CE1142 /* MainMenu.xib */ = { + isa = PBXVariantGroup; + children = ( + 0D6B24A6180304FA00CE1142 /* en */, + ); + name = MainMenu.xib; + sourceTree = ""; + }; + E2741AC31673C79F00A139BD /* ShortcutRecorder.strings */ = { + isa = PBXVariantGroup; + children = ( + E2741AC41673C79F00A139BD /* en */, + E2741AC61673C7A400A139BD /* de */, + E2741AC71673C7A600A139BD /* el */, + E2741AC81673C7A800A139BD /* fr */, + E2741AC91673C7AA00A139BD /* it */, + E2741ACA1673C7AC00A139BD /* ja */, + E2741ACB1673C7AD00A139BD /* ko */, + E2741ACC1673C7AF00A139BD /* nb */, + E2741ACD1673C7B200A139BD /* nl */, + E2741ACE1673C7B300A139BD /* pl */, + E2741ACF1673C7B500A139BD /* pt-BR */, + E2741AD01673C7B600A139BD /* ro */, + E2741AD11673C7B800A139BD /* ru */, + E2741AD21673C7BB00A139BD /* sk */, + E2741AD31673C7BC00A139BD /* sv */, + E2741AD41673C7BD00A139BD /* th */, + E2741AD51673C7BF00A139BD /* zh-Hans */, + E2741AD61673C7C000A139BD /* es */, + E2741AD71673C7C200A139BD /* es-MX */, + E2741AD81673C7C300A139BD /* ca */, + E2741AD91673C7C600A139BD /* cs */, + E2741ADA1673C7C800A139BD /* pt */, + E2741ADB1673C7CA00A139BD /* zh-Hant */, + ); + name = ShortcutRecorder.strings; + sourceTree = ""; + }; +/* End PBXVariantGroup section */ + +/* Begin XCBuildConfiguration section */ + 0D6B2494180304DF00CE1142 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + COMBINE_HIDPI_IMAGES = YES; + GCC_DYNAMIC_NO_PIC = NO; + GCC_ENABLE_OBJC_EXCEPTIONS = YES; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PRECOMPILE_PREFIX_HEADER = YES; + GCC_PREFIX_HEADER = Demo/Prefix.pch; + GCC_PREPROCESSOR_DEFINITIONS = ( + "DEBUG=1", + "$(inherited)", + ); + GCC_SYMBOLS_PRIVATE_EXTERN = NO; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES; + INFOPLIST_FILE = Demo/Info.plist; + LD_RUNPATH_SEARCH_PATHS = "@executable_path/../Frameworks"; + MACOSX_DEPLOYMENT_TARGET = 10.7; + PRODUCT_NAME = "$(TARGET_NAME)"; + WRAPPER_EXTENSION = app; + }; + name = Debug; + }; + 0D6B2495180304DF00CE1142 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + COMBINE_HIDPI_IMAGES = YES; + COPY_PHASE_STRIP = YES; + ENABLE_NS_ASSERTIONS = NO; + GCC_ENABLE_OBJC_EXCEPTIONS = YES; + GCC_PRECOMPILE_PREFIX_HEADER = YES; + GCC_PREFIX_HEADER = Demo/Prefix.pch; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES; + INFOPLIST_FILE = Demo/Info.plist; + LD_RUNPATH_SEARCH_PATHS = "@executable_path/../Frameworks"; + MACOSX_DEPLOYMENT_TARGET = 10.7; + PRODUCT_NAME = "$(TARGET_NAME)"; + WRAPPER_EXTENSION = app; + }; + name = Release; + }; + 939837820DA42965007F53F3 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + CLANG_ENABLE_OBJC_ARC = YES; + CODE_SIGN_IDENTITY = ""; + COMBINE_HIDPI_IMAGES = YES; + DYLIB_COMPATIBILITY_VERSION = 2.6; + DYLIB_CURRENT_VERSION = 2.11; + FRAMEWORK_VERSION = A; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PRECOMPILE_PREFIX_HEADER = YES; + GCC_PREFIX_HEADER = Library/Prefix.pch; + INFOPLIST_FILE = Library/Info.plist; + INSTALL_PATH = "@rpath"; + PRODUCT_NAME = ShortcutRecorder; + PROVISIONING_PROFILE = ""; + }; + name = Debug; + }; + 939837830DA42965007F53F3 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + CLANG_ENABLE_OBJC_ARC = YES; + CODE_SIGN_IDENTITY = ""; + COMBINE_HIDPI_IMAGES = YES; + DYLIB_COMPATIBILITY_VERSION = 2.6; + DYLIB_CURRENT_VERSION = 2.11; + FRAMEWORK_VERSION = A; + GCC_PRECOMPILE_PREFIX_HEADER = YES; + GCC_PREFIX_HEADER = Library/Prefix.pch; + INFOPLIST_FILE = Library/Info.plist; + INSTALL_PATH = "@rpath"; + PRODUCT_NAME = ShortcutRecorder; + PROVISIONING_PROFILE = ""; + }; + name = Release; + }; + C01FCF4F08A954540054247B /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + CLANG_X86_VECTOR_INSTRUCTIONS = ssse3; + COPY_PHASE_STRIP = NO; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + GCC_C_LANGUAGE_STANDARD = gnu99; + GCC_PREPROCESSOR_DEFINITIONS = DEBUG; + GCC_VERSION = ""; + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + MACOSX_DEPLOYMENT_TARGET = 10.6; + ONLY_ACTIVE_ARCH = YES; + SDKROOT = macosx; + SKIP_INSTALL = YES; + WARNING_CFLAGS = "-Wall"; + }; + name = Debug; + }; + C01FCF5008A954540054247B /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + CLANG_X86_VECTOR_INSTRUCTIONS = ssse3; + DEAD_CODE_STRIPPING = YES; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + GCC_C_LANGUAGE_STANDARD = gnu99; + GCC_VERSION = ""; + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + MACOSX_DEPLOYMENT_TARGET = 10.6; + SDKROOT = macosx; + SKIP_INSTALL = YES; + WARNING_CFLAGS = "-Wall"; + }; + name = Release; + }; + E27312361349EC9000A84433 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CODE_SIGN_IDENTITY = ""; + COMBINE_HIDPI_IMAGES = YES; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1.2; + FRAMEWORK_VERSION = A; + GCC_DYNAMIC_NO_PIC = NO; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PRECOMPILE_PREFIX_HEADER = YES; + INFOPLIST_FILE = PTHotKey/Info.plist; + INSTALL_PATH = "@rpath"; + MACOSX_DEPLOYMENT_TARGET = 10.6.8; + OTHER_LDFLAGS = ( + "-framework", + Foundation, + "-framework", + AppKit, + ); + PRODUCT_NAME = PTHotKey; + }; + name = Debug; + }; + E27312371349EC9000A84433 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CODE_SIGN_IDENTITY = ""; + COMBINE_HIDPI_IMAGES = YES; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1.2; + FRAMEWORK_VERSION = A; + GCC_PRECOMPILE_PREFIX_HEADER = YES; + INFOPLIST_FILE = PTHotKey/Info.plist; + INSTALL_PATH = "@rpath"; + MACOSX_DEPLOYMENT_TARGET = 10.6.8; + OTHER_LDFLAGS = ( + "-framework", + Foundation, + "-framework", + AppKit, + ); + PRODUCT_NAME = PTHotKey; + }; + name = Release; + }; +/* End XCBuildConfiguration section */ + +/* Begin XCConfigurationList section */ + 0D6B2498180304DF00CE1142 /* Build configuration list for PBXNativeTarget "Demo" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 0D6B2494180304DF00CE1142 /* Debug */, + 0D6B2495180304DF00CE1142 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + 939837840DA42965007F53F3 /* Build configuration list for PBXNativeTarget "ShortcutRecorder.framework" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 939837820DA42965007F53F3 /* Debug */, + 939837830DA42965007F53F3 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + C01FCF4E08A954540054247B /* Build configuration list for PBXProject "ShortcutRecorder" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + C01FCF4F08A954540054247B /* Debug */, + C01FCF5008A954540054247B /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + E27312381349EC9000A84433 /* Build configuration list for PBXNativeTarget "PTHotKey.framework" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + E27312361349EC9000A84433 /* Debug */, + E27312371349EC9000A84433 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; +/* End XCConfigurationList section */ + }; + rootObject = 29B97313FDCFA39411CA2CEA /* Project object */; +} diff --git a/Stopwatch.h b/Stopwatch.h index 34925d0..70cc67b 100644 --- a/Stopwatch.h +++ b/Stopwatch.h @@ -24,7 +24,7 @@ NSTimer* timer; NSDate* reference; NSTimeInterval accum; - BOOL seperatorIsActive; + BOOL separatorIsActive; } @property (nonatomic, assign) id delegate; diff --git a/Stopwatch.m b/Stopwatch.m index 75c042d..1539c48 100644 --- a/Stopwatch.m +++ b/Stopwatch.m @@ -12,7 +12,7 @@ @interface Stopwatch () @property (nonatomic, retain) NSTimer* timer; @property (nonatomic, retain) NSDate* reference; @property (nonatomic) NSTimeInterval accum; -@property (nonatomic) BOOL seperatorIsActive; +@property (nonatomic) BOOL separatorIsActive; - (void) tick; @end @@ -22,14 +22,14 @@ @implementation Stopwatch @synthesize timer; @synthesize reference; @synthesize accum; -@synthesize seperatorIsActive; +@synthesize separatorIsActive; - (id)init { if (self = [super init]) { self.timer = nil; self.reference = [NSDate date]; self.accum = 0; - self.seperatorIsActive = TRUE; + self.separatorIsActive = TRUE; } return self; @@ -52,13 +52,13 @@ - (NSString*) description { seconds = seconds % 60; // Toggling seperator - if(self.seperatorIsActive || ![[NSUserDefaults standardUserDefaults] boolForKey:@"flashTimeSeperator"]) { + if(self.separatorIsActive || ![[NSUserDefaults standardUserDefaults] boolForKey:@"flashTimeSeparator"]) { seperator = @":"; - self.seperatorIsActive = FALSE; + self.separatorIsActive = FALSE; } else { seperator = @" "; - self.seperatorIsActive = TRUE; + self.separatorIsActive = TRUE; } if([[NSUserDefaults standardUserDefaults] boolForKey:@"hideSeconds"]) { @@ -117,8 +117,8 @@ - (void) pause { [self.timer invalidate]; self.timer = nil; - // Force the seperator to show - self.seperatorIsActive = TRUE; + // Force the separator to show + self.separatorIsActive = TRUE; if (self.delegate) { [self.delegate didPause:self]; diff --git a/ThymeAppDelegate.m b/ThymeAppDelegate.m index a662840..bdda032 100644 --- a/ThymeAppDelegate.m +++ b/ThymeAppDelegate.m @@ -416,7 +416,9 @@ - (void) onScreensaverStart: (NSNotification*) note - (void) onScreensaverStop: (NSNotification*) note { NSLog(@"screensaver stop"); - if ([[NSUserDefaults standardUserDefaults] boolForKey:@"pauseOnScreensaver"]) { + NSLog(@"Clock was active: %hhd", stopwatch.isPaused); + + if ([[NSUserDefaults standardUserDefaults] boolForKey:@"pauseOnScreensaver"] && !stopwatch.isPaused) { [self startWithNotification:NO]; } }