Changeset 72
- Timestamp:
- 06/28/07 17:46:12 (2 years ago)
- Files:
-
- trunk/SapphireBrowser.h (modified) (1 diff)
- trunk/SapphireBrowser.m (modified) (7 diffs)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
trunk/SapphireBrowser.h
r58 r72 19 19 { 20 20 NSMutableArray * _names ; 21 NSMutableArray * items ; 21 22 SapphireDirectoryMetaData *metaData; 22 23 SapphirePredicate *predicate; trunk/SapphireBrowser.m
r69 r72 98 98 99 99 _names = [NSMutableArray new]; 100 items = [NSMutableArray new]; 100 101 metaData = [meta retain]; 101 102 [metaData setDelegate:self]; … … 139 140 [metaData reloadDirectoryContents]; 140 141 [_names removeAllObjects]; 142 [items removeAllObjects]; 141 143 if(predicate == NULL) 142 144 { … … 150 152 divider = [_names count]; 151 153 [_names addObjectsFromArray:[metaData predicatedFiles:predicate]]; 154 } 155 int i=0, count=[_names count]; 156 for(i=0; i<count; i++) 157 { 158 [items addObject:[NSNull null]]; 152 159 } 153 160 … … 163 170 // always remember to deallocate your resources 164 171 [_names release]; 172 [items release]; 165 173 [metaData release]; 166 174 [predicate release]; … … 287 295 if( row >= [_names count] ) return ( nil ) ; 288 296 297 id cached = [items objectAtIndex:row]; 298 if(cached != [NSNull null]) 299 return cached; 289 300 NSString *name = [_names objectAtIndex:row]; 290 301 // Pad filename to correcrtly display gem icons … … 292 303 BOOL watched = NO; 293 304 BOOL favorite = NO ; 294 if( [[metaData directories] containsObject:name])305 if(row < [[metaData directories] count]) 295 306 { 296 307 result = [BRAdornedMenuItemLayer adornedFolderMenuItemWithScene: [self scene]] ; … … 318 329 name=[@" " stringByAppendingString: name] ; 319 330 [[result textItem] setTitle: name] ; 331 [items replaceObjectAtIndex:row withObject:result]; 320 332 321 333 return ( result ) ;
