Revision: 7605
          http://skim-app.svn.sourceforge.net/skim-app/?rev=7605&view=rev
Author:   hofman
Date:     2011-12-27 15:56:57 +0000 (Tue, 27 Dec 2011)
Log Message:
-----------
only pass forward option through find method, get case insensitive option 
locally

Modified Paths:
--------------
    trunk/SKFindController.h
    trunk/SKFindController.m
    trunk/SKMainWindowController.m
    trunk/SKMainWindowController_Actions.m

Modified: trunk/SKFindController.h
===================================================================
--- trunk/SKFindController.h    2011-12-26 12:25:50 UTC (rev 7604)
+++ trunk/SKFindController.h    2011-12-27 15:56:57 UTC (rev 7605)
@@ -66,7 +66,7 @@
 
 - (void)toggleAboveView:(NSView *)view animate:(BOOL)animate;
 
-- (void)findWithOptions:(NSStringCompareOptions)backForwardOption;
+- (void)findForward:(BOOL)forward;
 - (void)updateFindPboard;
 
 - (IBAction)find:(id)sender;
@@ -77,5 +77,5 @@
 
 
 @protocol SKFindControllerDelegate <NSObject>
-- (BOOL)findString:(NSString *)string options:(NSInteger)options;
+- (BOOL)findString:(NSString *)string forward:(BOOL)forward;
 @end

Modified: trunk/SKFindController.m
===================================================================
--- trunk/SKFindController.m    2011-12-26 12:25:50 UTC (rev 7604)
+++ trunk/SKFindController.m    2011-12-27 15:56:57 UTC (rev 7605)
@@ -227,21 +227,18 @@
     return fieldEditor;
 }
 
-- (void)findWithOptions:(NSStringCompareOptions)backForwardOption {
+- (void)findForward:(BOOL)forward {
     BOOL found = YES;
     if ([findString length]) {
-        NSInteger findOptions = [[NSUserDefaults standardUserDefaults] 
boolForKey:SKCaseInsensitiveFindKey] ? NSCaseInsensitiveSearch : 0;
-        found = [delegate findString:findString options:findOptions | 
backForwardOption];
+        found = [delegate findString:findString forward:forward];
         [self updateFindPboard];
     }
     [messageField setHidden:found];
 }
 
 - (IBAction)find:(id)sender {
-    NSStringCompareOptions options = 0;
-    if ([sender isKindOfClass:[NSSegmentedControl class]] && [sender 
selectedTag] == 0)
-        options |= NSBackwardsSearch;
-    [self findWithOptions:options];
+    BOOL forward = [sender isKindOfClass:[NSSegmentedControl class]] == NO || 
[sender selectedTag] == 1;
+    [self findForward:forward];
 }
 
 - (IBAction)remove:(id)sender {

Modified: trunk/SKMainWindowController.m
===================================================================
--- trunk/SKMainWindowController.m      2011-12-26 12:25:50 UTC (rev 7604)
+++ trunk/SKMainWindowController.m      2011-12-27 15:56:57 UTC (rev 7605)
@@ -1705,18 +1705,20 @@
     return selection;
 }
 
-- (BOOL)findString:(NSString *)string options:(NSInteger)options {
+- (BOOL)findString:(NSString *)string forward:(BOOL)forward {
     PDFSelection *sel = [pdfView currentSelection];
     NSUInteger pageIndex = [[pdfView currentPage] pageIndex];
-    if (options & NSBackwardsSearch) {
-        while ([sel hasCharacters] == NO && ++pageIndex < [[pdfView document] 
pageCount]) {
+    NSInteger options = [[NSUserDefaults standardUserDefaults] 
boolForKey:SKCaseInsensitiveFindKey] ? NSCaseInsensitiveSearch : 0;
+    if (forward) {
+        while ([sel hasCharacters] == NO && pageIndex-- > 0) {
             PDFPage *page = [[pdfView document] pageAtIndex:pageIndex];
             NSUInteger length = [[page string] length];
             if (length > 0)
                 sel = [page selectionForRange:NSMakeRange(0, length)];
         }
     } else {
-        while ([sel hasCharacters] == NO && pageIndex-- > 0) {
+        options |= NSBackwardsSearch;
+        while ([sel hasCharacters] == NO && ++pageIndex < [[pdfView document] 
pageCount]) {
             PDFPage *page = [[pdfView document] pageAtIndex:pageIndex];
             NSUInteger length = [[page string] length];
             if (length > 0)

Modified: trunk/SKMainWindowController_Actions.m
===================================================================
--- trunk/SKMainWindowController_Actions.m      2011-12-26 12:25:50 UTC (rev 
7604)
+++ trunk/SKMainWindowController_Actions.m      2011-12-27 15:56:57 UTC (rev 
7605)
@@ -1033,7 +1033,7 @@
         return;
     }
        
-    NSStringCompareOptions findOptions = 0;
+    NSStringCompareOptions forward = YES;
     NSString *findString = nil;
     
     switch ([sender tag]) {
@@ -1041,18 +1041,16 @@
             [self showFindBar];
             break;
                case NSFindPanelActionPrevious:
-            findOptions |= NSBackwardsSearch;
+            forward = NO;
                case NSFindPanelActionNext:
             if ([[findController view] window]) {
-                [findController findWithOptions:findOptions];
+                [findController findForward:forward];
             } else {
                 NSPasteboard *findPboard = [NSPasteboard 
pasteboardWithName:NSFindPboard];
                 if ([findPboard availableTypeFromArray:[NSArray 
arrayWithObject:NSStringPboardType]])
                     findString = [findPboard stringForType:NSStringPboardType];
-                if ([[NSUserDefaults standardUserDefaults] 
boolForKey:SKCaseInsensitiveFindKey])
-                    findOptions |= NSCaseInsensitiveSearch;
                 if ([findString length] > 0)
-                    [self findString:findString options:findOptions];
+                    [self findString:findString forward:forward];
                 else
                     NSBeep();
             }

This was sent by the SourceForge.net collaborative development platform, the 
world's largest Open Source development site.


------------------------------------------------------------------------------
Write once. Port to many.
Get the SDK and tools to simplify cross-platform app development. Create 
new or port existing apps to sell to consumers worldwide. Explore the 
Intel AppUpSM program developer opportunity. appdeveloper.intel.com/join
http://p.sf.net/sfu/intel-appdev
_______________________________________________
Skim-app-commit mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/skim-app-commit

Reply via email to