[SCM] WebKit Debian packaging branch, debian/unstable, updated. debian/1.1.15-1-40151-g37bb677
rjw
rjw at 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Sat Sep 26 06:27:08 UTC 2009
The following commit has been merged in the debian/unstable branch:
commit c03a2f0325a1a9349b4f9f8960c243003266da42
Author: rjw <rjw at 268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date: Wed Jul 24 22:41:39 2002 +0000
Implemented find for text views.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@1661 268f45cc-cd09-0410-ab3c-d52691b4dbfc
diff --git a/WebKit/ChangeLog b/WebKit/ChangeLog
index ca54b9d..1adf10d 100644
--- a/WebKit/ChangeLog
+++ b/WebKit/ChangeLog
@@ -1,3 +1,11 @@
+2002-07-24 Richard Williamson (Local) <rjw at apple.com>
+
+ Implemented find for text views.
+
+ * WebView.subproj/WebTextView.m:
+ (-[NSString findString:selectedRange:options:wrap:]):
+ (-[WebTextView searchFor:direction:caseSensitive:]):
+
2002-07-24 Chris Blumenberg <cblu at apple.com>
Implemented initial contextual menus. None activated yet.
diff --git a/WebKit/ChangeLog-2002-12-03 b/WebKit/ChangeLog-2002-12-03
index ca54b9d..1adf10d 100644
--- a/WebKit/ChangeLog-2002-12-03
+++ b/WebKit/ChangeLog-2002-12-03
@@ -1,3 +1,11 @@
+2002-07-24 Richard Williamson (Local) <rjw at apple.com>
+
+ Implemented find for text views.
+
+ * WebView.subproj/WebTextView.m:
+ (-[NSString findString:selectedRange:options:wrap:]):
+ (-[WebTextView searchFor:direction:caseSensitive:]):
+
2002-07-24 Chris Blumenberg <cblu at apple.com>
Implemented initial contextual menus. None activated yet.
diff --git a/WebKit/WebView.subproj/WebTextView.m b/WebKit/WebView.subproj/WebTextView.m
index ae5a73f..fcf26b1 100644
--- a/WebKit/WebView.subproj/WebTextView.m
+++ b/WebKit/WebView.subproj/WebTextView.m
@@ -7,6 +7,43 @@
#import <WebKit/WebDataSource.h>
+ at interface NSString (NSStringTextFinding)
+
+- (NSRange)findString:(NSString *)string selectedRange:(NSRange)selectedRange options:(unsigned)mask wrap:(BOOL)wrapFlag;
+
+ at end
+
+ at implementation NSString (_Web_StringTextFinding)
+
+- (NSRange)findString:(NSString *)string selectedRange:(NSRange)selectedRange options:(unsigned)options wrap:(BOOL)wrap {
+ BOOL forwards = (options & NSBackwardsSearch) == 0;
+ unsigned length = [self length];
+ NSRange searchRange, range;
+
+ if (forwards) {
+ searchRange.location = NSMaxRange(selectedRange);
+ searchRange.length = length - searchRange.location;
+ range = [self rangeOfString:string options:options range:searchRange];
+ if ((range.length == 0) && wrap) { /* If not found look at the first part of the string */
+ searchRange.location = 0;
+ searchRange.length = selectedRange.location;
+ range = [self rangeOfString:string options:options range:searchRange];
+ }
+ } else {
+ searchRange.location = 0;
+ searchRange.length = selectedRange.location;
+ range = [self rangeOfString:string options:options range:searchRange];
+ if ((range.length == 0) && wrap) {
+ searchRange.location = NSMaxRange(selectedRange);
+ searchRange.length = length - searchRange.location;
+ range = [self rangeOfString:string options:options range:searchRange];
+ }
+ }
+ return range;
+}
+
+ at end
+
@implementation WebTextView
- (id)initWithFrame:(NSRect)frame
@@ -80,7 +117,29 @@
- (BOOL)searchFor: (NSString *)string direction: (BOOL)forward caseSensitive: (BOOL)caseFlag
{
- return NO;
+ BOOL lastFindWasSuccessful = NO;
+ NSString *textContents = [self string];
+ unsigned textLength;
+
+ if (textContents && (textLength = [textContents length])) {
+ NSRange range;
+ unsigned options = 0;
+
+ if (!forward)
+ options |= NSBackwardsSearch;
+
+ if (!caseFlag)
+ options |= NSCaseInsensitiveSearch;
+
+ range = [textContents findString:string selectedRange:[self selectedRange] options:options wrap:YES];
+ if (range.length) {
+ [self setSelectedRange:range];
+ [self scrollRangeToVisible:range];
+ lastFindWasSuccessful = YES;
+ }
+ }
+
+ return lastFindWasSuccessful;
}
@end
--
WebKit Debian packaging
More information about the Pkg-webkit-commits
mailing list