Changeset 5102

Show
Ignore:
Timestamp:
12/10/07 23:14:21 (7 months ago)
Author:
morris
Message:

Changes for Spiral

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • WiredAdditions/trunk/NSString-WIAdditions.m

    r5002 r5102  
    152152                 
    153153        while(![scanner isAtEnd]) { 
    154                 [scanner scanUpToCharactersFromSet:set intoString:NULL]; 
    155                 [scanner scanUpToCharactersFromSet:invertedSet intoString:&string]; 
    156  
     154                [scanner scanUpToCharactersFromSet:set intoString:&string]; 
     155                [scanner scanUpToCharactersFromSet:invertedSet intoString:NULL]; 
     156                 
    157157                if([string length] > 0) 
    158158                        [components addObject:string]; 
  • WiredAdditions/trunk/NSWindowController-WIAdditions.m

    r4464 r5102  
    4444 
    4545- (IBAction)submitSheet:(id)sender { 
    46         [NSApp endSheet:[sender window] returnCode:NSAlertDefaultReturn]; 
     46        [NSApp endSheet:[sender window] returnCode:NSOKButton]; 
    4747} 
    4848 
     
    5050 
    5151- (IBAction)cancelSheet:(id)sender { 
    52         [NSApp endSheet:[sender window] returnCode:NSAlertAlternateReturn]; 
     52        [NSApp endSheet:[sender window] returnCode:NSCancelButton]; 
    5353} 
    5454 
  • WiredAdditions/trunk/WIURL.h

    r4952 r5102  
    3434        NSString                        *_password; 
    3535        NSString                        *_path; 
     36        NSString                        *_query; 
    3637} 
    3738 
     
    6667- (NSString *)pathExtension; 
    6768- (NSString *)lastPathComponent; 
     69- (void)setQuery:(NSString *)query; 
     70- (NSString *)query; 
     71- (NSDictionary *)queryParameters; 
    6872 
    6973@end 
  • WiredAdditions/trunk/WIURL.m

    r5013 r5102  
    6666 
    6767+ (id)URLWithString:(NSString *)string scheme:(NSString *)defaultScheme { 
    68         NSString        *scheme, *auth, *user, *password, *path
     68        NSString        *scheme, *auth, *user, *password, *path, *query
    6969        WIURL           *url; 
    7070        NSRange         range; 
     
    131131        [url setUser:user]; 
    132132        [url setPassword:password]; 
    133         [url setPath:path]; 
     133         
     134        range = [path rangeOfString:@"?"]; 
     135         
     136        if(range.location == NSNotFound) { 
     137                [url setPath:path]; 
     138        } else { 
     139                query = [path substringFromIndex:range.location + 1]; 
     140                path = [path substringToIndex:range.location]; 
     141                 
     142                [url setPath:path]; 
     143                [url setQuery:query]; 
     144        } 
    134145 
    135146        return url; 
     
    215226        [_password release]; 
    216227        [_path release]; 
     228        [_query release]; 
    217229 
    218230        [super dealloc]; 
     
    230242        [url setPassword:[self password]]; 
    231243        [url setPath:[self path]]; 
     244        [url setQuery:[self query]]; 
    232245                 
    233246        return url; 
     
    247260        WIDecode(coder, _password); 
    248261        WIDecode(coder, _path); 
     262        WIDecode(coder, _query); 
    249263 
    250264        return self; 
     
    260274        WIEncode(coder, _password); 
    261275        WIEncode(coder, _path); 
     276        WIEncode(coder, _query); 
    262277} 
    263278 
     
    308323                [string appendString:[[self path] stringByAddingURLPercentEscapes]]; 
    309324         
     325        if([[self query] length] > 0) 
     326                [string appendFormat:@"?%@", [[self query] stringByAddingURLPercentEscapes]]; 
     327         
    310328        return [string autorelease]; 
    311329} 
     
    331349        [string appendString:[[self path] length] > 0 ? [self path] : @"/"]; 
    332350 
     351        if([[self query] length] > 0) 
     352                [string appendFormat:@"?%@", [self query]]; 
     353 
    333354        return [string autorelease]; 
    334355} 
     
    470491} 
    471492 
     493 
     494 
     495- (void)setQuery:(NSString *)value { 
     496        [value retain]; 
     497        [_query release]; 
     498 
     499        _query = value; 
     500} 
     501 
     502 
     503 
     504- (NSString *)query { 
     505        return _query; 
     506} 
     507 
     508 
     509 
     510- (NSDictionary *)queryParameters { 
     511        NSEnumerator                    *enumerator; 
     512        NSMutableDictionary             *dictionary; 
     513        NSArray                                 *parameters, *sides; 
     514        NSString                                *string; 
     515         
     516        dictionary = [NSMutableDictionary dictionary]; 
     517        parameters = [[self query] componentsSeparatedByCharactersFromSet:[NSCharacterSet characterSetWithCharactersInString:@"&;"]]; 
     518        enumerator = [parameters objectEnumerator]; 
     519         
     520        while((string = [enumerator nextObject])) { 
     521                sides = [string componentsSeparatedByString:@"="]; 
     522                 
     523                if([sides count] == 2) 
     524                        [dictionary setObject:[sides objectAtIndex:1] forKey:[sides objectAtIndex:0]]; 
     525        } 
     526         
     527        return dictionary; 
     528} 
     529 
    472530@end