Ticket #130: skip_single_dirs.diff

File skip_single_dirs.diff, 0.9 kB (added by anonymous, 7 months ago)
  • SapphireBrowser.m

    old new  
    426426        /*Check for dir*/ 
    427427        if(row < dirCount) 
    428428        { 
    429                 /*Browse the subdir*/ 
    430                 id controller = [[SapphireBrowser alloc] initWithScene:[self scene] metaData:[metaData metaDataForDirectory:name]]; 
     429                /*Browse the subdir, but skip over virtual directories with a single entry, iPod sty-lee*/ 
     430                SapphireDirectoryMetaData *subdirMeta = [metaData metaDataForDirectory:name]; 
     431                while( [[subdirMeta directories] count] == 1 ) 
     432                        subdirMeta = [subdirMeta metaDataForDirectory:[[subdirMeta directories] lastObject]]; 
     433 
     434                id controller = [[SapphireBrowser alloc] initWithScene:[self scene] metaData:subdirMeta]; 
    431435                [controller setListTitle:[NSString stringWithFormat:@" %@",name]]; 
    432436                [controller setListIcon:[self listIcon]]; 
    433437                [[self stack] pushController:controller];