aboutsummaryrefslogtreecommitdiffstats
path: root/Low Battery Yup/AppDelegate.m
diff options
context:
space:
mode:
Diffstat (limited to 'Low Battery Yup/AppDelegate.m')
-rw-r--r--Low Battery Yup/AppDelegate.m39
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;