From: <ho...@us...> - 2014-09-23 14:39:45
|
Revision: 8388 http://sourceforge.net/p/skim-app/code/8388 Author: hofman Date: 2014-09-23 14:39:42 +0000 (Tue, 23 Sep 2014) Log Message: ----------- convenience method to remove a download Modified Paths: -------------- trunk/SKDownloadController.m Modified: trunk/SKDownloadController.m =================================================================== --- trunk/SKDownloadController.m 2014-09-09 14:22:10 UTC (rev 8387) +++ trunk/SKDownloadController.m 2014-09-23 14:39:42 UTC (rev 8388) @@ -61,13 +61,12 @@ #define SKDownloadsWindowFrameAutosaveName @"SKDownloadsWindow" -#define DOWNLOADS_KEY @"downloads" - static char SKDownloadPropertiesObservationContext; @interface SKDownloadController (SKPrivate) - (void)startObservingDownloads:(NSArray *)newDownloads; - (void)endObservingDownloads:(NSArray *)oldDownloads; +- (void)removeObjectFromDownloads:(SKDownload *)download; @end @implementation SKDownloadController @@ -123,7 +122,7 @@ if (aURL) { download = [[[SKDownload alloc] initWithURL:aURL] autorelease]; NSInteger row = [self countOfDownloads]; - [[self mutableArrayValueForKey:DOWNLOADS_KEY] addObject:download]; + [self insertObject:download inDownloadsAtIndex:row]; if (flag) [self showWindow:nil]; [tableView selectRowIndexes:[NSIndexSet indexSetWithIndex:row] byExtendingSelection:NO]; @@ -165,7 +164,7 @@ if ([[NSUserDefaults standardUserDefaults] boolForKey:SKAutoRemoveFinishedDownloadsKey]) { [[download retain] autorelease]; - [[self mutableArrayValueForKey:DOWNLOADS_KEY] removeObject:download]; + [self removeObjectFromDownloads:download]; // for the document to note that the file has been deleted [document setFileURL:[download fileURL]]; if ([self countOfDownloads] == 0 && [[NSUserDefaults standardUserDefaults] boolForKey:SKAutoCloseDownloadsWindowKey]) @@ -258,6 +257,12 @@ [tableView setNeedsDisplayInRect:[tableView rectOfRow:PROGRESS_COLUMN]]; } +- (void)removeObjectFromDownloads:(SKDownload *)download { + NSUInteger idx = [downloads indexOfObject:download]; + if (idx != NSNotFound) + [self removeObjectFromDownloadsAtIndex:idx]; +} + #pragma mark Actions - (IBAction)showDownloadPreferences:(id)sender { @@ -283,7 +288,7 @@ if ([download canRemove]) { if ([download status] == SKDownloadStatusFinished) [download moveToTrash]; - [[self mutableArrayValueForKey:DOWNLOADS_KEY] removeObject:download]; + [self removeObjectFromDownloads:download]; } else { NSBeep(); } @@ -326,7 +331,7 @@ } if (download) - [[self mutableArrayValueForKey:DOWNLOADS_KEY] removeObject:download]; + [self removeObjectFromDownloads:download]; } - (void)openDownloadedFile:(id)sender { This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |