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 == ' ')
{