Revision: 27802 http://sourceforge.net/p/bibdesk/svn/27802 Author: hofman Date: 2022-08-14 17:42:02 +0000 (Sun, 14 Aug 2022) Log Message: ----------- remove all icons that don't have a poge linked to it after removing old pages
Modified Paths: -------------- trunk/bibdesk/BDSKWebIconDatabase.m Modified: trunk/bibdesk/BDSKWebIconDatabase.m =================================================================== --- trunk/bibdesk/BDSKWebIconDatabase.m 2022-08-14 09:35:23 UTC (rev 27801) +++ trunk/bibdesk/BDSKWebIconDatabase.m 2022-08-14 17:42:02 UTC (rev 27802) @@ -159,27 +159,24 @@ NSMutableSet *bookmarkURLs = [NSMutableSet set]; addAllURLStrings(bookmarkURLs, [[BDSKBookmarkController sharedBookmarkController] bookmarkRoot]); NSMutableArray *pagesToRemove = [NSMutableArray array]; - NSMutableSet *iconsToRemove = [NSMutableSet set]; NSMutableSet *iconsToKeep = [NSMutableSet set]; - NSSet *iconURLStrings = [NSSet setWithArray:[icons allKeys]]; + NSMutableSet *iconURLStrings = [NSMutableSet setWithArray:[icons allKeys]]; [pages enumerateKeysAndObjectsUsingBlock:^(NSString *key, id obj, BOOL *stop){ - NSString *iconURLString = [obj objectForKey:ICONURL_KEY]; - if ([bookmarkURLs containsObject:key] == NO && -[[obj objectForKey:LASTVISITED_KEY] timeIntervalSinceNow] > limit) { - [pagesToRemove addObject:key]; - [iconsToRemove addObject:iconURLString]; - } else if ((iconURLString = [iconURLStrings member:iconURLString])) { + NSString *iconURLString; + if (([bookmarkURLs containsObject:key] || -[[obj objectForKey:LASTVISITED_KEY] timeIntervalSinceNow] <= limit) && + (iconURLString = [iconURLStrings member:[obj objectForKey:ICONURL_KEY]])) { [iconsToKeep addObject:iconURLString]; - [pages setObject:iconURLString forKey:ICONURL_KEY]; + [obj setObject:iconURLString forKey:ICONURL_KEY]; NSDate *date = [obj objectForKey:LASTVISITED_KEY]; if (date) - [pages setObject:date forKey:LASTVISITED_KEY]; + [obj setObject:date forKey:LASTVISITED_KEY]; } else { [pagesToRemove addObject:key]; } }]; - [iconsToRemove minusSet:iconsToKeep]; + [iconURLStrings minusSet:iconsToKeep]; [pages removeObjectsForKeys:pagesToRemove]; - [icons removeObjectsForKeys:[iconsToRemove allObjects]]; + [icons removeObjectsForKeys:[iconURLStrings allObjects]]; } - (void)handleApplicationWillTerminate:(NSNotification *)notification { This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. _______________________________________________ Bibdesk-commit mailing list Bibdesk-commit@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/bibdesk-commit