Sort directory nodes above file nodes

CQTexperiment
Chris Moeller 2013-10-09 11:30:09 -07:00
parent 203109ebc3
commit 742f1388a6
1 changed files with 12 additions and 4 deletions

View File

@ -86,6 +86,7 @@ NSURL *resolveAliases(NSURL *url)
- (void)processPaths: (NSArray *)contents - (void)processPaths: (NSArray *)contents
{ {
NSMutableArray *newSubpathsDirs = [[NSMutableArray alloc] init];
NSMutableArray *newSubpaths = [[NSMutableArray alloc] init]; NSMutableArray *newSubpaths = [[NSMutableArray alloc] init];
NSEnumerator *e = [contents objectEnumerator]; NSEnumerator *e = [contents objectEnumerator];
@ -106,15 +107,16 @@ NSURL *resolveAliases(NSURL *url)
u = resolveAliases(u); u = resolveAliases(u);
//NSLog(@"After: %@", u); //NSLog(@"After: %@", u);
BOOL isDir;
if ([[s pathExtension] caseInsensitiveCompare:@"savedSearch"] == NSOrderedSame) if ([[s pathExtension] caseInsensitiveCompare:@"savedSearch"] == NSOrderedSame)
{ {
NSLog(@"Smart folder!"); NSLog(@"Smart folder!");
newNode = [[SmartFolderNode alloc] initWithDataSource:dataSource url:u]; newNode = [[SmartFolderNode alloc] initWithDataSource:dataSource url:u];
isDir = NO;
} }
else else
{ {
BOOL isDir;
[[NSFileManager defaultManager] fileExistsAtPath:[u path] isDirectory:&isDir]; [[NSFileManager defaultManager] fileExistsAtPath:[u path] isDirectory:&isDir];
if (!isDir && ![[AudioPlayer fileTypes] containsObject:[[[u path] pathExtension] lowercaseString]]) if (!isDir && ![[AudioPlayer fileTypes] containsObject:[[[u path] pathExtension] lowercaseString]])
@ -137,13 +139,19 @@ NSURL *resolveAliases(NSURL *url)
} }
[newNode setDisplay:displayName]; [newNode setDisplay:displayName];
if (isDir)
[newSubpathsDirs addObject:newNode];
else
[newSubpaths addObject:newNode]; [newSubpaths addObject:newNode];
[newNode release]; [newNode release];
} }
[self setSubpaths:newSubpaths]; [newSubpathsDirs addObjectsFromArray:newSubpaths];
[self setSubpaths:newSubpathsDirs];
[newSubpathsDirs release];
[newSubpaths release]; [newSubpaths release];
} }