X-Git-Url: http://git.ithinksw.org/MenuTunes.git/blobdiff_plain/259ae5fac769954c7db5974b86e791a929fe6700..01de763e5aad722c6e61891f11ba826beea60992:/PreferencesController.m diff --git a/PreferencesController.m b/PreferencesController.m index 6f8abfd..106b9b6 100755 --- a/PreferencesController.m +++ b/PreferencesController.m @@ -86,6 +86,10 @@ static PreferencesController *prefs = nil; SecKeychainAttribute attributes[3]; SecKeychainAttributeList list; + if ((user == nil) || ([user length] == 0)) { + return nil; + } + ITDebugLog(@"Audioscrobbler: Searching for keychain item for %@.", user); attributes[0].tag = kSecAccountItemAttr; attributes[0].data = (char *)[user UTF8String]; @@ -268,12 +272,12 @@ static PreferencesController *prefs = nil; @"Toggle Loop", @"Toggle Song Included In Shuffle", @"Pop-up status menu", - [NSString stringWithUTF8String:"Set Rating: ☆☆☆☆☆"], - [NSString stringWithUTF8String:"Set Rating: ★☆☆☆☆"], - [NSString stringWithUTF8String:"Set Rating: ★★☆☆☆"], - [NSString stringWithUTF8String:"Set Rating: ★★★☆☆"], - [NSString stringWithUTF8String:"Set Rating: ★★★★☆"], - [NSString stringWithUTF8String:"Set Rating: ★★★★★"], + [NSString stringWithUTF8String:"Set Rating: ‚òÜ‚òÜ‚òÜ‚òÜ‚òÜ"], + [NSString stringWithUTF8String:"Set Rating: ‚òÖ‚òÜ‚òÜ‚òÜ‚òÜ"], + [NSString stringWithUTF8String:"Set Rating: ‚òÖ‚òÖ‚òÜ‚òÜ‚òÜ"], + [NSString stringWithUTF8String:"Set Rating: ‚òÖ‚òÖ‚òÖ‚òÜ‚òÜ"], + [NSString stringWithUTF8String:"Set Rating: ‚òÖ‚òÖ‚òÖ‚òÖ‚òÜ"], + [NSString stringWithUTF8String:"Set Rating: ‚òÖ‚òÖ‚òÖ‚òÖ‚òÖ"], nil]; hotKeysDictionary = [[NSMutableDictionary alloc] init]; controller = nil; @@ -422,6 +426,9 @@ static PreferencesController *prefs = nil; [audioscrobblerUseCacheCheckbox setEnabled:SENDER_STATE]; [audioscrobblerUserTextField setEnabled:SENDER_STATE]; [audioscrobblerPasswordTextField setEnabled:SENDER_STATE]; + if (SENDER_STATE) { + [[AudioscrobblerController sharedController] attemptHandshake:NO]; + } } else if ( [sender tag ] == 6015) { //Here we create a new keychain item if needed and deletes the keychain item if the field is cleared. NSString *currentAccount = [df stringForKey:@"audioscrobblerUser"], *newAccount = [sender stringValue]; @@ -603,7 +610,7 @@ static PreferencesController *prefs = nil; - (IBAction)changeStatusWindowSetting:(id)sender { - StatusWindow *sw = [StatusWindow sharedWindow]; + StatusWindow *sw = (StatusWindow *)[StatusWindow sharedWindow]; ITDebugLog(@"Changing status window setting of tag %i", [sender tag]); if ( [sender tag] == 2010) { @@ -886,6 +893,11 @@ static PreferencesController *prefs = nil; #pragma mark PRIVATE METHOD IMPLEMENTATIONS /*************************************************************************/ +- (void)audioscrobblerStatusChanged:(NSNotification *)note +{ + [audioscrobblerStatusTextField setStringValue:[[note userInfo] objectForKey:@"StatusString"]]; +} + - (void)setupWindow { ITDebugLog(@"Loading Preferences.nib."); @@ -971,6 +983,12 @@ static PreferencesController *prefs = nil; int selectedBGStyle; id anItem; + [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(audioscrobblerStatusChanged:) name:@"AudioscrobblerStatusChanged" object:nil]; + if ([df boolForKey:@"audioscrobblerEnabled"]) { + NSString *status = [[AudioscrobblerController sharedController] lastStatus]; + [audioscrobblerStatusTextField setStringValue:(status == nil) ? @"Idle" : status]; + } + [df setInteger:MT_CURRENT_VERSION forKey:@"appVersion"]; ITDebugLog(@"Setting up preferences UI."); @@ -1162,7 +1180,7 @@ static PreferencesController *prefs = nil; - (void)setStatusWindowEntryEffect:(Class)effectClass { - StatusWindow *sw = [StatusWindow sharedWindow]; + StatusWindow *sw = (StatusWindow *)[StatusWindow sharedWindow]; float time = ([df floatForKey:@"statusWindowAppearanceSpeed"] ? [df floatForKey:@"statusWindowAppearanceSpeed"] : 0.8); [df setObject:NSStringFromClass(effectClass) forKey:@"statusWindowAppearanceEffect"]; @@ -1173,7 +1191,7 @@ static PreferencesController *prefs = nil; - (void)setStatusWindowExitEffect:(Class)effectClass { - StatusWindow *sw = [StatusWindow sharedWindow]; + StatusWindow *sw = (StatusWindow *)[StatusWindow sharedWindow]; float time = ([df floatForKey:@"statusWindowVanishSpeed"] ? [df floatForKey:@"statusWindowVanishSpeed"] : 0.8); [df setObject:NSStringFromClass(effectClass) forKey:@"statusWindowVanishEffect"];