[SCM] WebKit Debian packaging branch, debian/unstable, updated. debian/1.1.15-1-40151-g37bb677

darin darin at 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Sat Sep 26 08:23:58 UTC 2009


The following commit has been merged in the debian/unstable branch:
commit 12af80ebf8c229b3783c0ae8bc229d59979c7772
Author: darin <darin at 268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date:   Tue Jan 27 01:37:56 2004 +0000

            Reviewed by Maciej.
    
            - fixed <rdar://problem/3529120>: text-align style property not respected on input fields
    
            * khtml/rendering/render_form.h: Added textAlignment function.
            * khtml/rendering/render_form.cpp:
            (RenderFormElement::textAlignment): Added. Converts style alignment to Qt alignment.
            (RenderLineEdit::setStyle): Call textAlignment intead of using direction from style.
            (RenderTextArea::setStyle): Call textAlignment intead of using direction from style.
    
            * kwq/KWQLineEdit.h: Added KWQNSTextAlignmentForAlignmentFlags function.
            * kwq/KWQLineEdit.mm:
            (QLineEdit::setAlignment): Use KWQNSTextAlignmentForAlignmentFlags instead of code
            that handles only left and right alignment.
            (KWQNSTextAlignmentForAlignmentFlags): Added. Converts Qt alignment to NS alignment.
            * kwq/KWQTextEdit.mm: (QTextEdit::setAlignment): Use KWQNSTextAlignmentForAlignmentFlags
            instead of code that handles only left and right alignment.
    
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@5984 268f45cc-cd09-0410-ab3c-d52691b4dbfc

diff --git a/WebCore/ChangeLog-2005-08-23 b/WebCore/ChangeLog-2005-08-23
index 7dbfea4..1c1be6c 100644
--- a/WebCore/ChangeLog-2005-08-23
+++ b/WebCore/ChangeLog-2005-08-23
@@ -1,5 +1,25 @@
 2004-01-26  Darin Adler  <darin at apple.com>
 
+        Reviewed by Maciej.
+
+        - fixed <rdar://problem/3529120>: text-align style property not respected on input fields
+
+        * khtml/rendering/render_form.h: Added textAlignment function.
+        * khtml/rendering/render_form.cpp:
+        (RenderFormElement::textAlignment): Added. Converts style alignment to Qt alignment.
+        (RenderLineEdit::setStyle): Call textAlignment intead of using direction from style.
+        (RenderTextArea::setStyle): Call textAlignment intead of using direction from style.
+
+        * kwq/KWQLineEdit.h: Added KWQNSTextAlignmentForAlignmentFlags function.
+        * kwq/KWQLineEdit.mm:
+        (QLineEdit::setAlignment): Use KWQNSTextAlignmentForAlignmentFlags instead of code
+        that handles only left and right alignment.
+        (KWQNSTextAlignmentForAlignmentFlags): Added. Converts Qt alignment to NS alignment.
+        * kwq/KWQTextEdit.mm: (QTextEdit::setAlignment): Use KWQNSTextAlignmentForAlignmentFlags
+        instead of code that handles only left and right alignment.
+
+2004-01-26  Darin Adler  <darin at apple.com>
+
         Reviewed by Dave.
 
         - fixed <rdar://problem/3477707>: background image with apostrophe in name missing at http://www.nbc.com
diff --git a/WebCore/khtml/rendering/render_form.cpp b/WebCore/khtml/rendering/render_form.cpp
index 07f0bd0..06dfd00 100644
--- a/WebCore/khtml/rendering/render_form.cpp
+++ b/WebCore/khtml/rendering/render_form.cpp
@@ -202,6 +202,27 @@ void RenderFormElement::slotClicked()
     deref(arena);
 }
 
+Qt::AlignmentFlags RenderFormElement::textAlignment() const
+{
+    switch (style()->textAlign()) {
+        case LEFT:
+        case KHTML_LEFT:
+            return AlignLeft;
+        case RIGHT:
+        case KHTML_RIGHT:
+            return AlignRight;
+        case CENTER:
+        case KHTML_CENTER:
+            return AlignHCenter;
+        case JUSTIFY:
+            // Just fall into the auto code for justify.
+        case TAAUTO:
+            return style()->direction() == RTL ? AlignRight : AlignLeft;
+    }
+    assert(false); // Should never be reached.
+    return AlignLeft;
+}
+
 #if APPLE_CHANGES
 
 void RenderFormElement::addIntrinsicMarginsIfAllowed(RenderStyle* _style)
@@ -595,8 +616,7 @@ void RenderLineEdit::setStyle(RenderStyle *s)
     RenderFormElement::setStyle(s);
 
     KLineEdit *w = widget();
-
-    w->setAlignment(style()->direction() == RTL ? Qt::AlignRight : Qt::AlignLeft);
+    w->setAlignment(textAlignment());
 #if APPLE_CHANGES
     w->setWritingDirection(style()->direction() == RTL ? QPainter::RTL : QPainter::LTR);
 #endif
@@ -1478,7 +1498,7 @@ void RenderTextArea::setStyle(RenderStyle *s)
     RenderFormElement::setStyle(s);
 
     TextAreaWidget* w = static_cast<TextAreaWidget*>(m_widget);
-    w->setAlignment(style()->direction() == RTL ? Qt::AlignRight : Qt::AlignLeft);
+    w->setAlignment(textAlignment());
 #if APPLE_CHANGES
     w->setWritingDirection(style()->direction() == RTL ? QPainter::RTL : QPainter::LTR);
 #endif
diff --git a/WebCore/khtml/rendering/render_form.h b/WebCore/khtml/rendering/render_form.h
index 0a85b17..1bf1faf 100644
--- a/WebCore/khtml/rendering/render_form.h
+++ b/WebCore/khtml/rendering/render_form.h
@@ -110,6 +110,8 @@ protected:
     virtual bool isRenderButton() const { return false; }
     virtual bool isEditable() const { return false; }
 
+    AlignmentFlags textAlignment() const;
+
     QPoint m_mousePos;
     int m_state;
     int m_button;
diff --git a/WebCore/kwq/KWQLineEdit.h b/WebCore/kwq/KWQLineEdit.h
index 0c67fdf..39fb4df 100644
--- a/WebCore/kwq/KWQLineEdit.h
+++ b/WebCore/kwq/KWQLineEdit.h
@@ -78,4 +78,8 @@ private:
     KWQSignal m_clicked;
 };
 
+#ifdef __OBJC__
+NSTextAlignment KWQNSTextAlignmentForAlignmentFlags(Qt::AlignmentFlags);
+#endif
+
 #endif
diff --git a/WebCore/kwq/KWQLineEdit.mm b/WebCore/kwq/KWQLineEdit.mm
index aa9768f..f3871b2 100644
--- a/WebCore/kwq/KWQLineEdit.mm
+++ b/WebCore/kwq/KWQLineEdit.mm
@@ -230,9 +230,8 @@ void QLineEdit::setAlignment(AlignmentFlags alignment)
 {
     KWQ_BLOCK_EXCEPTIONS;
 
-    ASSERT(alignment == AlignLeft || alignment == AlignRight);
     KWQTextField *textField = getView();
-    [textField setAlignment:(alignment == AlignRight ? NSRightTextAlignment : NSLeftTextAlignment)];
+    [textField setAlignment:KWQNSTextAlignmentForAlignmentFlags(alignment)];
 
     KWQ_UNBLOCK_EXCEPTIONS;
 }
@@ -251,3 +250,17 @@ bool QLineEdit::checksDescendantsForFocus() const
 {
     return true;
 }
+
+NSTextAlignment KWQNSTextAlignmentForAlignmentFlags(Qt::AlignmentFlags a)
+{
+    switch (a) {
+        default:
+            ERROR("unsupported alignment");
+        case Qt::AlignLeft:
+            return NSLeftTextAlignment;
+        case Qt::AlignRight:
+            return NSRightTextAlignment;
+        case Qt::AlignHCenter:
+            return NSCenterTextAlignment;
+    }
+}
diff --git a/WebCore/kwq/KWQTextEdit.mm b/WebCore/kwq/KWQTextEdit.mm
index dd73930..fd9cecf 100644
--- a/WebCore/kwq/KWQTextEdit.mm
+++ b/WebCore/kwq/KWQTextEdit.mm
@@ -27,6 +27,7 @@
 
 #import "KWQAssertions.h"
 #import "KWQExceptions.h"
+#import "KWQLineEdit.h"
 #import "KWQTextArea.h"
 
 QTextEdit::QTextEdit(QWidget *parent)
@@ -188,10 +189,8 @@ void QTextEdit::setAlignment(AlignmentFlags alignment)
 {
     KWQ_BLOCK_EXCEPTIONS;
 
-    ASSERT(alignment == AlignLeft || alignment == AlignRight);
     KWQTextArea *textArea = getView();
-
-    [textArea setAlignment:(alignment == AlignRight ? NSRightTextAlignment : NSLeftTextAlignment)];
+    [textArea setAlignment:KWQNSTextAlignmentForAlignmentFlags(alignment)];
 
     KWQ_UNBLOCK_EXCEPTIONS;
 }

-- 
WebKit Debian packaging



More information about the Pkg-webkit-commits mailing list