- (IBAction)changeGeneralSetting:(id)sender
{
+ BOOL rebuildRequired = NO;
+
if ( [sender tag] == 1010) {
[self setLaunchesAtLogin:SENDER_STATE];
} else if ( [sender tag] == 1020) {
[df setBool:SENDER_STATE forKey:@"LaunchPlayerWithMT"];
} else if ( [sender tag] == 1030) {
[df setInteger:[sender intValue] forKey:@"SongsInAdvance"];
+ rebuildRequired = YES;
} else if ( [sender tag] == 1040) {
- [df setBool:SENDER_STATE forKey:@"showAlbum"];
+ // This will not be executed. Song info always shows the title of the song.
+ // [df setBool:SENDER_STATE forKey:@"showName"];
+ // rebuildRequired = YES;
} else if ( [sender tag] == 1050) {
- [df setBool:SENDER_STATE forKey:@"showName"];
- } else if ( [sender tag] == 1060) {
[df setBool:SENDER_STATE forKey:@"showArtist"];
+ rebuildRequired = YES;
+ } else if ( [sender tag] == 1060) {
+ [df setBool:SENDER_STATE forKey:@"showAlbum"];
+ rebuildRequired = YES;
} else if ( [sender tag] == 1070) {
[df setBool:SENDER_STATE forKey:@"showTime"];
+ rebuildRequired = YES;
} else if ( [sender tag] == 1080) {
[df setBool:SENDER_STATE forKey:@"showTrackNumber"];
+ rebuildRequired = YES;
} else if ( [sender tag] == 1090) {
[df setBool:SENDER_STATE forKey:@"showTrackRating"];
+ rebuildRequired = YES;
}
+
+ if ( rebuildRequired ) {
+ [controller rebuildMenu];
+ // redraw song info status window, or upcoming songs here
+ }
+
+ [df synchronize];
}
- (IBAction)changeStatusWindowSetting:(id)sender
nil] forKey:@"menu"];
[df setInteger:5 forKey:@"SongsInAdvance"];
- [df setBool:YES forKey:@"showName"];
+ // [df setBool:YES forKey:@"showName"]; // Song info will always show song title.
[df setBool:YES forKey:@"showArtist"];
[df setBool:NO forKey:@"showAlbum"];
[df setBool:NO forKey:@"showTime"];
// Check current track info buttons
[albumCheckbox setState:[df boolForKey:@"showAlbum"] ? NSOnState : NSOffState];
- [nameCheckbox setState:[df boolForKey:@"showName"] ? NSOnState : NSOffState];
+ [nameCheckbox setState:NSOnState]; // Song info will ALWAYS show song title.
+ [nameCheckbox setEnabled:NO]; // Song info will ALWAYS show song title.
[artistCheckbox setState:[df boolForKey:@"showArtist"] ? NSOnState : NSOffState];
[trackTimeCheckbox setState:[df boolForKey:@"showTime"] ? NSOnState : NSOffState];
\pard\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\tx5040\tx5760\tx6480\tx7200\tx7920\tx8640\ql\qnatural
\f3\b0\fs20 \cf0 \ulnone \
+ Priority: SHOWSTOPPER\
+ Status: Analyze\
+ Issue: Menu - Rebuild speed is abyssmal. It needs to take less than half a second.\
+\
Priority: SHOWSTOPPER\
Status: Analyze\
Issue: HotKeys - FKeys must be made to work without a modifier key.\
Priority: SHOWSTOPPER\
Status: Assigned\
Issue: Registration - Add in eSellerate validation, and nag reminder.\
+\
+ Priority: SHOWSTOPPER\
+ Status: Assigned\
+ Issue: Menu - Shows "No Song" when one is playing. (if not in a playlist?)\
\
\
\pard\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\tx5040\tx5760\tx6480\tx7200\tx7920\tx8640\ql\qnatural
Issue: Upcoming Songs - should be clickable.\
\pard\tx1440\tx2160\tx2880\tx3600\tx4320\tx5040\tx5760\tx6480\tx7200\tx7920\tx8640\li720\ql\qnatural
\cf0 \
+\pard\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\tx5040\tx5760\tx6480\tx7200\tx7920\tx8640\ql\qnatural
+\cf0 Priority: FUTURE\
+ Status: Future\
+ Issue: Upcoming Songs - should show the last <preference> songs played.\
+\pard\tx1440\tx2160\tx2880\tx3600\tx4320\tx5040\tx5760\tx6480\tx7200\tx7920\tx8640\li720\ql\qnatural
+\cf0 \
}
\ No newline at end of file