diff options
Diffstat (limited to 'Low Battery Yup/AppDelegate.m')
-rw-r--r-- | Low Battery Yup/AppDelegate.m | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/Low Battery Yup/AppDelegate.m b/Low Battery Yup/AppDelegate.m index 83d03ae..69081ca 100644 --- a/Low Battery Yup/AppDelegate.m +++ b/Low Battery Yup/AppDelegate.m @@ -11,13 +11,32 @@ @implementation AppDelegate +- (id)init +{ + self = [super init]; + if (self) { + _launchagent = [[LaunchAgentManager alloc] init]; + _daemon_launcher = [[DaemonLauncher alloc] init]; + } + return self; +} + - (void)dealloc { + [_launchagent release]; + [_daemon_launcher release]; [super dealloc]; } - (void)applicationDidFinishLaunching:(NSNotification *)aNotification { + [self initializeShortcutView]; + [self performStartAtLogin:self]; + [_launch_app setState:[_daemon_launcher isRunning]]; +} + +- (void)initializeShortcutView +{ NSDictionary *saved_shortcut; if ((saved_shortcut = [[NSUserDefaults standardUserDefaults] objectForKey:kPreferenceGlobalShortcut])) { MASShortcut *shortcut = [MASShortcut @@ -28,6 +47,26 @@ } } +- (IBAction)performStartAtLogin:(id)sender +{ + if ([_start_at_login state] == NSOnState) { + [_launchagent install]; + } + else { + [_launchagent uninstall]; + } +} + +- (IBAction)launchOrQuitDaemon:(id)sender +{ + if ([_launch_app state]) { + [_daemon_launcher launch]; + } + else { + [_daemon_launcher quit]; + } +} + - (BOOL)applicationShouldTerminateAfterLastWindowClosed:(NSApplication *)theApplication { return YES; |