diff --git a/KeepingYouAwake/KYAAppController/KYAAppDelegate.m b/KeepingYouAwake/KYAAppController/KYAAppDelegate.m index a99d9b52..58de86a1 100644 --- a/KeepingYouAwake/KYAAppController/KYAAppDelegate.m +++ b/KeepingYouAwake/KYAAppController/KYAAppDelegate.m @@ -68,4 +68,27 @@ - (void)showSettingsWindow:(id)sender [settingsWindow makeKeyAndOrderFront:sender]; } +#pragma mark - Menu Actions + +- (void)toggleAllowDisplaySleep:(id)sender +{ + Auto defaults = NSUserDefaults.standardUserDefaults; + BOOL currentValue = [defaults kya_shouldAllowDisplaySleep]; + [defaults setKya_allowDisplaySleep:!currentValue]; + [defaults synchronize]; +} + +- (BOOL)validateMenuItem:(NSMenuItem *)menuItem +{ + if(menuItem.action == @selector(toggleAllowDisplaySleep:)) + { + Auto defaults = NSUserDefaults.standardUserDefaults; + BOOL allowDisplaySleep = [defaults kya_shouldAllowDisplaySleep]; + menuItem.state = allowDisplaySleep ? NSControlStateValueOn : NSControlStateValueOff; + return YES; + } + + return YES; +} + @end diff --git a/KeepingYouAwake/KYAMainMenu/KYAMainMenu.m b/KeepingYouAwake/KYAMainMenu/KYAMainMenu.m index 47754ee9..5b5d6292 100644 --- a/KeepingYouAwake/KYAMainMenu/KYAMainMenu.m +++ b/KeepingYouAwake/KYAMainMenu/KYAMainMenu.m @@ -26,7 +26,15 @@ } activateForDuration.submenu = activationDurationsSubMenu; [mainMenu addItem:activateForDuration]; - + + [mainMenu addItem:NSMenuItem.separatorItem]; + + Auto allowDisplaySleep = [[NSMenuItem alloc] initWithTitle:KYA_L10N_ALLOW_DISPLAY_SLEEP + action:@selector(toggleAllowDisplaySleep:) + keyEquivalent:@""]; + allowDisplaySleep.target = NSApplication.sharedApplication.delegate; + [mainMenu addItem:allowDisplaySleep]; + [mainMenu addItem:NSMenuItem.separatorItem]; Auto settings = [[NSMenuItem alloc] initWithTitle:KYA_L10N_SETTINGS_ELLIPSIS