Revision: 26483
          http://sourceforge.net/p/bibdesk/svn/26483
Author:   hofman
Date:     2021-07-23 23:58:58 +0000 (Fri, 23 Jul 2021)
Log Message:
-----------
Only resort newly added children

Modified Paths:
--------------
    trunk/bibdesk/BDSKParentGroup.m

Modified: trunk/bibdesk/BDSKParentGroup.m
===================================================================
--- trunk/bibdesk/BDSKParentGroup.m     2021-07-23 23:39:26 UTC (rev 26482)
+++ trunk/bibdesk/BDSKParentGroup.m     2021-07-23 23:58:58 UTC (rev 26483)
@@ -111,7 +111,7 @@
 
 - (void)resortInRange:(NSRange)range {
     if (sortDescriptors && range.length > 1) {
-        if (range.length == [self numberOfChildren])
+        if (NSEqualRanges(range, NSMakeRange(0, [self numberOfChildren])))
             [children sortUsingDescriptors:sortDescriptors];
         else
             [children replaceObjectsInRange:range 
withObjectsFromArray:[[children subarrayWithRange:range] 
sortedArrayUsingDescriptors:sortDescriptors]];
@@ -128,13 +128,6 @@
     return [children objectAtIndex:anIndex];
 }
 
-- (void)insertChild:(id)child atIndex:(NSUInteger)anIndex {
-    [children insertObject:child atIndex:anIndex];
-    [child setParent:self];
-    [child setDocument:[self document]];
-    [self resort];
-}
-
 - (void)insertChild:(id)child atIndex:(NSUInteger)relativeIndex 
fromIndex:(NSUInteger)anIndex {
     [children insertObject:child atIndex:anIndex + relativeIndex];
     [child setParent:self];
@@ -162,10 +155,10 @@
         [[children subarrayWithRange:range] setValue:nil forKey:@"document"];
         [children replaceObjectsInRange:range 
withObjectsFromArray:newChildren];
     }
-    [children setValue:self forKey:@"parent"];
-    [children setValue:[self document] forKey:@"document"];
+    [newChildren setValue:self forKey:@"parent"];
+    [newChildren setValue:[self document] forKey:@"document"];
     if ([newChildren count])
-        [self resort];
+        [self resortInRange:NSMakeRange(range.location, [newChildren count])];
 }
 
 - (void)removeAllChildren {

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