diff --git a/AppController.h b/AppController.h index aa4009917..055c31295 100644 --- a/AppController.h +++ b/AppController.h @@ -32,8 +32,6 @@ - (IBAction)donate:(id)sender; -- (void)updateTotalTime; - - (IBAction)toggleInfoDrawer:(id)sender; - (void)drawerDidOpen:(NSNotification *)notification; - (void)drawerDidClose:(NSNotification *)notification; diff --git a/AppController.m b/AppController.m index 52ed537c7..049e7d7ad 100644 --- a/AppController.m +++ b/AppController.m @@ -17,7 +17,6 @@ if ([p runModalForTypes:[playlistController acceptableFileTypes]] == NSOKButton) { [playlistController addPaths:[p filenames] sort:NO]; - [self updateTotalTime]; } } @@ -35,7 +34,6 @@ - (IBAction)delEntries:(id)sender { [playlistController remove:self]; - [self updateTotalTime]; } - (PlaylistEntry *)currentEntry @@ -65,8 +63,6 @@ NSString *filename = @"~/Library/Application Support/Cog/Default.playlist"; [playlistController loadPlaylist:[filename stringByExpandingTildeInPath]]; - - [self updateTotalTime]; } - (void)applicationWillTerminate:(NSNotification *)aNotification @@ -124,8 +120,6 @@ [playlistController setPlaylistFilename:[p filename]]; [playlistController loadPlaylist:[p filename]]; - - [self updateTotalTime]; } [mainWindow makeKeyAndOrderFront:self]; @@ -178,21 +172,4 @@ [[NSWorkspace sharedWorkspace] openURL:[NSURL URLWithString:@"http://sourceforge.net/project/project_donations.php?group_id=140003"]]; } -- (void)updateTotalTime -{ - double tt=0; - NSArray* entries = [playlistController arrangedObjects]; - - NSEnumerator *enumerator = [entries objectEnumerator]; - PlaylistEntry* pe; - - while (pe = [enumerator nextObject]) { - tt += [pe length]; - } - - int sec = (int)(tt/1000.0); - NSString* ttstring = [NSString stringWithFormat:@"Cog - %i:%02i",sec/60, sec%60]; - [mainWindow setTitle:ttstring]; -} - @end diff --git a/English.lproj/MainMenu.nib/info.nib b/English.lproj/MainMenu.nib/info.nib index 819b6c605..370fb4288 100644 --- a/English.lproj/MainMenu.nib/info.nib +++ b/English.lproj/MainMenu.nib/info.nib @@ -29,9 +29,9 @@ IBOpenObjects 29 - 21 513 463 + 21 IBSystem Version 8I127 diff --git a/English.lproj/MainMenu.nib/keyedobjects.nib b/English.lproj/MainMenu.nib/keyedobjects.nib index a0b007a1e..e8640396c 100644 Binary files a/English.lproj/MainMenu.nib/keyedobjects.nib and b/English.lproj/MainMenu.nib/keyedobjects.nib differ diff --git a/Playlist/PlaylistController.h b/Playlist/PlaylistController.h index 2fcd19aa8..46b255393 100644 --- a/Playlist/PlaylistController.h +++ b/Playlist/PlaylistController.h @@ -15,6 +15,7 @@ NSArray *acceptablePlaylistTypes; NSString *playlistFilename; + NSString *totalTimeDisplay; NSMutableArray *shuffleList; @@ -33,6 +34,8 @@ - (int)insertFile:(NSString *)filename atIndex:(int)index; - (int)addFile:(NSString *)filename; - (void)updateIndexesFromRow:(int) row; +- (void)updateTotalTime; + //PUBLIC METHODS - (int)addPaths:(NSArray *)paths sort:(BOOL)sort; @@ -48,6 +51,9 @@ - (IBAction)takeShuffleFromObject:(id)sender; - (IBAction)takeRepeatFromObject:(id)sender; +- (void)setTotalTimeDisplay:(NSString *)ttd; +- (NSString *)totalTimeDisplay; + //FUN PLAYLIST MANAGEMENT STUFF! - (id)currentEntry; - (void)setCurrentEntry:(PlaylistEntry *)pe; diff --git a/Playlist/PlaylistController.m b/Playlist/PlaylistController.m index d5a7a72ff..d18984ced 100644 --- a/Playlist/PlaylistController.m +++ b/Playlist/PlaylistController.m @@ -134,6 +134,7 @@ [self setSelectionIndex:index]; + [self updateTotalTime]; return count; } @@ -193,13 +194,42 @@ [self insertPaths:files atIndex:row sort:YES]; [self updateIndexesFromRow:row]; - + [self updateTotalTime]; + if (shuffle == YES) [self resetShuffleList]; return YES; } +- (void)updateTotalTime +{ + double tt=0; + + NSEnumerator *enumerator = [[self arrangedObjects] objectEnumerator]; + PlaylistEntry* pe; + + while (pe = [enumerator nextObject]) { + tt += [pe length]; + } + + int sec = (int)(tt/1000.0); + [self setTotalTimeDisplay:[NSString stringWithFormat:@"%i:%02i",sec/60, sec%60]]; +} + +- (void)setTotalTimeDisplay:(NSString *)ttd +{ + [ttd retain]; + [totalTimeDisplay release]; + totalTimeDisplay = ttd; + NSLog(@"Displaying: %@", ttd); +} + +- (NSString *)totalTimeDisplay; +{ + return totalTimeDisplay; +} + - (void)updateIndexesFromRow:(int) row { // DBLog(@"UPDATE INDEXES: %i", row); @@ -236,7 +266,8 @@ [super removeObjectsAtArrangedObjectIndexes:indexes]; [self updateIndexesFromRow:[indexes firstIndex]]; - + [self updateTotalTime]; + if (shuffle == YES) [self resetShuffleList]; diff --git a/Playlist/PlaylistView.h b/Playlist/PlaylistView.h index b53ab6247..b2c7239de 100644 --- a/Playlist/PlaylistView.h +++ b/Playlist/PlaylistView.h @@ -14,7 +14,6 @@ @interface PlaylistView : NSTableView { - IBOutlet AppController *appController; //needed to update the total time in the main window title IBOutlet PlaybackController *playbackController; IBOutlet PlaylistController *playlistController; diff --git a/Playlist/PlaylistView.m b/Playlist/PlaylistView.m index 0af980437..1bb6d5b27 100644 --- a/Playlist/PlaylistView.m +++ b/Playlist/PlaylistView.m @@ -54,7 +54,6 @@ if (c == NSDeleteCharacter) { [playlistController remove:self]; - [appController updateTotalTime]; } else if (c == ' ') {