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

Reply via email to