Changeset 917

Show
Ignore:
Timestamp:
12/08/04 15:13:25 (4 years ago)
Author:
morris
Message:

Do away with NSURLs, use only ZAURL

Disable FHGalleryHandler for now, it needs testing

Disable FHZipHandler/FHRARHandler, they never worked very well

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • Footagehead/trunk/FHController.m

    r913 r917  
    1 /* $Id: FHController.m,v 1.23 2004/12/04 18:41:24 morris Exp $ */ 
     1/* $Id: FHController.m,v 1.24 2004/12/08 14:13:22 morris Exp $ */ 
    22 
    33/* 
     
    4444- (FHFile *)                    fileAtIndex:(unsigned int)index; 
    4545 
    46 - (void)                                loadURL:(NSURL *)url withHint:(FHHandlerHint)hint selectRow:(int)row; 
     46- (void)                                loadURL:(ZAURL *)url withHint:(FHHandlerHint)hint selectRow:(int)row; 
    4747- (void)                                loadFile:(FHFile *)file; 
    4848 
     
    169169 
    170170- (void)applicationDidFinishLaunching:(NSNotification *)notification { 
    171         NSURL         *url; 
     171        ZAURL         *url; 
    172172        int                     hint; 
    173173         
     
    176176        // --- if option redirect to home 
    177177        if((GetCurrentKeyModifiers() & optionKey) != 0) { 
    178                 [FHSettings setObject:[[NSURL fileURLWithPath:NSHomeDirectory()] absoluteString] forKey:FHOpenURL]; 
     178                [FHSettings setObject:[[ZAURL fileURLWithPath:NSHomeDirectory()] string] forKey:FHOpenURL]; 
    179179                 
    180180                hint = FHHandlerHintFile; 
     
    183183        if(_openLast) { 
    184184                // --- get url of last open directory 
    185                 url = [NSURL URLWithString:[FHSettings objectForKey:FHOpenURL]]; 
     185                url = [ZAURL URLWithString:[FHSettings objectForKey:FHOpenURL]]; 
    186186 
    187187                if([url isFileURL] && ![[NSFileManager defaultManager] directoryExistsAtPath:[url path]]) { 
    188                         url = [NSURL fileURLWithPath:NSHomeDirectory()]; 
     188                        url = [ZAURL fileURLWithPath:NSHomeDirectory()]; 
    189189                        hint = FHHandlerHintNone; 
    190190                } 
     
    201201- (void)applicationWillTerminate:(NSNotification *)notification { 
    202202        // --- save settings 
    203         [FHSettings setObject:[[_handler URL] absoluteString] forKey:FHOpenURL]; 
     203        [FHSettings setObject:[[_handler URL] string] forKey:FHOpenURL]; 
    204204        [FHSettings setInt:[_handler hint] forKey:FHOpenHint]; 
    205205         
     
    217217 
    218218- (BOOL)application:(NSApplication *)application openFile:(NSString *)path { 
    219 /*      NSString                *folderPath, *filename = NULL; 
    220          
    221         // --- get path to the folder 
    222         if([[NSFileManager defaultManager] directoryExistsAtPath:path]) { 
    223                 folderPath = path; 
    224         } else { 
    225                 filename = [path lastPathComponent]; 
    226                 folderPath = [path stringByDeletingLastPathComponent]; 
    227         } 
    228  
    229         // -- load files 
    230         [self startSpinning]; 
    231         [_handler release]; 
    232         _handler = [[FHHandler alloc] initWithURL:[NSURL fileURLWithPath:folderPath]]; 
    233         [_browserView insertFiles:[_handler files]]; 
    234          
    235         // --- select file 
    236         if(filename) 
    237                 [_browserView selectCellAtRow:[_browserView indexOfCellWithName:filename] column:0]; 
    238         else 
    239                 [_browserView selectCellAtRow:0 column:0]; 
    240          
    241         // --- adjust interface 
    242         [self selectRow:[_browserView selectedRow]]; 
    243         [self update]; 
    244         [self stopSpinning]; 
    245         _openLast = NO; 
    246 */               
     219        [self loadURL:[ZAURL fileURLWithPath:path] withHint:FHHandlerHintFile selectRow:0]; 
     220 
    247221        return YES; 
    248222} 
     
    373347- (void)openURLPanelDidEnd:(NSOpenPanel *)sheet returnCode:(int)returnCode contextInfo:(void *)contextInfo { 
    374348        NSString        *string; 
    375         NSRange         range; 
    376349         
    377350        [_openURLPanel close]; 
     
    381354                [FHSettings setInt:[[_openURLExtractMatrix selectedCell] tag] forKey:FHExtract]; 
    382355                 
    383                 // --- fix schemeles
     356                // --- load file
    384357                string = [_openURLTextView string]; 
    385                 range = [string rangeOfString:@"://"]; 
    386                  
    387                 if(range.location == NSNotFound) 
    388                         string = [NSString stringWithFormat:@"http://%@", string]; 
    389                  
    390                 // --- load files 
    391                 [self loadURL:[NSURL URLWithString:string] withHint:FHHandlerHintNone selectRow:0]; 
     358                [self loadURL:[ZAURL URLWithString:string scheme:@"http"] withHint:FHHandlerHintNone selectRow:0]; 
    392359        } 
    393360} 
     
    503470 
    504471- (IBAction)openParent:(id)sender { 
    505         NSURL           *parentURL; 
    506472        NSString        *name; 
    507          
    508         parentURL = [_handler parentURL]; 
    509          
    510         if(![parentURL isEqual:[_handler relativeURL]]) { 
    511                 name = [[[_handler relativeURL] path] lastPathComponent]; 
    512                 [self loadURL:[_handler parentURL] withHint:FHHandlerHintNone selectRow:0]; 
     473        ZAURL           *url; 
     474         
     475        url = [_handler parentURL]; 
     476         
     477        if(![url isEqual:[_handler URL]]) { 
     478                name = [[[_handler URL] path] lastPathComponent]; 
     479                [self loadURL:url withHint:FHHandlerHintNone selectRow:0]; 
    513480                [_tableView selectRowWithStringValue:name]; 
    514481        } 
     
    531498                [self loadURL:[file URL] withHint:FHHandlerHintNone selectRow:0]; 
    532499        else 
    533                 [[NSWorkspace sharedWorkspace] openURL:[file URL]]; 
     500                [[NSWorkspace sharedWorkspace] openURL:[[file URL] URL]]; 
    534501} 
    535502 
     
    708675#pragma mark - 
    709676 
    710 - (void)loadURL:(NSURL *)url withHint:(FHHandlerHint)hint selectRow:(int)row { 
     677- (void)loadURL:(ZAURL *)url withHint:(FHHandlerHint)hint selectRow:(int)row { 
    711678        BOOL    select; 
    712679         
     
    771738                [_lock unlockWithCondition:0]; 
    772739                 
    773                 if(row == 0 || row >= lastRow + 5 || row < lastRow) { 
     740                if(row >= 0 && (row == 0 || row >= lastRow + 5 || row < lastRow)) { 
    774741                        count = [files count]; 
    775742                         
     
    800767                                        continue; 
    801768 
    802                                 image = [[NSImage alloc] initWithContentsOfURL:[file URL]]; 
     769                                image = [[NSImage alloc] initWithContentsOfURL:[[file URL] URL]]; 
    803770                                [file setImage:[image smoothedImage]]; 
    804771                                [image release]; 
     
    897864        item = [[NSMenuItem alloc] initWithTitle:name action:@selector(openMenu:) keyEquivalent:keyEquivalent]; 
    898865        [item setImage:icon]; 
    899         [item setRepresentedObject:[NSURL fileURLWithPath:path]]; 
     866        [item setRepresentedObject:[ZAURL fileURLWithPath:path]]; 
    900867        [[_menu menu] addItem:item]; 
    901868        _menuItems++; 
     
    1001968                item = [[NSMenuItem alloc] initWithTitle:name action:@selector(openMenu:) keyEquivalent:@""]; 
    1002969                [item setImage:icon]; 
    1003                 [item setRepresentedObject:[NSURL fileURLWithPath:path]]; 
     970                [item setRepresentedObject:[ZAURL fileURLWithPath:path]]; 
    1004971                [_menu insertItem:item atIndex:i]; 
    1005972                _menuItems++; 
  • Footagehead/trunk/FHFile.h

    r915 r917  
    1 /* $Id: FHFile.h,v 1.5 2004/12/04 20:27:00 morris Exp $ */ 
     1/* $Id: FHFile.h,v 1.6 2004/12/08 14:13:22 morris Exp $ */ 
    22 
    33/* 
     
    3131@interface FHFile : ZAObject <NSCoding> { 
    3232        NSString                                *_name; 
    33         NSURL                                 *_url; 
     33        ZAURL                                 *_url; 
    3434        NSString                                *_path; 
    3535        NSString                                *_extension; 
     
    4343 
    4444 
    45 - (id)                                          initWithURL:(NSURL *)url isDirectory:(BOOL)isDirectory index:(int)index; 
    46 - (id)                                          initWithURL:(NSURL *)url isDirectory:(BOOL)isDirectory index:(int)index hint:(FHHandlerHint)hint; 
     45- (id)                                          initWithURL:(ZAURL *)url isDirectory:(BOOL)isDirectory index:(int)index; 
     46- (id)                                          initWithURL:(ZAURL *)url isDirectory:(BOOL)isDirectory index:(int)index hint:(FHHandlerHint)hint; 
    4747 
    4848- (void)                                        setImage:(NSImage *)image; 
     
    5353 
    5454- (NSString *)                          name; 
    55 - (NSURL *)                                   URL; 
     55- (ZAURL *)                                   URL; 
    5656- (NSString *)                          path; 
    5757- (NSString *)                          extension; 
  • Footagehead/trunk/FHFile.m

    r911 r917  
    1 /* $Id: FHFile.m,v 1.5 2004/12/04 16:34:23 morris Exp $ */ 
     1/* $Id: FHFile.m,v 1.6 2004/12/08 14:13:22 morris Exp $ */ 
    22 
    33/* 
     
    3232@implementation FHFile 
    3333 
    34 - (id)initWithURL:(NSURL *)url isDirectory:(BOOL)directory index:(int)index { 
     34- (id)initWithURL:(ZAURL *)url isDirectory:(BOOL)directory index:(int)index { 
    3535        return [self initWithURL:url isDirectory:directory index:(int)index hint:FHHandlerHintNone]; 
    3636} 
     
    3838 
    3939 
    40 - (id)initWithURL:(NSURL *)url isDirectory:(BOOL)directory index:(int)index hint:(FHHandlerHint)hint { 
     40- (id)initWithURL:(ZAURL *)url isDirectory:(BOOL)directory index:(int)index hint:(FHHandlerHint)hint { 
    4141        BOOL    local; 
    4242         
     
    177177 
    178178 
    179 - (NSURL *)URL { 
     179- (ZAURL *)URL { 
    180180        return _url; 
    181181} 
  • Footagehead/trunk/FHFileHandler.h

    r901 r917  
    1 /* $Id: FHFileHandler.h,v 1.3 2004/12/03 12:29:49 morris Exp $ */ 
     1/* $Id: FHFileHandler.h,v 1.4 2004/12/08 14:13:22 morris Exp $ */ 
    22 
    33/* 
     
    2929#import "FHHandler.h" 
    3030 
    31 @interface FHFileHandler : FHHandler { 
    32         NSURL                                   *_relativeURL; 
    33 
     31@interface FHFileHandler : FHHandler 
    3432 
    3533@end 
  • Footagehead/trunk/FHFileHandler.m

    r905 r917  
    1 /* $Id: FHFileHandler.m,v 1.8 2004/12/03 14:57:04 morris Exp $ */ 
     1/* $Id: FHFileHandler.m,v 1.9 2004/12/08 14:13:22 morris Exp $ */ 
    22 
    33/* 
     
    3333@implementation FHFileHandler 
    3434 
    35 + (BOOL)handlesURL:(NSURL *)url isPrimary:(BOOL)primary { 
     35+ (BOOL)handlesURL:(ZAURL *)url isPrimary:(BOOL)primary { 
    3636        if([url isFileURL]) { 
    3737                if([[NSFileManager defaultManager] directoryExistsAtPath:[url path]]) 
     
    4444 
    4545 
    46 + (BOOL)handlesURLAsDirectory:(NSURL *)url { 
     46+ (BOOL)handlesURLAsDirectory:(ZAURL *)url { 
    4747        return YES; 
    48 } 
    49  
    50  
    51  
    52 #pragma mark - 
    53  
    54 - (void)dealloc { 
    55         [_relativeURL release]; 
    56          
    57         [super dealloc]; 
    5848} 
    5949 
     
    6454- (NSArray *)files { 
    6555        NSEnumerator            *enumerator; 
    66         NSURL                           *url; 
    6756        NSArray                         *types, *files; 
    6857        NSString                        *name, *root, *path; 
    6958        FHFile                          *file; 
     59        ZAURL                           *url; 
    7060        LSItemInfoRecord        itemInfoRecord; 
    7161        BOOL                            isDirectory; 
    7262        int                                     i = 0; 
    73          
     63 
    7464        if(!_loadedFiles) { 
    7565                types = [NSImage FHImageFileTypes]; 
     
    7969 
    8070                while((name = [enumerator nextObject])) { 
     71                        path = [root stringByAppendingPathComponent:name]; 
     72                         
    8173                        if([name hasPrefix:@"."] ) 
    8274                                continue; 
    8375                         
    84                         path = [root stringByAppendingPathComponent:name]; 
    85                          
    86                         if([name isEqualToString:@".FootageheadPath"]) { 
    87                                 _relativeURL = [[NSURL alloc] initWithString: 
    88                                         [[NSString stringWithContentsOfFile:path] stringByAddingURLPercentEscapes]]; 
    89                         }                                  
    90  
    91                         url = [NSURL fileURLWithPath:path]; 
     76                        url = [ZAURL fileURLWithPath:path]; 
    9277                        isDirectory = [FHHandler URLIsDirectory:url]; 
    9378 
     
    9782                        } 
    9883                         
    99                         LSCopyItemInfoForURL((CFURLRef) url, kLSRequestBasicFlagsOnly, &itemInfoRecord); 
     84                        LSCopyItemInfoForURL((CFURLRef) [url URL], kLSRequestBasicFlagsOnly, &itemInfoRecord); 
    10085 
    10186                        if(itemInfoRecord.flags & kLSItemInfoIsInvisible) 
     
    11297        return _files; 
    11398} 
    114  
    115  
    116  
    117 - (BOOL)isLocal { 
    118         if(_relativeURL) 
    119                 return [_relativeURL isFileURL]; 
    120  
    121         return [super isLocal]; 
    122 } 
    123  
    124  
    125  
    126 #pragma mark - 
    127  
    128 - (NSURL *)parentURL { 
    129         NSString                *path, *root; 
    130          
    131         path = [[[self relativeURL] path] stringByReplacingURLPercentEscapes]; 
    132         root = [[[self URL] path] stringByAppendingPathComponent:@".FootageheadRoot"]; 
    133          
    134         if([NSString stringWithContentsOfFile:root]) 
    135                 return [NSURL fileURLWithPath:path]; 
    136  
    137         return [NSURL fileURLWithPath:[path stringByDeletingLastPathComponent]]; 
    138 } 
    139  
    140  
    141  
    142 - (NSURL *)relativeURL { 
    143         NSString                *filePath, *path; 
    144          
    145         filePath = [[[[self URL] path] stringByDeletingLastPathComponent] 
    146                 stringByAppendingPathComponent:@".FootageheadPath"]; 
    147         path = [NSString stringWithContentsOfFile:filePath]; 
    148          
    149         path = path || !_relativeURL ? [[self URL] path] : [_relativeURL path]; 
    150          
    151         return [NSURL fileURLWithPath:path]; 
    152 } 
    153  
    154  
    155  
    156 - (NSArray *)displayURLComponents { 
    157         NSEnumerator            *enumerator; 
    158         NSMutableArray          *components; 
    159         NSString                        *path, *component, *label; 
    160          
    161         if(_relativeURL && ![_relativeURL isFileURL]) 
    162                 return [NSArray arrayWithObject:[_relativeURL absoluteString]]; 
    163  
    164         components = [NSMutableArray arrayWithCapacity:10]; 
    165         path = _relativeURL ? [_relativeURL path] : [[self URL] path]; 
    166         enumerator = [[[path stringByReplacingURLPercentEscapes] pathComponents] objectEnumerator]; 
    167         label = [NSString string]; 
    168          
    169         while((component = [enumerator nextObject])) { 
    170                 label = [label stringByAppendingString:component]; 
    171                  
    172                 if(![label hasSuffix:@"/"]) 
    173                         label = [label stringByAppendingString:@"/"]; 
    174                  
    175                 [components addObject:label]; 
    176         } 
    177          
    178         return components; 
    179 } 
    180  
    181  
    182  
    183 - (NSArray *)fullURLComponents { 
    184         NSEnumerator            *enumerator; 
    185         NSMutableArray          *components; 
    186         NSString                        *path, *component, *label; 
    187          
    188         if(_relativeURL && ![_relativeURL isFileURL]) 
    189                 return [NSArray arrayWithObject:_relativeURL]; 
    190          
    191         components = [NSMutableArray arrayWithCapacity:10]; 
    192         path = _relativeURL ? [_relativeURL path] : [[self URL] path]; 
    193         enumerator = [[path pathComponents] objectEnumerator]; 
    194         label = [NSString string]; 
    195          
    196         while((component = [enumerator nextObject])) { 
    197                 label = [label stringByAppendingString:component]; 
    198                  
    199                 if(![label hasSuffix:@"/"]) 
    200                         label = [label stringByAppendingString:@"/"]; 
    201                  
    202                 [components addObject:[NSURL fileURLWithPath:label]]; 
    203         } 
    204          
    205         return components; 
    206 } 
    20799         
    208100@end 
  • Footagehead/trunk/FHGalleryHandler.m

    r905 r917  
    1 /* $Id: FHGalleryHandler.m,v 1.4 2004/12/03 14:57:04 morris Exp $ */ 
     1/* $Id: FHGalleryHandler.m,v 1.5 2004/12/08 14:13:22 morris Exp $ */ 
    22 
    33/* 
     
    3333#import "FHSettings.h" 
    3434 
     35#warning FHGalleryHandler is disabled 
     36#if 0 
     37 
    3538@implementation FHGalleryHandler 
    3639 
    37 + (BOOL)handlesURL:(NSURL *)url isPrimary:(BOOL)primary { 
     40+ (BOOL)handlesURL:(ZAURL *)url isPrimary:(BOOL)primary { 
    3841        return NO; 
    3942} 
     
    4144 
    4245 
    43 + (BOOL)handlesURLAsDirectory:(NSURL *)url { 
     46+ (BOOL)handlesURLAsDirectory:(ZAURL *)url { 
    4447        return NO; 
    4548} 
     
    4952#pragma mark - 
    5053 
    51 - (id)initWithURL:(NSURL *)url hint:(FHHandlerHint)hint { 
     54- (id)initWithURL:(ZAURL *)url hint:(FHHandlerHint)hint { 
     55        NSString        *string, 
     56         
    5257        self = [super initWithURL:url hint:hint]; 
    5358         
     
    244249 
    245250@end 
     251 
     252#endif 
  • Footagehead/trunk/FHHTMLHandler.m

    r903 r917  
    1 /* $Id: FHHTMLHandler.m,v 1.7 2004/12/03 14:56:07 morris Exp $ */ 
     1/* $Id: FHHTMLHandler.m,v 1.8 2004/12/08 14:13:22 morris Exp $ */ 
    22 
    33/* 
     
    3535@implementation FHHTMLHandler 
    3636 
    37 + (BOOL)handlesURL:(NSURL *)url isPrimary:(BOOL)primary { 
     37+ (BOOL)handlesURL:(ZAURL *)url isPrimary:(BOOL)primary { 
    3838        NSString                *extension; 
    3939         
     
    5252 
    5353 
    54 + (BOOL)handlesURLAsDirectory:(NSURL *)url { 
     54+ (BOOL)handlesURLAsDirectory:(ZAURL *)url { 
    5555        return NO; 
    5656} 
     
    6060#pragma mark - 
    6161 
    62 - (id)initWithURL:(NSURL *)url hint:(FHHandlerHint)hint { 
     62- (id)initWithURL:(ZAURL *)url hint:(FHHandlerHint)hint { 
    6363        self = [super initWithURL:url hint:hint]; 
    6464         
    65         if([[[url path] pathExtension] isEqualToString:@""] && ![[url absoluteString] hasSuffix:@"/"]) { 
    66                 [_url release]; 
    67                 _url = [[NSURL URLWithString:[NSString stringWithFormat:@"%@/", [url absoluteString]]] retain]; 
     65        if([[[_url path] pathExtension] isEqualToString:@""]) { 
     66                if(![[_url string] hasSuffix:@"/"]) { 
     67                        url = [ZAURL URLWithString:[[_url string] stringByAppendingString:@"/"]]; 
     68 
     69                        [url retain]; 
     70                        [_url release]; 
     71                         
     72                        _url = url; 
     73                } 
    6874        } 
    6975         
    70         _html = [[NSString alloc] initWithContentsOfURL:_url]; 
     76        _html = [[NSString alloc] initWithContentsOfURL:[_url URL]]; 
    7177         
    7278        if([_html containsSubstring:@"gallery.footer"]) { 
    7379                [self release]; 
    7480                 
    75                 return [[FHGalleryHandler alloc] initWithURL:url]; 
     81                return [(FHGalleryHandler *) [FHGalleryHandler alloc] initWithURL:_url]; 
    7682        } 
    7783 
     
    96102        NSString                *token, *link; 
    97103        NSScanner               *scanner; 
    98         NSURL                   *url; 
    99104        FHFile                  *file; 
     105        ZAURL                   *url; 
    100106        BOOL                    isDirectory; 
    101107        unsigned int    length; 
     
    141147                                        } 
    142148                                         
    143                                         url = [[NSURL URLWithString:link relativeToURL:[self URL]] absoluteURL]; 
     149                                        link = [link stringByReplacingURLPercentEscapes]; 
     150                                         
     151                                        if([link containsSubstring:@"://"]) { 
     152                                                url = [ZAURL URLWithString:link]; 
     153                                        } else { 
     154                                                url = [[[self URL] copy] autorelease]; 
     155 
     156                                                if([link hasPrefix:@"/"]) 
     157                                                        [url setPath:link]; 
     158                                                else 
     159                                                        [url setPath:[[url path] stringByAppendingPathComponent:link]]; 
     160                                        } 
    144161                                         
    145162                                        if([[url path] isEqualToString:@"/"]) 
     
    164181} 
    165182 
    166  
    167  
    168 #pragma mark - 
    169  
    170 - (NSURL *)parentURL { 
    171         NSString                *string; 
    172         NSRange                 range; 
    173          
    174         string = [_url absoluteString]; 
    175          
    176         while([string hasSuffix:@"/"]) 
    177                 string = [string substringToIndex:[string length] - 1]; 
    178          
    179         range = [string rangeOfString:@"/" options:NSBackwardsSearch]; 
    180          
    181         if(range.location == NSNotFound) 
    182                 return [self URL]; 
    183          
    184         string = [string substringToIndex:range.location + 1]; 
    185          
    186         if([string hasSuffix:@"://"]) 
    187                 return [self URL]; 
    188          
    189         return [NSURL URLWithString:string]; 
    190 } 
    191  
    192183@end 
  • Footagehead/trunk/FHHandler.h

    r915 r917  
    1 /* $Id: FHHandler.h,v 1.5 2004/12/04 20:27:00 morris Exp $ */ 
     1/* $Id: FHHandler.h,v 1.6 2004/12/08 14:13:22 morris Exp $ */ 
    22 
    33/* 
     
    3333        FHHandlerHintGallery, 
    3434        FHHandlerHintImage, 
    35         FHHandlerHintRange, 
    36         FHHandlerHintRAR, 
    37         FHHandlerHintZip 
     35        FHHandlerHintRange 
    3836}; 
    3937typedef enum FHHandlerHint              FHHandlerHint; 
     
    4240        NSMutableArray                          *_files; 
    4341        NSMutableArray                          *_images; 
    44         NSURL                                         *_url; 
     42        ZAURL                                         *_url; 
    4543 
    4644        FHHandlerHint                           _hint; 
     
    5149 
    5250 
    53 + (BOOL)                                                handlesURL:(NSURL *)url isPrimary:(BOOL)primary; 
    54 + (BOOL)                                                handlesURLAsDirectory:(NSURL *)url; 
    55 + (BOOL)                                                URLIsDirectory:(NSURL *)url; 
     51+ (BOOL)                                                handlesURL:(ZAURL *)url isPrimary:(BOOL)primary; 
     52+ (BOOL)                                                handlesURLAsDirectory:(ZAURL *)url; 
     53+ (BOOL)                                                URLIsDirectory:(ZAURL *)url; 
    5654 
    57 - (id)                                                  initWithURL:(NSURL *)url; 
    58 - (id)                                                  initWithURL:(NSURL *)url hint:(FHHandlerHint)hint; 
     55- (id)                                                  initWithURL:(ZAURL *)url; 
     56- (id)                                                  initWithURL:(ZAURL *)url hint:(FHHandlerHint)hint; 
    5957 
    6058- (NSArray *)                                   files; 
     
    6563- (FHHandlerHint)                               hint; 
    6664 
    67 - (NSURL *)                                             URL; 
    68 - (NSURL *)                                             parentURL; 
    69 - (NSURL *)                                             relativeURL; 
     65- (ZAURL *)                                             URL; 
     66- (ZAURL *)                                             parentURL; 
    7067- (NSArray *)                                   displayURLComponents; 
    7168- (NSArray *)                                   fullURLComponents; 
  • Footagehead/trunk/FHHandler.m

    r901 r917  
    1 /* $Id: FHHandler.m,v 1.5 2004/12/03 12:29:49 morris Exp $ */ 
     1/* $Id: FHHandler.m,v 1.6 2004/12/08 14:13:22 morris Exp $ */ 
    22 
    33/* 
     
    3434#import "FHImageHandler.h" 
    3535#import "FHRangeHandler.h" 
    36 #import "FHRARHandler.h" 
    37 #import "FHZipHandler.h" 
    3836 
    3937static NSDictionary                             *FHHandlerHints; 
     
    4947                        [FHFileHandler class], 
    5048                                [NSNumber numberWithInt:FHHandlerHintFile], 
    51                         [FHGalleryHandler class], 
    52                                 [NSNumber numberWithInt:FHHandlerHintGallery], 
     49//                      [FHGalleryHandler class], 
     50//                              [NSNumber numberWithInt:FHHandlerHintGallery], 
     51                        [FHRangeHandler class], 
     52                                [NSNumber numberWithInt:FHHandlerHintRange], 
    5353                        [FHImageHandler class], 
    5454                                [NSNumber numberWithInt:FHHandlerHintImage], 
    55                         [FHRangeHandler class], 
    56                                 [NSNumber numberWithInt:FHHandlerHintRange], 
    57                         [FHRARHandler class], 
    58                                 [NSNumber numberWithInt:FHHandlerHintRAR], 
    59                         [FHZipHandler class], 
    60                                 [NSNumber numberWithInt:FHHandlerHintZip], 
    6155                        NULL]; 
    6256 
     
    6458                        [FHHTMLHandler class], 
    6559                        [FHFileHandler class], 
    66                         [FHGalleryHandler class], 
     60//                      [FHGalleryHandler class], 
     61                        [FHRangeHandler class], 
    6762                        [FHImageHandler class], 
    68                         [FHRangeHandler class], 
    69                         [FHRARHandler class], 
    70                         [FHZipHandler class], 
    7163                        NULL]; 
    7264        } 
     
    7567 
    7668 
    77 + (BOOL)handlesURL:(NSURL *)url isPrimary:(BOOL)primary { 
     69+ (BOOL)handlesURL:(ZAURL *)url isPrimary:(BOOL)primary { 
    7870        [self doesNotRecognizeSelector:_cmd]; 
    7971        return NO; 
     
    8274 
    8375 
    84 + (BOOL)handlesURLAsDirectory:(NSURL *)url { 
     76+ (BOOL)handlesURLAsDirectory:(ZAURL *)url { 
    8577        [self doesNotRecognizeSelector:_cmd]; 
    8678        return NO; 
     
    8981 
    9082 
    91 + (BOOL)URLIsDirectory:(NSURL *)url { 
     83+ (BOOL)URLIsDirectory:(ZAURL *)url { 
    9284        Class           class; 
    9385        int                     i, count; 
     
    129121 
    130122 
    131 - (id)initWithURL:(NSURL *)url { 
     123- (id)initWithURL:(ZAURL *)url { 
    132124        return [self initWithURL:url hint:FHHandlerHintNone]; 
    133125} 
     
    135127 
    136128 
    137 - (id)initWithURL:(NSURL *)url hint:(FHHandlerHint)hint { 
     129- (id)initWithURL:(ZAURL *)url hint:(FHHandlerHint)hint { 
    138130        self = [super init]; 
    139131         
     
    213205#pragma mark - 
    214206 
    215 - (NSURL *)URL { 
     207- (ZAURL *)URL { 
    216208        return _url; 
    217209} 
     
    219211 
    220212 
    221 - (NSURL *)parentURL { 
    222         return [self URL]; 
    223 
    224  
    225  
    226  
    227 - (NSURL *)relativeURL { 
    228         return [self URL]; 
     213- (ZAURL *)parentURL { 
     214        ZAURL           *url; 
     215         
     216        url = [[self URL] copy]; 
     217        [url setPath:[[[self URL] path] stringByDeletingLastPathComponent]]; 
     218         
     219        return [url autorelease]; 
    229220} 
    230221 
     
    232223 
    233224- (NSArray *)displayURLComponents { 
    234         return [NSArray arrayWithObject:[[[self URL] absoluteString] stringByReplacingURLPercentEscapes]]; 
     225        NSEnumerator            *enumerator; 
     226        NSMutableArray          *components; 
     227        NSString                        *path, *component; 
     228        ZAURL                           *url; 
     229         
     230        url = [self URL]; 
     231        path = [[url path] retain]; 
     232        [url setPath:@"/"]; 
     233         
     234        enumerator = [[path pathComponents] objectEnumerator]; 
     235        components = [NSMutableArray arrayWithCapacity:10]; 
     236         
     237        while((component = [enumerator nextObject])) { 
     238                if([component isEqualToString:@"/"]) 
     239                        continue; 
     240                 
     241                [url setPath:[[url path] stringByAppendingPathComponent:component]]; 
     242                [components addObject:[url humanReadableString]]; 
     243        } 
     244         
     245        [url setPath:path]; 
     246        [path release]; 
     247         
     248        return components; 
    235249} 
    236250 
     
    238252 
    239253- (NSArray *)fullURLComponents { 
    240         return [NSArray arrayWithObject:[self URL]]; 
     254        NSEnumerator            *enumerator; 
     255        NSMutableArray          *components; 
     256        NSString                        *path, *component; 
     257        ZAURL                           *url; 
     258         
     259        url = [self URL]; 
     260        path = [[url path] retain]; 
     261        [url setPath:@"/"]; 
     262         
     263        enumerator = [[path pathComponents] objectEnumerator]; 
     264        components = [NSMutableArray arrayWithCapacity:10]; 
     265         
     266        while((component = [enumerator nextObject])) { 
     267                if([component isEqualToString:@"/"]) 
     268                        continue; 
     269                 
     270                [url setPath:[[url path] stringByAppendingPathComponent:component]]; 
     271                [components addObject:[[url copy] autorelease]]; 
     272        } 
     273         
     274        [url setPath:path]; 
     275        [path release]; 
     276         
     277        return components; 
    241278} 
    242279 
     
    247284@implementation FHPlaceholderHandler 
    248285 
    249 - (id)initWithURL:(NSURL *)url { 
     286- (id)initWithURL:(ZAURL *)url { 
    250287        return [self initWithURL:url hint:FHHandlerHintNone]; 
    251288} 
     
    253290 
    254291 
    255 - (id)initWithURL:(NSURL *)url hint:(FHHandlerHint)hint { 
     292- (id)initWithURL:(ZAURL *)url hint:(FHHandlerHint)hint { 
    256293        NSZone          *zone; 
    257294        Class           class; 
  • Footagehead/trunk/FHImageHandler.m

    r905 r917  
    1 /* $Id: FHImageHandler.m,v 1.4 2004/12/03 14:57:04 morris Exp $ */ 
     1/* $Id: FHImageHandler.m,v 1.5 2004/12/08 14:13:22 morris Exp $ */ 
    22 
    33/* 
     
    3333@implementation FHImageHandler 
    3434 
    35 + (BOOL)handlesURL:(NSURL *)url isPrimary:(BOOL)primary { 
     35+ (BOOL)handlesURL:(ZAURL *)url isPrimary:(BOOL)primary { 
    3636        NSString                *extension; 
    3737         
     
    4848 
    4949 
    50 + (BOOL)handlesURLAsDirectory:(NSURL *)url { 
     50+ (BOOL)handlesURLAsDirectory:(ZAURL *)url { 
    5151        return NO; 
    5252} 
     
    6060         
    6161        if(!_loadedFiles) { 
    62                 file = [[FHFile alloc] initWithURL:_url isDirectory:NO index:0]; 
     62                file = [[FHFile alloc] initWithURL:[self URL] isDirectory:NO index:0]; 
    6363                [_files addObject:file]; 
    6464                [file release]; 
  • Footagehead/trunk/FHRangeHandler.m

    r905 r917  
    1 /* $Id: FHRangeHandler.m,v 1.4 2004/12/03 14:57:04 morris Exp $ */ 
     1/* $Id: FHRangeHandler.m,v 1.5 2004/12/08 14:13:22 morris Exp $ */ 
    22 
    33/* 
     
    3333@implementation FHRangeHandler 
    3434 
    35 + (BOOL)handlesURL:(NSURL *)url isPrimary:(BOOL)primary { 
     35+ (BOOL)handlesURL:(ZAURL *)url isPrimary:(BOOL)primary { 
    3636        NSString                *string; 
    3737         
     
    4949 
    5050 
    51 + (BOOL)handlesURLAsDirectory:(NSURL *)url { 
     51+ (BOOL)handlesURLAsDirectory:(ZAURL *)url { 
    5252        return NO; 
    5353} 
     
    5757#pragma mark - 
    5858 
    59 - (id)initWithURL:(NSURL *)url hint:(FHHandlerHint)hint { 
     59- (id)initWithURL:(ZAURL *)url hint:(FHHandlerHint)hint { 
    6060        NSMutableString         *mutableString; 
    6161        NSString                        *string, *start, *stop, *token; 
     
    6868         
    6969        _links = [[NSMutableArray allo