X-Git-Url: http://git.ithinksw.org/MenuTunes.git/blobdiff_plain/f5a6ce6a15a5c873ffd7f4e6e0a591de057dee35..f4138fee3ff009b89aba308c5736357d2245118b:/MainController.m?ds=sidebyside diff --git a/MainController.m b/MainController.m index 5f25c09..b695d80 100755 --- a/MainController.m +++ b/MainController.m @@ -41,6 +41,7 @@ static MainController *sharedController; menuController = [[MenuController alloc] init]; df = [[NSUserDefaults standardUserDefaults] retain]; timerUpdating = NO; + blinged = NO; } return self; } @@ -159,7 +160,11 @@ static MainController *sharedController; NSMutableDictionary *globalPrefs; [df synchronize]; globalPrefs = [[df persistentDomainForName:@".GlobalPreferences"] mutableCopy]; - [globalPrefs setObject:date forKey:@"ITMTTrialStart"]; + if (date) { + [globalPrefs setObject:date forKey:@"ITMTTrialStart"]; + } else { + [globalPrefs removeObjectForKey:@"ITMTTrialStart"]; + } [df setPersistentDomain:globalPrefs forName:@".GlobalPreferences"]; [df synchronize]; [globalPrefs release]; @@ -174,19 +179,34 @@ static MainController *sharedController; - (void)blingTime { NSDate *now = [NSDate date]; - if ( (! [self getBlingTime] ) || ([now timeIntervalSinceDate:[self getBlingTime]] < 0) ) { - [self setBlingTime:now]; - } - if ( ([now timeIntervalSinceDate:[self getBlingTime]] >= 604800) ) { - [statusItem setEnabled:NO]; - [self clearHotKeys]; - if ([refreshTimer isValid]) { - [refreshTimer invalidate]; + if (![self blingBling]) { + if ( (! [self getBlingTime] ) || ([now timeIntervalSinceDate:[self getBlingTime]] < 0) ) { + [self setBlingTime:now]; } - if ([registerTimer isValid]) { - [registerTimer invalidate]; + if ( ([now timeIntervalSinceDate:[self getBlingTime]] >= 604800) && (blinged != YES) ) { + blinged = YES; + [statusItem setEnabled:NO]; + [self clearHotKeys]; + if ([refreshTimer isValid]) { + [refreshTimer invalidate]; + } + [statusWindowController showRegistrationQueryWindow]; + } + } else { + if (blinged) { + [statusItem setEnabled:YES]; + [self setupHotKeys]; + if (![refreshTimer isValid]) { + [refreshTimer release]; + refreshTimer = refreshTimer = [[NSTimer scheduledTimerWithTimeInterval:0.5 + target:self + selector:@selector(timerUpdate) + userInfo:nil + repeats:YES] retain]; + } + blinged = NO; } - [statusWindowController showRegistrationQueryWindow]; + [self setBlingTime:nil]; } }