Made duplicate and dead item removal correctly remove the items by their arranged indexes
parent
2f5769d668
commit
aa2676f605
|
@ -470,36 +470,55 @@
|
||||||
|
|
||||||
- (IBAction)removeDuplicates:(id)sender {
|
- (IBAction)removeDuplicates:(id)sender {
|
||||||
NSMutableArray *originals = [[NSMutableArray alloc] init];
|
NSMutableArray *originals = [[NSMutableArray alloc] init];
|
||||||
NSMutableIndexSet *duplicates = [[NSMutableIndexSet alloc] init];
|
NSMutableArray *duplicates = [[NSMutableArray alloc] init];
|
||||||
|
|
||||||
for (PlaylistEntry *pe in [self content])
|
for (PlaylistEntry *pe in [self content])
|
||||||
{
|
{
|
||||||
if ([originals containsObject:[pe URL]])
|
if ([originals containsObject:[pe URL]])
|
||||||
[duplicates addIndex:[pe index]];
|
[duplicates addObject:pe];
|
||||||
else
|
else
|
||||||
[originals addObject:[pe URL]];
|
[originals addObject:[pe URL]];
|
||||||
}
|
}
|
||||||
|
|
||||||
if ([duplicates count] > 0)
|
if ([duplicates count] > 0)
|
||||||
[self removeObjectsAtArrangedObjectIndexes:duplicates];
|
{
|
||||||
|
NSArray * arrangedContent = [self arrangedObjects];
|
||||||
|
NSMutableIndexSet * duplicatesIndex = [[NSMutableIndexSet alloc] init];
|
||||||
|
for (PlaylistEntry *pe in duplicates)
|
||||||
|
{
|
||||||
|
[duplicatesIndex addIndex:[arrangedContent indexOfObject:pe]];
|
||||||
|
}
|
||||||
|
[self removeObjectsAtArrangedObjectIndexes:duplicatesIndex];
|
||||||
|
[duplicatesIndex release];
|
||||||
|
}
|
||||||
|
|
||||||
[duplicates release];
|
[duplicates release];
|
||||||
[originals release];
|
[originals release];
|
||||||
}
|
}
|
||||||
|
|
||||||
- (IBAction)removeDeadItems:(id)sender {
|
- (IBAction)removeDeadItems:(id)sender {
|
||||||
NSMutableIndexSet *deadItems = [[NSMutableIndexSet alloc] init];
|
NSMutableArray *deadItems = [[NSMutableArray alloc] init];
|
||||||
|
|
||||||
for (PlaylistEntry *pe in [self content])
|
for (PlaylistEntry *pe in [self content])
|
||||||
{
|
{
|
||||||
NSURL *url = [pe URL];
|
NSURL *url = [pe URL];
|
||||||
if ([url isFileURL])
|
if ([url isFileURL])
|
||||||
if (![[NSFileManager defaultManager] fileExistsAtPath:[url path]])
|
if (![[NSFileManager defaultManager] fileExistsAtPath:[url path]])
|
||||||
[deadItems addIndex:[pe index]];
|
[deadItems addObject:pe];
|
||||||
}
|
}
|
||||||
|
|
||||||
if ([deadItems count] > 0)
|
if ([deadItems count] > 0)
|
||||||
[self removeObjectsAtArrangedObjectIndexes:deadItems];
|
{
|
||||||
|
NSArray * arrangedContent = [self arrangedObjects];
|
||||||
|
NSMutableIndexSet * deadItemsIndex = [[NSMutableIndexSet alloc] init];
|
||||||
|
for (PlaylistEntry *pe in deadItems)
|
||||||
|
{
|
||||||
|
[deadItemsIndex addIndex:[arrangedContent indexOfObject:pe]];
|
||||||
|
}
|
||||||
|
[self removeObjectsAtArrangedObjectIndexes:deadItemsIndex];
|
||||||
|
[deadItemsIndex release];
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
[deadItems release];
|
[deadItems release];
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue