Reviewed by Ken.
authorsullivan <sullivan@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Fri, 27 Aug 2004 22:39:39 +0000 (22:39 +0000)
committersullivan <sullivan@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Fri, 27 Aug 2004 22:39:39 +0000 (22:39 +0000)
        Tweaked option-tab handling to match good suggestion from Tim Omernick of OmniWeb

        * kwq/KWQTextArea.mm:
        removed override of textDidChange:
        (-[KWQTextAreaTextView keyDown:]):
        moved option-tab handling that was in textDidChange to here. Rearranged existing code
        a little for clarity.

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

WebCore/ChangeLog-2005-08-23
WebCore/kwq/KWQTextArea.mm

index d061dc69ac940abfbc16b965c24d3639691c2967..c5e722d7fd8429119f75504e378f90004d65efbd 100644 (file)
@@ -1,3 +1,15 @@
+2004-08-27  John Sullivan  <sullivan@apple.com>
+
+        Reviewed by Ken.
+        
+        Tweaked option-tab handling to match good suggestion from Tim Omernick of OmniWeb
+
+        * kwq/KWQTextArea.mm:
+        removed override of textDidChange:
+        (-[KWQTextAreaTextView keyDown:]):
+        moved option-tab handling that was in textDidChange to here. Rearranged existing code
+        a little for clarity.
+
 2004-08-27  Adele Amchan  <adele@apple.com>
 
         Reviewed by Darin.
index c659dd74593502f7a6ce00c76e8de71df9726ff5..52fe1a508176613b7e8955881468c6eec2ce0100 100644 (file)
@@ -166,13 +166,6 @@ const float LargeNumberForText = 1.0e7;
     [super dealloc];
 }
 
-- (void)textDidChange:(NSNotification *)aNotification
-{
-    if (!KWQKHTMLPart::handleKeyboardOptionTabInView(self)) {
-        widget->textChanged();
-    }
-}
-
 - (void)setWordWrap:(BOOL)f
 {
     if (f != wrap) {
@@ -666,13 +659,28 @@ static NSString *WebContinuousSpellCheckingEnabled = @"WebContinuousSpellCheckin
 
 - (void)keyDown:(NSEvent *)event
 {
-    if (disabled)
+    if (disabled) {
+        return;
+    }
+    
+    // Don't mess with text marked by an input method
+    if ([[NSInputManager currentInputManager] hasMarkedText]) {
+        [super keyDown:event];
         return;
+    }
+
     WebCoreBridge *bridge = KWQKHTMLPart::bridgeForWidget(widget);
-    if ([[NSInputManager currentInputManager] hasMarkedText] || 
-       ![bridge interceptKeyEvent:event toView:self]) {
-       [super keyDown:event];
+    if ([bridge interceptKeyEvent:event toView:self]) {
+        return;
     }
+    
+    // Don't let option-tab insert a character since we use it for
+    // tabbing between links
+    if (KWQKHTMLPart::handleKeyboardOptionTabInView(self)) {
+        return;
+    }
+    
+    [super keyDown:event];
 }
 
 - (void)keyUp:(NSEvent *)event