Changeset 1439

Show
Ignore:
Timestamp:
08/07/04 11:27:53 (4 years ago)
Author:
morris
Message:

case insensitive compare

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • WiredClient/trunk/WCTextFinder.m

    r1037 r1439  
    1 /* $Id: WCTextFinder.m,v 1.2 2004/03/18 18:14:37 morris Exp $ */ 
     1/* $Id: WCTextFinder.m,v 1.3 2004/08/07 09:27:53 morris Exp $ */ 
    22 
    33/* 
     
    6464 
    6565- (IBAction)next:(id)sender { 
    66         NSString                *string
     66        NSString                *string, *value
    6767        NSRange                 range; 
    6868        BOOL                    again = NO; 
     
    7272        range   = [(NSTextView *) _responder selectedRange]; 
    7373         
    74         if(range.length == 0) { 
     74        if(range.location == NSNotFound) { 
    7575                // --- search entire range 
    7676                range = NSMakeRange(0, [string length]); 
    7777        } else { 
    7878                // --- we have a previous search selected 
    79                 if([[string substringWithRange:range] isEqualToString:[_findTextField stringValue]]) 
     79                value = [string substringWithRange:range]; 
     80 
     81                if([value caseInsensitiveCompare:[_findTextField stringValue]] == NSOrderedSame) 
    8082                        range = NSMakeRange(range.location + 1, [string length] - range.location - 1); 
    8183                 
     
    8991         
    9092        // --- select range 
    91         if(range.length > 0) { 
     93        if(range.location != NSNotFound) { 
    9294                [(NSTextView *) _responder setSelectedRange:range]; 
    9395                [(NSTextView *) _responder scrollRangeToVisible:range]; 
    94                  
    95                 return; 
    9696        } 
    97          
    98         // --- search again on entire range 
    99         if(again) { 
     97        else if(again) { 
    10098                // --- find string 
    10199                range = [string rangeOfString:[_findTextField stringValue] 
     
    104102                 
    105103                // --- select range 
    106                 if(range.length > 0) { 
     104                if(range.location != NSNotFound) { 
    107105                        [(NSTextView *) _responder setSelectedRange:range]; 
    108106                        [(NSTextView *) _responder scrollRangeToVisible:range]; 
     
    114112 
    115113- (IBAction)previous:(id)sender { 
    116         NSString                *string
     114        NSString                *string, *value
    117115        NSRange                 range; 
    118116        BOOL                    again = NO; 
     
    122120        range   = [(NSTextView *) _responder selectedRange]; 
    123121         
    124         if(range.length == 0) { 
     122        if(range.location == NSNotFound) { 
    125123                // --- search entire range 
    126124                range = NSMakeRange(0, [string length]); 
    127125        } else { 
    128126                // --- we have a previous search selected 
    129                 if([[string substringWithRange:range] isEqualToString:[_findTextField stringValue]]) 
     127                value = [string substringWithRange:range]; 
     128                 
     129                if([value caseInsensitiveCompare:[_findTextField stringValue]] == NSOrderedSame) 
    130130                        range = NSMakeRange(0, range.location); 
    131131                 
     
    139139         
    140140        // --- select range 
    141         if(range.length > 0) { 
     141        if(range.location != NSNotFound) { 
    142142                [(NSTextView *) _responder setSelectedRange:range]; 
    143143                [(NSTextView *) _responder scrollRangeToVisible:range]; 
    144                  
    145                 return; 
    146144        } 
    147          
    148         // --- search again on entire range 
    149         if(again) { 
     145        else if(again) { 
    150146                // --- find string 
    151147                range = [string rangeOfString:[_findTextField stringValue] 
     
    154150                 
    155151                // --- select range 
    156                 if(range.length > 0) { 
     152                if(range.location != NSNotFound) { 
    157153                        [(NSTextView *) _responder setSelectedRange:range]; 
    158154                        [(NSTextView *) _responder scrollRangeToVisible:range]; 
     
    172168         
    173169        // --- set selected substring and show panel 
    174         if(range.length > 0) { 
     170        if(range.location != NSNotFound) { 
    175171                [_findTextField setStringValue:[string substringWithRange:range]]; 
    176172                [self showWindow:self]; 
     
    187183         
    188184        // --- scroll to selection 
    189         if(range.length > 0
     185        if(range.location != NSNotFound
    190186                [(NSTextView *) _responder scrollRangeToVisible:range]; 
    191187}