Changeset 905

Show
Ignore:
Timestamp:
12/03/04 15:57:04 (4 years ago)
Author:
morris
Message:

add index key to files

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • Footagehead/trunk/FHFile.h

    r901 r905  
    1 /* $Id: FHFile.h,v 1.2 2004/12/03 12:29:49 morris Exp $ */ 
     1/* $Id: FHFile.h,v 1.3 2004/12/03 14:57:04 morris Exp $ */ 
    22 
    33/* 
     
    3434        NSString                                *_path; 
    3535        NSString                                *_extension; 
     36        NSImage                                 *_image; 
    3637        NSImage                                 *_icon; 
    3738        BOOL                                    _directory; 
     39        int                                             _index; 
    3840        FHHandlerHint                   _hint; 
    3941} 
    4042 
    4143 
    42 - (id)                                          initWithURL:(NSURL *)url isDirectory:(BOOL)isDirectory; 
    43 - (id)                                          initWithURL:(NSURL *)url isDirectory:(BOOL)isDirectory hint:(FHHandlerHint)hint; 
     44- (id)                                          initWithURL:(NSURL *)url isDirectory:(BOOL)isDirectory index:(int)index; 
     45- (id)                                          initWithURL:(NSURL *)url isDirectory:(BOOL)isDirectory index:(int)index hint:(FHHandlerHint)hint; 
     46 
     47- (void)                                        setImage:(NSImage *)image; 
     48- (NSImage *)                           image; 
    4449 
    4550- (NSString *)                          name; 
     
    4954- (NSImage *)                           icon; 
    5055- (BOOL)                                        isDirectory; 
     56- (int)                                         index; 
    5157- (FHHandlerHint)                       hint; 
    5258 
    53 - (NSComparisonResult)          compareName:(FHFile *)file; 
    54  
    5559@end 
  • Footagehead/trunk/FHFile.m

    r901 r905  
    1 /* $Id: FHFile.m,v 1.3 2004/12/03 12:29:49 morris Exp $ */ 
     1/* $Id: FHFile.m,v 1.4 2004/12/03 14:57:04 morris Exp $ */ 
    22 
    33/* 
     
    3232@implementation FHFile 
    3333 
    34 - (id)initWithURL:(NSURL *)url isDirectory:(BOOL)directory
    35         return [self initWithURL:url isDirectory:directory hint:FHHandlerHintNone]; 
    36 } 
    37  
    38  
    39  
    40 - (id)initWithURL:(NSURL *)url isDirectory:(BOOL)directory hint:(FHHandlerHint)hint { 
     34- (id)initWithURL:(NSURL *)url isDirectory:(BOOL)directory index:(int)index
     35        return [self initWithURL:url isDirectory:directory index:(int)index hint:FHHandlerHintNone]; 
     36} 
     37 
     38 
     39 
     40- (id)initWithURL:(NSURL *)url isDirectory:(BOOL)directory index:(int)index hint:(FHHandlerHint)hint { 
    4141        BOOL    local; 
    4242         
     
    4747        _extension = [[[self path] pathExtension] retain]; 
    4848        _directory = directory; 
     49        _index = index; 
    4950        _hint = hint; 
    5051         
     
    9697        [_extension release]; 
    9798        [_name release]; 
     99        [_image release]; 
    98100        [_icon release]; 
    99101         
     
    112114        ZADecode(coder, _extension); 
    113115        ZADecode(coder, _name); 
     116        ZADecode(coder, _image); 
    114117        ZADecode(coder, _icon); 
    115118        ZADecode(coder, _directory); 
     
    127130        ZAEncode(coder, _name); 
    128131        ZAEncode(coder, _icon); 
     132        ZAEncode(coder, _image); 
    129133        ZAEncode(coder, _directory); 
    130134        ZAEncode(coder, _hint); 
     
    135139#pragma mark - 
    136140 
     141- (void)setImage:(NSImage *)image { 
     142        NSImage         *icon; 
     143         
     144        [image retain]; 
     145        [_image release]; 
     146         
     147        _image = image; 
     148         
     149        icon = [image scaledImageWithSize:NSMakeSize(128.0, 128.0)]; 
     150        [icon setScalesWhenResized:YES]; 
     151        [icon retain]; 
     152        [_icon release]; 
     153         
     154        _icon = icon; 
     155} 
     156 
     157 
     158 
     159- (NSImage *)image { 
     160        return _image; 
     161} 
     162 
     163 
     164 
     165#pragma mark - 
     166 
    137167- (NSString *)name { 
    138168    return _name; 
     
    171201 
    172202 
     203- (int)index { 
     204        return _index; 
     205} 
     206 
     207 
     208 
    173209- (FHHandlerHint)hint { 
    174210        return _hint; 
    175211} 
    176212 
    177  
    178  
    179 #pragma mark - 
    180  
    181 - (NSComparisonResult)compareName:(FHFile *)file { 
    182         return [[self name] compare:[file name] options:NSCaseInsensitiveSearch]; 
    183 } 
    184  
    185213@end 
  • Footagehead/trunk/FHFileHandler.m

    r901 r905  
    1 /* $Id: FHFileHandler.m,v 1.7 2004/12/03 12:29:49 morris Exp $ */ 
     1/* $Id: FHFileHandler.m,v 1.8 2004/12/03 14:57:04 morris Exp $ */ 
    22 
    33/* 
     
    7070        LSItemInfoRecord        itemInfoRecord; 
    7171        BOOL                            isDirectory; 
     72        int                                     i = 0; 
    7273         
    7374        if(!_loadedFiles) { 
     
    7576                root = [[self URL] path]; 
    7677                files = [[NSFileManager defaultManager] directoryContentsWithFileAtPath:root]; 
    77                 enumerator = [files objectEnumerator]; 
     78                enumerator = [[files sortedArrayUsingSelector:@selector(caseInsensitiveCompare:)] objectEnumerator]; 
    7879 
    7980                while((name = [enumerator nextObject])) { 
     
    101102                                continue; 
    102103 
    103                         file = [[FHFile alloc] initWithURL:url isDirectory:isDirectory]; 
     104                        file = [[FHFile alloc] initWithURL:url isDirectory:isDirectory index:i++]; 
    104105                        [_files addObject:file]; 
    105106                        [file release]; 
    106107                } 
    107108 
    108                 [_files sortUsingSelector:@selector(compareName:)]; 
    109109                _loadedFiles = YES; 
    110110        } 
  • Footagehead/trunk/FHGalleryHandler.m

    r901 r905  
    1 /* $Id: FHGalleryHandler.m,v 1.3 2004/12/03 12:29:49 morris Exp $ */ 
     1/* $Id: FHGalleryHandler.m,v 1.4 2004/12/03 14:57:04 morris Exp $ */ 
    22 
    33/* 
     
    103103        NSURL                   *url; 
    104104        FHFile                  *file; 
     105        int                             i = 0; 
    105106         
    106107        if(!_loadedFiles) { 
    107         types = [NSImage FHImageFileTypes]; 
    108          
    109         if(_albumdb) { 
    110                 scanner = [NSScanner scannerWithString:_albumdb]; 
    111  
    112                 while(![scanner isAtEnd]) { 
    113                         // --- find image name 
    114                         if([scanner scanUpToString:@";s:" intoString:NULL]) { 
    115                                 if([scanner isAtEnd]) 
    116                                         break; 
     108                types = [NSImage FHImageFileTypes]; 
     109                 
     110                if(_albumdb) { 
     111                        scanner = [NSScanner scannerWithString:_albumdb]; 
     112 
     113                        while(![scanner isAtEnd]) { 
     114                                // --- find image name 
     115                                if([scanner scanUpToString:@";s:" intoString:NULL]) { 
     116                                        if([scanner isAtEnd]) 
     117                                                break; 
     118                                         
     119                                        [scanner setScanLocation:[scanner scanLocation] + 3]; 
     120                                        [scanner scanUpToString:@"\"" intoString:NULL]; 
     121                                        [scanner setScanLocation:[scanner scanLocation] + 1]; 
     122                                        [scanner scanUpToString:@"\"" intoString:&name]; 
     123                                } 
    117124                                 
    118                                 [scanner setScanLocation:[scanner scanLocation] + 3]; 
    119                                 [scanner scanUpToString:@"\"" intoString:NULL]; 
    120                                 [scanner setScanLocation:[scanner scanLocation] + 1]; 
    121                                 [scanner scanUpToString:@"\"" intoString:&name]; 
    122                         } 
    123                          
    124                         url = [NSURL URLWithString:name relativeToURL:[self URL]]; 
    125                         file = [[FHFile alloc] initWithURL:url isDirectory:YES hint:FHHandlerHintGallery]; 
    126                         [_files addObject:file]; 
    127                         [file release]; 
    128                 } 
    129         } 
    130         else if(_photos) { 
    131                 scanner = [NSScanner scannerWithString:_photos]; 
    132  
    133                 while(![scanner isAtEnd]) { 
    134                         // --- find image name 
    135                         if([scanner scanUpToString:@"s:5:\"image\";O:5:\"image\":12:{s:4:\"name\";" intoString:NULL]) { 
    136                                 if([scanner isAtEnd]) 
    137                                         break; 
    138                                  
    139                                 [scanner setScanLocation:[scanner scanLocation] + 39]; 
    140                                 [scanner scanUpToString:@"\"" intoString:NULL]; 
    141                                 [scanner setScanLocation:[scanner scanLocation] + 1]; 
    142                                 [scanner scanUpToString:@"\"" intoString:&name]; 
    143                         } 
    144                          
    145                         // --- find image type 
    146                         if([scanner scanUpToString:@"s:4:\"type\";s:" intoString:NULL]) { 
    147                                 if([scanner isAtEnd]) 
    148                                         break; 
    149                                  
    150                                 [scanner setScanLocation:[scanner scanLocation] + 13]; 
    151                                 [scanner scanUpToString:@"\"" intoString:NULL]; 
    152                                 [scanner setScanLocation:[scanner scanLocation] + 1]; 
    153                                 [scanner scanUpToString:@"\"" intoString:&type]; 
    154                         } 
    155                          
    156                         // --- insert 
    157                         if([types containsObject:type]) { 
    158                                 filename = [NSString stringWithFormat:@"%@.%@", name, type]; 
    159                                 file = [[FHFile alloc] initWithURL:[NSURL URLWithString:filename relativeToURL:[self URL]] 
    160                                                                            isDirectory:NO]; 
     125                                url = [NSURL URLWithString:name relativeToURL:[self URL]]; 
     126                                file = [[FHFile alloc] initWithURL:url isDirectory:YES index:i++ hint:FHHandlerHintGallery]; 
    161127                                [_files addObject:file]; 
    162128                                [file release]; 
    163129                        } 
    164130                } 
    165         } 
    166          
    167         _loadedFiles = YES; 
     131                else if(_photos) { 
     132                        scanner = [NSScanner scannerWithString:_photos]; 
     133 
     134                        while(![scanner isAtEnd]) { 
     135                                // --- find image name 
     136                                if([scanner scanUpToString:@"s:5:\"image\";O:5:\"image\":12:{s:4:\"name\";" intoString:NULL]) { 
     137                                        if([scanner isAtEnd]) 
     138                                                break; 
     139                                         
     140                                        [scanner setScanLocation:[scanner scanLocation] + 39]; 
     141                                        [scanner scanUpToString:@"\"" intoString:NULL]; 
     142                                        [scanner setScanLocation:[scanner scanLocation] + 1]; 
     143                                        [scanner scanUpToString:@"\"" intoString:&name]; 
     144                                } 
     145                                 
     146                                // --- find image type 
     147                                if([scanner scanUpToString:@"s:4:\"type\";s:" intoString:NULL]) { 
     148                                        if([scanner isAtEnd]) 
     149                                                break; 
     150                                         
     151                                        [scanner setScanLocation:[scanner scanLocation] + 13]; 
     152                                        [scanner scanUpToString:@"\"" intoString:NULL]; 
     153                                        [scanner setScanLocation:[scanner scanLocation] + 1]; 
     154                                        [scanner scanUpToString:@"\"" intoString:&type]; 
     155                                } 
     156                                 
     157                                // --- insert 
     158                                if([types containsObject:type]) { 
     159                                        filename = [NSString stringWithFormat:@"%@.%@", name, type]; 
     160                                        url = [NSURL URLWithString:filename relativeToURL:[self URL]]; 
     161                                        file = [[FHFile alloc] initWithURL:url isDirectory:NO index:i++]; 
     162                                        [_files addObject:file]; 
     163                                        [file release]; 
     164                                } 
     165                        } 
     166                } 
     167                 
     168                _loadedFiles = YES; 
    168169        } 
    169170         
  • Footagehead/trunk/FHImageHandler.m

    r901 r905  
    1 /* $Id: FHImageHandler.m,v 1.3 2004/12/03 12:29:49 morris Exp $ */ 
     1/* $Id: FHImageHandler.m,v 1.4 2004/12/03 14:57:04 morris Exp $ */ 
    22 
    33/* 
     
    6060         
    6161        if(!_loadedFiles) { 
    62                 file = [[FHFile alloc] initWithURL:_url isDirectory:NO]; 
     62                file = [[FHFile alloc] initWithURL:_url isDirectory:NO index:0]; 
    6363                [_files addObject:file]; 
    6464                [file release]; 
  • Footagehead/trunk/FHRangeHandler.m

    r901 r905  
    1 /* $Id: FHRangeHandler.m,v 1.3 2004/12/03 12:29:49 morris Exp $ */ 
     1/* $Id: FHRangeHandler.m,v 1.4 2004/12/03 14:57:04 morris Exp $ */ 
    22 
    33/* 
     
    123123        NSArray                 *types; 
    124124        NSString                *link; 
     125        NSURL                   *url; 
    125126        FHFile                  *file; 
     127        int                             i = 0; 
    126128         
    127129        if(!_loadedFiles) { 
     
    133135                                continue; 
    134136 
    135                         file = [[FHFile alloc] initWithURL:[NSURL URLWithString:link relativeToURL:[self URL]] 
    136                                                                   isDirectory:NO]; 
     137                        url = [NSURL URLWithString:link relativeToURL:[self URL]]; 
     138                        file = [[FHFile alloc] initWithURL:url isDirectory:NO index:i++]; 
    137139                        [_files addObject:file]; 
    138140                        [file release];