2006-10-05 Vladimir Olexa <vladimir.olexa@gmail.com>
authorbdash <bdash@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Thu, 5 Oct 2006 21:53:59 +0000 (21:53 +0000)
committerbdash <bdash@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Thu, 5 Oct 2006 21:53:59 +0000 (21:53 +0000)
        Reviewed by Timothy.

        Bug: http://bugs.webkit.org/show_bug.cgi?id=9887
        Continuous spell checking now remembers user's setting. The change is applied globally,
        meaning, both TextArea and TextField are affected when either of them enables/disables
        spell checking.

        * WebView/WebPreferenceKeysPrivate.h: added a define for WebContinuousSpellCheckingEnabled
        * WebView/WebView.m:
        (-[WebViewPrivate init]): reads WebContinuousSpellCheckingEnabled from NSUserDefaults
        (-[WebView setContinuousSpellCheckingEnabled:]):
        (-[WebView isContinuousSpellCheckingEnabled]):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@16823 268f45cc-cd09-0410-ab3c-d52691b4dbfc

WebKit/ChangeLog
WebKit/WebView/WebPreferenceKeysPrivate.h
WebKit/WebView/WebView.m

index 397b0acfc4991f075feffc331df07c99543a40cc..8e3d6bc7d5779975d0aa1b3070a1a70fcca33c6c 100644 (file)
@@ -1,3 +1,18 @@
+2006-10-05  Vladimir Olexa  <vladimir.olexa@gmail.com>
+
+        Reviewed by Timothy.
+
+        Bug: http://bugs.webkit.org/show_bug.cgi?id=9887
+        Continuous spell checking now remembers user's setting. The change is applied globally,
+        meaning, both TextArea and TextField are affected when either of them enables/disables
+        spell checking. 
+
+        * WebView/WebPreferenceKeysPrivate.h: added a define for WebContinuousSpellCheckingEnabled
+        * WebView/WebView.m:
+        (-[WebViewPrivate init]): reads WebContinuousSpellCheckingEnabled from NSUserDefaults
+        (-[WebView setContinuousSpellCheckingEnabled:]):
+        (-[WebView isContinuousSpellCheckingEnabled]):
+
 2006-10-05  MorganL  <morganl.webkit@yahoo.com>
 
         Reviewed by Darin.
index 89e1d0374779fcc5da98ebc22568f4aebe804c58..c3ebbfd67b41e730ddd404470dbd378a15a425a7 100644 (file)
@@ -57,6 +57,7 @@
 #define WebKitBackForwardCacheExpirationIntervalKey @"WebKitBackForwardCacheExpirationIntervalKey"
 #define WebKitTabToLinksPreferenceKey @"WebKitTabToLinksPreferenceKey"
 #define WebKitPrivateBrowsingEnabledPreferenceKey @"WebKitPrivateBrowsingEnabled"
+#define WebContinuousSpellCheckingEnabled @"WebContinuousSpellCheckingEnabled"
 
 // These are private both because callers should be using the cover methods and because the
 // cover methods themselves are private.
index 102cb45cb055c52c268c2d168db5810fc515b996..a59ce809c0e2b6d468d1fa44c2548e54b812e1df 100644 (file)
@@ -79,6 +79,7 @@
 #import "WebPluginDatabase.h"
 #import "WebPolicyDelegate.h"
 #import "WebPreferencesPrivate.h"
+#import "WebPreferenceKeysPrivate.h"
 #import "WebResourceLoadDelegate.h"
 #import "WebScriptDebugDelegatePrivate.h"
 #import "WebScriptDebugServerPrivate.h"
@@ -292,9 +293,8 @@ macro(yankAndSelect) \
     BOOL hasSpellCheckerDocumentTag;
     WebNSInteger spellCheckerDocumentTag;
 
-    BOOL continuousSpellCheckingEnabled;
     BOOL smartInsertDeleteEnabled;
-    
+        
     BOOL dashboardBehaviorAlwaysSendMouseEventsToAllWindows;
     BOOL dashboardBehaviorAlwaysSendActiveNullEventsToPlugIns;
     BOOL dashboardBehaviorAlwaysAcceptsFirstMouse;
@@ -369,6 +369,9 @@ NSString *_WebMainFrameDocumentKey =    @"mainFrameDocument";
 @implementation WebProgressItem
 @end
 
+
+static BOOL continuousSpellCheckingEnabled;
+
 @implementation WebViewPrivate
 
 - init 
@@ -385,6 +388,7 @@ NSString *_WebMainFrameDocumentKey =    @"mainFrameDocument";
     dashboardBehaviorAllowWheelScrolling = YES;
     tabKeyCyclesThroughElements = YES;
     shouldCloseWithWindow = objc_collecting_enabled();
+    continuousSpellCheckingEnabled = [[NSUserDefaults standardUserDefaults] boolForKey:WebContinuousSpellCheckingEnabled];
 
     return self;
 }
@@ -3163,7 +3167,11 @@ static WebFrame *incrementFrame(WebFrame *curr, BOOL forward, BOOL wrapFlag)
 
 - (void)setContinuousSpellCheckingEnabled:(BOOL)flag
 {
-    _private->continuousSpellCheckingEnabled = flag;
+    if (continuousSpellCheckingEnabled != flag) {
+        continuousSpellCheckingEnabled = flag;
+        [[NSUserDefaults standardUserDefaults] setBool:continuousSpellCheckingEnabled forKey:WebContinuousSpellCheckingEnabled];
+    }
+    
     if ([self isContinuousSpellCheckingEnabled]) {
         [[self class] _preflightSpellChecker];
     } else {
@@ -3173,7 +3181,7 @@ static WebFrame *incrementFrame(WebFrame *curr, BOOL forward, BOOL wrapFlag)
 
 - (BOOL)isContinuousSpellCheckingEnabled
 {
-    return _private->continuousSpellCheckingEnabled && [self _continuousCheckingAllowed];
+    return (continuousSpellCheckingEnabled && [self _continuousCheckingAllowed]);
 }
 
 - (WebNSInteger)spellCheckerDocumentTag